/* ========== Página CONTACTO ========== */ /* Reutiliza globals de components-v2.jsx: Nav, Cursor, Footer, SilencioSticky, ArrowNE, HoldingBrandName. Diseño según Web_Contactus (Figma). */ function navTo(id) { if (id === "contacto") { window.scrollTo({ top: 0, behavior: "smooth" }); return; } if (id === "nosotros") { window.location.href = "nosotros.html"; return; } if (id === "servicios") { window.location.href = "servicios.html"; return; } if (id === "archivo" || id === "prensa") { window.location.href = "archivo.html"; return; } window.location.href = "La Chismosa.html"; } /* ---------- Hero + formulario ---------- */ function ContactHero() { const lang = useLang(); const onSubmit = (e) => { e.preventDefault(); // TODO: conectar a backend / servicio de email alert(t("¡Gracias! Te responderemos muy pronto.", "Thank you! We'll get back to you very soon.")); }; return ( {t("Y SÍ, NOS", "AND YES, WE")}{t("ENCANTA", "LOVE")}{t("HABLAR DE TI", "TALKING ABOUT YOU")} {t("He leído la política de privacidad y acepto el tratamiento de mis datos personales conforme a la misma.", "I have read the privacy policy and accept the processing of my personal data in accordance with it.")} {t("Enviar", "Send")} ); } /* ---------- Let's get social ---------- */ function LetsSocial() { const lang = useLang(); const links = [ { label: "INSTAGRAM", href: "https://www.instagram.com/lachismosacomunicacion/" }, { label: "LINKEDIN", href: "https://www.linkedin.com/company/la-chismosa-comunicaci%C3%B3n/" }, ]; return ( LET'S GET SOCIAL {links.map((l, i) => ( {l.label} ))} ); } /* ---------- Workspaces ---------- */ const WORKSPACES = [ { code: "AGP", city: "MÁLAGA | SPAIN", role: "HEADQUARTERS", roleEn: "HEADQUARTERS", img: "assets/contacto/ws-agp.jpg" }, { code: "MAD", city: "MADRID | SPAIN", role: "OFICINAS COORPORATIVAS", roleEn: "CORPORATE OFFICES", img: "assets/contacto/ws-mad.jpg" }, { code: "CDMX", city: "MEXICO CITY | MEXICO", role: "ÁREA TÉCNICA Y COMERCIAL", roleEn: "TECHNICAL & SALES AREA", img: "assets/contacto/ws-cdmx.jpg" }, { code: "CUN", city: "CANCUN | MEXICO", role: "ÁREA TÉCNICA Y COMERCIAL", roleEn: "TECHNICAL & SALES AREA", img: "assets/contacto/ws-cun.jpg" }, { code: "GIG", city: "RIO DE JANEIRO | BRAZIL", role: "ÁREA TÉCNICA Y COMERCIAL", roleEn: "TECHNICAL & SALES AREA", img: "assets/contacto/ws-rio.jpg" }, { code: "MIA", city: "MIAMI | USA", role: "COMING SOON", roleEn: "COMING SOON", img: "assets/contacto/ws-mia.jpg" }, { code: "RUH", city: "RIYADH | KSA", role: "COMING SOON", roleEn: "COMING SOON", img: "assets/contacto/ws-ruh.jpg" }, ]; function Workspaces() { const lang = useLang(); const loop = [...WORKSPACES, ...WORKSPACES]; // duplicado para marquesina sin costuras return ( STRATEGICALLY PRESENT ACROSS KEY HOSPITALITY DESTINATIONS {loop.map((w, i) => ( = WORKSPACES.length ? "true" : undefined}> {w.code} {w.city} {t(w.role, w.roleEn)} ))} ); } /* ---------- LittleBig World ---------- */ const LBWORLD = [ { cat: "FOOD & BEVERAGE", slug: "talentchef", desc: "We design high-end culinary concepts for iconic hotels, blending strategy, creativity, and culinary precision.", img: "assets/Talent Chef.png" }, { cat: "HOTELS BRANDS", slug: "tailors", desc: "We create hospitality brands with tailor made concepts aligned with identity, market, and guest experience.", img: "assets/tailor.png", imgPos: "center 10%" }, { cat: "INTERIOR DESIGN & FF&E", slug: "guinda", desc: "We design interiors and FF&E with contrast, emotion, and attention to detail bringing soul and coherence to every space.", img: "assets/guinda.png" }, { cat: "ARCHITECTURE", slug: "alia", desc: "We develop soulful, adaptable, and concept-driven spaces where functionality, emotion, and form coexist.", img: "assets/Alia.png" }, { cat: "ASSETS GUARDIANSHIP", slug: "libo", desc: "We enhance the value of hotel assets through strategy, operational insight, and high-level culinary expertise.", img: "assets/Libro.png" }, { cat: "COMMUNICATION", slug: "lachismosa", desc: "We turn unseen narratives into memorable, elegant, luxury and emotionally resonant hospitality campaigns.", img: "assets/contacto/lbw-chismosa.jpg", current: true }, ]; function LittleBigWorld() { const lang = useLang(); return ( {t("UN SOLO PUNTO DE CONTACTO,", "ONE SINGLE POINT OF CONTACT,")}{t("CERRAMOS EL CÍRCULO DE LA HOSPITALIDAD", "WE CLOSE THE CIRCLE OF HOSPITALITY")} {LBWORLD.map((b, i) => ( {b.cat} {b.current && — You are here} {b.desc} ))} ); } /* ---------- Root ---------- */ function ContactoPage() { const lang = useLang(); const [introGone, setIntroGone] = React.useState(false); React.useEffect(() => { const els = document.querySelectorAll(".reveal"); const io = new IntersectionObserver((entries) => { entries.forEach(e => { if (e.isIntersecting) e.target.classList.add("in"); }); }, { threshold: 0.12 }); els.forEach(el => io.observe(el)); return () => io.disconnect(); }, []); return ( <> {!introGone && setIntroGone(true)} />} > ); } ReactDOM.createRoot(document.getElementById("root")).render();
LET'S GET SOCIAL
STRATEGICALLY PRESENT ACROSS KEY HOSPITALITY DESTINATIONS
{t("UN SOLO PUNTO DE CONTACTO,", "ONE SINGLE POINT OF CONTACT,")}{t("CERRAMOS EL CÍRCULO DE LA HOSPITALIDAD", "WE CLOSE THE CIRCLE OF HOSPITALITY")}
{b.desc}