// ====================== HERO SLIDER ====================== const SLIDES = [ { pre: "SOLUÇÕES COMPLETAS", hi: "PARA SUA EMPRESA", sub: "Copa, Limpeza e Escritório é na JGF!", cta: "VER PRODUTOS", bg: "assets/hero/fundo.jpg", img: "assets/hero/produtos.png", feats: [ { icon: IconBox, t: "TUDO EM", s: "UM SÓ LUGAR" }, { icon: IconMedal, t: "PRODUTOS DE", s: "QUALIDADE" }, { icon: IconCard, t: "FATURAMENTO", s: "PARA EMPRESAS" }, ], slot: "Foto dos produtos: galão Audax 5L, frasco 1L, spray, copos, café Santa Clara, esponjas e panos sobre bancada de madeira", }, { pre: "COPA E COZINHA", hi: "ABASTECIDA", sub: "Café, açúcar, copos, talheres e higiene para o dia a dia da empresa.", cta: "VER COPA E COZINHA", href: "Copa e Cozinha.html", bg: "assets/hero/copa-banner.png", feats: [ { icon: IconBox, t: "CAFÉ E", s: "AÇÚCAR" }, { icon: IconBottle, t: "COPOS E", s: "TALHERES" }, { icon: IconPaperRoll, t: "HIGIENE E", s: "PAPEL" }, ], slot: "Foto da linha de copa e cozinha", }, { pre: "ABASTEÇA SEU", hi: "ESCRITÓRIO", sub: "Papelaria, informática e materiais com pedido mínimo facilitado.", cta: "VER ESCRITÓRIO", href: "Materiais de Escritorio.html", bg: "assets/hero/escritorio-banner.png", feats: [ { icon: IconPen, t: "PAPELARIA", s: "COMPLETA" }, { icon: IconDevice, t: "INFORMÁTICA", s: "E SUPRIMENTOS" }, { icon: IconMedal, t: "GRANDES", s: "MARCAS" }, ], slot: "Foto de materiais de escritório: porta-canetas, papéis, canetas e organizadores", }, { pre: "LINHA DE LIMPEZA", hi: "PROFISSIONAL", sub: "Álcool 70%, desinfetantes e muito mais com preço de distribuidor.", cta: "VER LIMPEZA", href: "Produtos de Limpeza.html", bg: "assets/hero/limpeza-banner.png", feats: [ { icon: IconSpray, t: "ÁLCOOL 70%", s: "E DESINFETANTES" }, { icon: IconGlove, t: "EPIs E", s: "ACESSÓRIOS" }, { icon: IconTag, t: "MELHORES", s: "PREÇOS" }, ], slot: "Foto da linha Audax: galões e frascos de álcool 70% e desinfetantes", }, ]; function Hero({ onCta }) { const [i, setI] = React.useState(0); const [paused, setPaused] = React.useState(false); const n = SLIDES.length; React.useEffect(() => { if (paused) return; const t = setInterval(() => setI((p) => (p + 1) % n), 5500); return () => clearInterval(t); }, [paused, n]); const go = (d) => setI((p) => (p + d + n) % n); const s = SLIDES[i]; const arrow = { position: "absolute", top: "50%", transform: "translateY(-50%)", zIndex: 20, width: 44, height: 44, borderRadius: "50%", background: "rgba(15,29,57,.55)", color: "#fff", display: "flex", alignItems: "center", justifyContent: "center", backdropFilter: "blur(3px)", transition: "background .15s" }; return (
setPaused(true)} onMouseLeave={() => setPaused(false)} className="jgf-hero" style={{ position: "relative", height: 432, overflow: "hidden", background: "var(--navy)" }}> {/* full-bleed background (per-slide banner) */}
{/* diagonal navy overlay (left) */}
{/* PRODUCT IMAGE (cutout) — only on slides that provide one */} {s.img && ( Produtos JGF: álcool, copa, limpeza e escritório )} {/* TEXT */}

{s.pre} {s.hi}

{s.sub}

{s.feats.map((f, k) => (
{f.t}
{f.s}
))}
{/* PRODUCT IMAGE (above) */}
{/* arrows */} {/* dots */}
{SLIDES.map((_, k) => (
); } Object.assign(window, { Hero });