// ============================================================ // Tribeca Lisboa — LANDING CHROME (shared header + footer) // Used by the pre-launch Landing page AND the pre-launch legal // pages, so they share the same nav-less header + slimmed footer // WITHOUT touching the main-site SiteHeader / RFooter. // Load AFTER Primitives + i18n + data, BEFORE the page app. // ============================================================ const IG_URL = 'https://www.instagram.com/tribecalisboa/'; // External links open in a new tab/window via the anchor's native // target="_blank" rel="noopener noreferrer". We intentionally do NOT // preventDefault here: native target=_blank is reliable and never // popup-blocked, unlike window.open(). Kept as a no-op so existing // onClick={(e) => openExt(e, url)} call sites stay unchanged. function openExt(e, url) { /* let the anchor open the new tab natively */ } // ---- Header (logo + lang + Instagram + SIC, no nav) --------- function LpLang() { const [lang, setLang] = useLang(); return (
/
); } function LpHeader() { return (
openExt(e, IG_URL)} aria-label="Instagram">
Powered by SIC Opto
); } // ---- Footer (slimmed: Instagram, partners, legal, ©) -------- function LpFooter() { const lang = React.useContext(LangContext); const year = new Date().getFullYear(); const legal = [ { label: tt(lang, 'Privacy Policy', 'Política de Privacidade'), url: urlFor('legal_landing', 'privacy'), ext: false }, { label: tt(lang, 'Cookies Policy', 'Política de Cookies'), url: urlFor('legal_landing', 'cookies'), ext: false }, { label: tt(lang, 'Complaint Book', 'Livro de Reclamações'), url: 'https://www.livroreclamacoes.pt/Inicio/', ext: true }, ]; return ( ); }