import Image from "next/image"; import Link from "next/link"; import { ArrowUpRight } from "lucide-react"; import type { Category } from "@/lib/headless/types"; import { cn } from "@/lib/utils"; type TileContent = { subtitle: string; image?: string; color: string }; // No hay fotografia real todavia para las 6 categorias raiz de la taxonomia // (ver ADR 0005) -- solo se mapean imagen/subtitulo para las que ya tienen // un asset en public/images/categories/. Las demas caen al tile de solo // gradiente en vez de mostrar una imagen que no les corresponde. // Fondos pastel solidos (patron Walmart-inspirado, ADR 0008 sub-fase 4) // en vez de los gradientes saturados originales del esquema arcoiris -- // un tono pastel distinto por categoria, no una escala de marca (serian // todos casi iguales), pero coordinados en la misma temperatura suave. const tileContent: Record = { juguetes: { subtitle: "Personajes que inspiran", image: "/images/categories/figuras.webp", color: "bg-amber-100" }, "mochilas-y-morrales": { subtitle: "Estilo para cada aventura", image: "/images/categories/mochilas.webp", color: "bg-sky-100" }, "bebes-y-primera-infancia": { subtitle: "Primeros descubrimientos", color: "bg-rose-100" }, educativos: { subtitle: "Aprender jugando", color: "bg-emerald-100" }, "accion-y-aventura": { subtitle: "Para explorar sin límites", color: "bg-orange-100" }, variedades: { subtitle: "Un poco de todo", color: "bg-violet-100" }, }; const defaultTile: TileContent = { subtitle: "Explora esta categoría", color: "bg-slate-100" }; // Tile individual reutilizado tanto por la seccion de mundos del home // como por el grid del catalogo (tiles promocionales intercalados, // ADR 0005 seccion 3, patron Walmart) -- mismo primitivo visual, no un // componente nuevo. export function PromoTile({ category, className = "" }: { category: Category; className?: string }) { const content = tileContent[category.handle] ?? defaultTile; return ( {content.image && ( <> {category.name}
)}

{category.name}

{content.subtitle}

); } export function CategoryTiles({ categories }: { categories: Category[] }) { const roots = categories.filter((category) => !category.parentId); if (roots.length === 0) return null; return (
Explora por mundos

Encuentra tu próximo tesoro

Ver todo →
{roots.map((category) => ( ))}
); }