Skip to main content

Tarjeta de Información Nutricional

Este componente React muestra una tarjeta visual con la información nutricional de un alimento, incluyendo su nombre, calorías (si están disponibles) y una descripción detallada generada por IA.


🔍 Ubicación

src/components/nutriscan/NutritionCard.tsx


📦 Dependencias utilizadas

import React from 'react';
import { UtensilsCrossed, Info, Lightbulb } from 'lucide-react';
  • React: Para renderizar el componente funcional.

  • lucide-react: Biblioteca de íconos usada para mejorar la experiencia visual:

    • UtensilsCrossed: Ícono decorativo del alimento.
    • Info: Encabezado de sección de nutrición.
    • Lightbulb: Nota informativa.

🧩 Propiedades del componente

interface NutritionData {
food: string;
calories?: number;
nutritionInfo: string;
}

interface NutritionCardProps {
data: NutritionData;
}
PropiedadTipoDescripción
dataNutritionDataObjeto que contiene la información a mostrar sobre el alimento.

Estructura del objeto data:

CampoTipoRequeridoDescripción
foodstringNombre del alimento.
caloriesnumberCalorías por porción, si están disponibles.
nutritionInfostringTexto descriptivo con la información nutricional del alimento.

🧠 Lógica del componente

  • El componente es totalmente presentacional.
  • Si calories no está definido, simplemente omite esa sección.
  • El contenido de nutritionInfo se muestra en un contenedor estilizado.
  • Se incluye una nota final que advierte sobre la naturaleza estimada de la información (generada por IA).

🖼️ Estructura visual

  • Encabezado (fondo con degradado verde/amarillo):

    • Ícono de alimento.
    • Nombre del alimento en grande.
  • Cuerpo:

    • Calorías (si existen), en recuadro amarillo suave.
    • Sección con el texto nutricional detallado.
  • Nota inferior:

    • Mensaje de advertencia con ícono, sobre la precisión y fuente de los datos.

💡 Ejemplo de uso

<NutritionCard
data={{
food: 'Ensalada César',
calories: 220,
nutritionInfo:
'La Ensalada César es rica en grasas saludables, gracias al aceite de oliva y el queso parmesano. Contiene proteínas por el pollo y aporta fibra por la lechuga.',
}}
/>

📝 Notas adicionales

  • Este componente forma parte del flujo de NutriScan, que permite al usuario visualizar la información nutricional luego de escanear o ingresar manualmente un alimento.
  • Puede ser reutilizado fácilmente en otras vistas donde se desee presentar datos nutricionales con estilo consistente.
  • La fuente de datos (nutritionInfo) debería venir validada o preprocesada desde el backend o el motor de IA.