/* Sections — BOTTOM Team · Gallery · Testimonials · Blog · Newsletter · Contact · Footer */ // ───────── TEAM ───────── function Team() { const t = useT(); const { lang } = useLang(); const owner = GH_DATA.team.find((m) => m.owner); const rest = GH_DATA.team.filter((m) => !m.owner); return (
{t('team_eyebrow')}

{t('team_title')} {t('team_title_em')}

{/* Owner highlight */}
{owner.name}
{owner[`role_${lang}`]}

{owner.name}

{owner[`bio_${lang}`]}

{/* Team grid */}
{rest.map((m, i) => (
{m.name}

{m.name}

{m[`role_${lang}`]}
))}
); } // ───────── GALLERY ───────── function Gallery() { const t = useT(); const { lang } = useLang(); // 6 photos — masonry pattern const spans = [ { col: 2, row: 2 }, // salon big { col: 1, row: 1 }, { col: 1, row: 2 }, // facial room tall { col: 1, row: 1 }, { col: 1, row: 1 }, { col: 2, row: 1 }, // soraya wide ]; return ( ); } // ───────── TESTIMONIALS ───────── function Testimonials() { const t = useT(); const { lang } = useLang(); const [idx, setIdx] = React.useState(0); const items = GH_DATA.testimonials; React.useEffect(() => { const id = setInterval(() => setIdx((i) => (i + 1) % items.length), 7000); return () => clearInterval(id); }, [items.length]); const current = items[idx]; return (
{t('test_eyebrow')}

{t('test_title')} {t('test_title_em')}

"
{'★'.repeat(current.stars)}

{current[lang]}

— {current.name}
{current.staff && (
{current[`service_${lang}`]} · con {current.staff}
)}
{items.map((_, i) => (
); } // ───────── BLOG ───────── function Blog() { const t = useT(); const { lang } = useLang(); return (
{t('blog_eyebrow')}

{t('blog_title')} {t('blog_title_em')}

{t('blog_all')}
{GH_DATA.blog.map((b, i) => (
{b[`cat_${lang}`]}
{b[`cat_${lang}`]} · {b.date}

{b[`title_${lang}`]}

{b[`excerpt_${lang}`]}

{t('blog_more')}
))}
); } // ───────── NEWSLETTER ───────── function Newsletter() { const t = useT(); const [sent, setSent] = React.useState(false); return (
{t('news_eyebrow')}

{t('news_title')} {t('news_title_em')}

{t('news_sub')}

{sent ? (
{t('news_ok')}
) : (
{ e.preventDefault(); const email = e.target.querySelector('input[type=email]').value; fetch('https://formsubmit.co/ajax/goldenhallformaciones@gmail.com', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Accept': 'application/json' }, body: JSON.stringify({ email: email, _subject: 'Nueva suscripción newsletter Golden Hall', _template: 'table', _captcha: 'false', origen: 'Newsletter Golden Hall' }) }).finally(() => setSent(true)); }}>
)}
); } // ───────── CONTACT ───────── function Contact() { const t = useT(); const { lang } = useLang(); const [sent, setSent] = React.useState(false); return (
{t('cont_eyebrow')}

{t('cont_title')}

{/* Info */}
{t('cont_address')}
{GH_DATA.contact.address}
{t('cont_phone_l')}
{GH_DATA.contact.phone}
{t('cont_email_l')}
{GH_DATA.contact.email}
{t('cont_hours')}
{GH_DATA.contact.schedule[lang]}
{t('cont_social')}
{/* Google Maps embed */}
{/* Form */}

{t('cont_form_t')}

{sent ? (
{t('cont_ok')}
) : (
{ e.preventDefault(); const fd = new FormData(e.target); const data = Object.fromEntries(fd.entries()); data._subject = 'Mensaje desde la web Golden Hall · ' + (data.asunto || ''); data._template = 'table'; data._captcha = 'false'; fetch('https://formsubmit.co/ajax/goldenhallformaciones@gmail.com', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Accept': 'application/json' }, body: JSON.stringify(data) }).finally(() => setSent(true)); }}>
)}
); } // ───────── SOCIAL ICONS ───────── function SocialIcon({ kind }) { if (kind === 'ig') return ( ); if (kind === 'tt') return ( ); if (kind === 'wa') return ( ); return null; } // ───────── FOOTER ───────── function Footer() { const t = useT(); const { lang } = useLang(); return ( ); } window.Team = Team; window.Gallery = Gallery; window.Testimonials = Testimonials; window.Blog = Blog; window.Newsletter = Newsletter; window.Contact = Contact; window.Footer = Footer; window.SocialIcon = SocialIcon;