// src/app/page.tsx (Página principal do seu e-commerce) import { useGetProducts } from '@/hooks/useGetProducts'; import { ProductCard } from '@/components/ProductCard'; export default function Home() { // 1. Chamamos o "Garçom Inteligente" (TanStack Query) const { data: products, isLoading, isError, error } = useGetProducts(); // 2. ⚡ [PERFORMANCE/INP]: Tratamento de estados da UI (early returns) if (isLoading) { // Exibimos um skeleton loading ou um spinner enquanto espera. // Isso é crucial para o LCP (Largest Contentful Paint). return

Carregando produtos...

; } if (isError) { // Tratamento de erro robusto. O erro é pego pelo Zod ou pela rede. // Exibe a mensagem de erro para debug, mas em produção, exiba algo amigável. return

Erro ao carregar os produtos: {error.message}

; } // 3. Renderiza a lista de produtos (Vitrine) return (

Nossos Produtos

{products?.map((product) => ( // O key é importante para performance do React. ))}
); }