/* ============================================================ GlowMerald — Homepage Banner carousel + credibility & curiosity sections ============================================================ */ const { useState:useStateH, useEffect, useRef:useRefH } = React; /* ---- HERO: image-only banner carousel (smooth, seamless loop) ---- */ const BANNERS = [ { img:'assets/banner-serum.png', to:'serum', pad:'50%', alt:'GlowMerald 6in1 Phyto Complex Serum — Six Actives, One Serum' }, { img:'assets/banner-mask.png', to:'mask', pad:'56.25%', alt:'GlowMerald Luminous Skin Indulgence Hydrogel Mask' }, ]; function Hero(){ const { navigate } = useApp(); const [i,setI] = useStateH(0); const [paused,setPaused] = useStateH(false); const n = BANNERS.length; const go = (idx)=> setI((idx+n)%n); useEffect(()=>{ if(paused) return; const t = setInterval(()=> setI(p=>(p+1)%n), 5200); return ()=> clearInterval(t); },[n,paused]); const active = BANNERS[i]; return (
setPaused(true)} onMouseLeave={()=>setPaused(false)}> {BANNERS.map((b,idx)=>( navigate('product',b.to)} role="link" aria-label={b.alt}> {b.alt} ))}
{BANNERS.map((_,idx)=>( ))}
); } /* ---- TRUST MARQUEE (seamless infinite loop) ---- */ const TRUST_ITEMS = [ ['shield','Terdaftar BPOM'], ['leaf','Cruelty-Free'], ['spark','Tanpa Paraben & Sulfat'], ['gem','Made in Indonesia'], ['check','Formula Bersih'], ]; function TrustMarquee(){ const row = (
{TRUST_ITEMS.map(([ic,t],i)=>( {t} ))}
); return (
{row}{row}
); } /* ---- PRODUCT VIDEO SHOWCASE (tabs · video left · explanation right) ---- */ function ProductShowcase(){ const { navigate, addToCart, toast } = useApp(); const tabs = [ { item:findItem('serum'), tab:'6-in-1 Serum', cap:'Beauty shot · 6-in-1 Phyto Complex Serum' }, { item:findItem('mask'), tab:'Hydrogel Mask', cap:'Beauty shot · Luminous Hydrogel Mask' }, ]; const [active,setActive] = useStateH(0); const { item, cap } = tabs[active]; const switchTab=(i)=>{ setActive(i); }; // p.showcaseVideo can be added later (real beauty-shot video); falls back to placeholder const videoSrc = item.showcaseVideo; return (
{tabs.map((t,i)=>( ))}
{videoSrc ? ( ) : ( )}
{item.type}

{item.name}

{item.tagline}

{item.desc}

    {item.benefits.map((b,i)=>(
  • {b}
  • ))}
navigate('product',item.id)}>Pelajari Selengkapnya
); } /* ---- ABOUT BAND (intrigue: brand origin) ---- */ function AboutBand(){ const { navigate } = useApp(); return (
Est. 2026
Jakarta
Brand Baru · Cerita Kami

Lahir dari Emerald.

Namanya berasal dari Glow dan Emerald — batu permata hijau yang melambangkan ketenangan, kemurnian, dan keseimbangan. Sebuah filosofi yang kami tuangkan ke dalam setiap formula.

Kami percaya setiap orang berhak bersinar dengan caranya sendiri. Inilah awal dari sebuah ritual yang baru.

); } /* ---- FEATURED COLLECTION ---- */ function FeaturedCard({ item }){ const { navigate, addToCart } = useApp(); const [added,setAdded] = useStateH(false); const add=(e)=>{ e.stopPropagation(); addToCart(item.id); setAdded(true); setTimeout(()=>setAdded(false),1200); }; return (
navigate('product',item.id)}> {item.bestSeller && Best Seller}
navigate('product',item.id)}>{item.name}
{item.tagline || item.sub}
{formatRp(item.price)}
); } function Featured(){ const { navigate } = useApp(); const items=[findItem('serum'), findItem('mask'), findItem('starter-duo'), findItem('double-glow')]; return (
Signature Collection

Koleksi pilihan kami

navigate('shop')}>Lihat Semua Produk
{items.map(p=>)}
); } /* ---- INGREDIENT SPOTLIGHT (curiosity + credibility) ---- */ function IngredientSpotlight(){ const { navigate } = useApp(); const six = PRODUCTS[0].ingredients; return (
6 Kekuatan Aktif Pilihan

Apa yang membuatnya bekerja.

Phyto Complex Technology memadukan enam bahan aktif yang bekerja sinergis dalam satu tetes. Inilah rahasia di balik glow yang terjaga.

{six.map((name,i)=>(
{String(i+1).padStart(2,'0')}
{name}

{INGREDIENTS[name]}

))}
); } /* ---- SHOPPING CONFIDENCE (slim strip, distinct from pillar grid) ---- */ function CredNumbers(){ const items=[ { ic:'truck', t:'Pengiriman ke Seluruh Indonesia' }, { ic:'gem', t:'Pembayaran Aman & Fleksibel' }, { ic:'shield', t:'Produk Resmi Terdaftar BPOM' }, { ic:'check', t:'Kemasan Aman Terlindungi' }, ]; return (
{items.map((it,i)=>(
{it.t}
))}
); } /* ---- ROUTINE BAND ---- */ function RoutineBand(){ const { navigate } = useApp(); const checks=['Dipersonalisasi untuk kebutuhan kulitmu','Diformulasikan dengan bahan aktif pilihan','Mendukung kulit sehat dari dalam']; return (

Bangun ritual
kulitmu yang ideal.

Temukan rangkaian yang sesuai dengan kebutuhan kulitmu — sederhana, cerdas, dan terasa premium.

    {checks.map((c,i)=>(
  • {c}
  • ))}
); } /* ---- SOCIAL PROOF ---- */ function SocialProof(){ return (
{TESTIMONIALS.map((t,i)=>(

“{t.quote}”

{t.name}
{t.city} · {t.concern}
))}

Before & After

Hasil bertahap dengan pemakaian rutin.

{BEFORE_AFTER.map((ba,i)=>(
{ba.stages.map((s,j)=>
)}
{ba.name}{ba.concern}
))}
); } /* ---- INSIGHT TEASER ---- */ function InsightTeaser(){ const { navigate } = useApp(); return (
Beauty Insight

Pengetahuan sebelum perawatan

navigate('insight')}>Lihat Semua
{ARTICLES.slice(0,3).map(a=>)}
); } /* ---- NEWSLETTER / BE THE FIRST (intrigue) ---- */ function Newsletter(){ const { toast } = useApp(); const [email,setEmail] = useStateH(''); const [done,setDone] = useStateH(false); const submit=(e)=>{ e.preventDefault(); if(!email.trim()||!email.includes('@')){ toast('Masukkan email yang valid'); return; } setDone(true); toast('Terima kasih — kamu termasuk yang pertama','spark'); }; return (
Akses Awal

Jadilah yang pertama.

Sebagai brand baru, kami menyiapkan sesuatu yang istimewa. Daftar untuk penawaran perdana, peluncuran produk, dan rahasia ritual sebelum siapa pun.

{done ? (
Kamu sudah terdaftar. Sampai jumpa di inbox.
) : (
setEmail(e.target.value)} placeholder="Alamat email kamu"/>
)}

Tanpa spam. Berhenti kapan saja.

); } /* ---- UGC ---- */ function UGCStrip(){ return (

#GlowMerald · @glowmeraldofficial

{UGC.map((u,i)=>(
{u}
))}
); } function HomePage(){ return (
); } Object.assign(window, { HomePage, Hero });