"use client"; import React from "react"; import { motion } from "framer-motion"; // ESSENCIAL: Evita erros de referência import { Shield, Zap, Sparkles, Heart, CheckCircle } from "lucide-react"; import { cn } from "@/lib/utils"; // Definição de Tipos para garantir integridade no TS interface Feature { icon: React.ElementType; title: string; description: string; color: string; bgColor: string; iconBg: string; benefit: string; } const features: Feature[] = [ { icon: Shield, title: "Dados da Comunidade", description: "Informações fornecidas pela Open Food Facts, a maior base colaborativa global mantida por voluntários.", color: "text-blue-600 dark:text-blue-400", bgColor: "bg-blue-50 dark:bg-blue-900/20", iconBg: "bg-blue-100 dark:bg-blue-900/40", benefit: "Base colaborativa mundial", }, { icon: Zap, title: "Atualização Contínua", description: "Novos produtos e fórmulas atualizados a cada minuto pela comunidade. Dados sempre frescos no seu dispositivo.", color: "text-green-600 dark:text-green-400", bgColor: "bg-green-50 dark:bg-green-900/20", iconBg: "bg-green-100 dark:bg-green-900/40", benefit: "Atualizado em tempo real", }, { icon: Sparkles, title: "Velocidade de Resposta", description: "Interface otimizada para decisões rápidas. Escaneie e obtenha o diagnóstico nutricional em poucos segundos.", color: "text-purple-600 dark:text-purple-400", bgColor: "bg-purple-50 dark:bg-purple-900/20", iconBg: "bg-purple-100 dark:bg-purple-900/40", benefit: "Resultados em <10s", }, { icon: Heart, title: "Filosofia Open Source", description: "O NutriScan é e sempre será gratuito. Conhecimento sobre saúde deve ser um direito universal.", color: "text-orange-600 dark:text-orange-400", bgColor: "bg-orange-50 dark:bg-orange-900/20", iconBg: "bg-orange-100 dark:bg-orange-900/40", benefit: "Gratuito para sempre", }, ]; // Variantes de animação para o container pai (Stagger effect) const containerVariants = { hidden: { opacity: 0 }, visible: { opacity: 1, transition: { staggerChildren: 0.15 }, }, }; // Variantes para cada card individual const cardVariants = { hidden: { y: 20, opacity: 0 }, visible: { y: 0, opacity: 1, transition: { type: "spring", stiffness: 100 }, }, }; export function Features() { return (
{/* Background Decor: Sutil gradiente para profundidade */}
{/* Header com Motion */}

Por que confiar no NutriScan

Engenharia de dados a serviço da sua saúde, com transparência total e zero custo.

{/* Features Grid com Stagger */} {features.map((feature, index) => ( {/* Icon Container */}
{/* Text Content */}

{feature.title}

{feature.description}

{/* Benefit Badge */}
{feature.benefit}
))}
); }