/* ============================================================
ATUKASA SUSHI — App principal (Rail layout)
============================================================ */
const { useState, useEffect, useRef, useMemo } = React;
const REVIEWS_DATA = [
{ name: "María A.", rating: "★★★★★", text: "El mejor sushi de San Cristóbal, sin discusión. El crispy chicken lo pedimos cada vez que vamos.", time: "Hace 2 sem." },
{ name: "Carlos M.", rating: "★★★★★", text: "Nunca pensé encontrar sushi así aquí. El tempura roll con queso Philadelphia te cambia la vida.", time: "Hace 1 mes" },
{ name: "Ana L.", rating: "★★★★★", text: "Lo mejor que tiene San Cristóbal. Los dumplings son perfectos. Volvemos siempre.", time: "Hace 3 sem." },
{ name: "Lucia P.", rating: "★★★★★", text: "Primera vez comiendo sushi y ahora soy adicta. El crispy con plátano maduro es increíble.", time: "Hace 1 mes" },
{ name: "Roberto F.", rating: "★★★★★", text: "He comido en la capital y el de Atukasa está igual de bueno. Calidad real en San Cristóbal.", time: "Hace 2 m." },
{ name: "Diana V.", rating: "★★★★★", text: "El delivery siempre a tiempo y el sushi en perfectas condiciones. Muy recomendado.", time: "Hace 1 sem." },
];
function ReviewsTicker() {
const all = [...REVIEWS_DATA, ...REVIEWS_DATA];
return (
{all.map((r, i) => (
{r.name.charAt(0)}
{r.name}
{r.rating}
{r.time}
{r.text}
))}
);
}
/* ---------- Carrusel de banners promocionales ----------
Reutiliza las mismas clases .promobanner: cada banner se ve igual que antes.
Para agregar o quitar un banner, edita PROMO_SLIDES. */
const PROMO_SLIDES = [
{ img: "/wp-content/uploads/atukasa/pollo-teriyaki-banner.webp", kicker: "1/2 Libra del Mejor Pollo", title: "Teriyaki", script: "Solo aquí." },
{ img: "/wp-content/uploads/atukasa/ChatGPT Image 7 jun 2026, 21_01_52.webp", kicker: "Los miércoles son de todos", title: "Empanizados", script: "gratis." },
];
function PromoCarousel() {
const [idx, setIdx] = React.useState(0);
const touchX = React.useRef(null);
const n = PROMO_SLIDES.length;
React.useEffect(() => {
if (n < 2) return;
const t = setTimeout(() => setIdx((i) => (i + 1) % n), 5000);
return () => clearTimeout(t);
}, [idx, n]);
const go = (d) => setIdx((i) => (i + d + n) % n);
return (