/* Shared site infrastructure: i18n, icons, reveal, nav/footer wrappers. */ const DS = window.WarpDesignSystem_e8eaa1; const { NavBar, Footer, Button, Eyebrow } = DS; /* ---------- i18n ---------- */ function useLang() { const [lang, setLangState] = React.useState(() => localStorage.getItem('hdz-lang') || 'en'); const setLang = (l) => { localStorage.setItem('hdz-lang', l); setLangState(l); }; return [lang, setLang]; } /* ---------- contact facts ---------- */ const HDZ_CONTACT = { phone: '(956) 546-4040', phoneRaw: '+19565464040', fax: '(956) 546-2235', email: 'info@hdzlawgrp.com', address1: '905 E. Los Ebanos Blvd Ste D', address2: 'Brownsville, TX 78520', }; /* ---------- shared strings ---------- */ const SHARED = { nav: { en: [ { label: 'Home', href: 'index.html' }, { label: 'Personal Injury', href: 'personal-injury.html' }, { label: 'Criminal Defense', href: 'criminal-defense.html' }, { label: 'Family Law', href: 'family-law.html' }, { label: 'Civil Litigation', href: 'civil-litigation.html' }, ], es: [ { label: 'Inicio', href: 'index.html' }, { label: 'Lesiones Personales', href: 'personal-injury.html' }, { label: 'Defensa Criminal', href: 'criminal-defense.html' }, { label: 'Derecho Familiar', href: 'family-law.html' }, { label: 'Litigio Civil', href: 'civil-litigation.html' }, ], }, cta: { en: 'Free Consultation', es: 'Consulta Gratis' }, footerTagline: { en: 'Trial-ready representation for Cameron County and the Rio Grande Valley.', es: 'Representación lista para juicio en Brownsville y el Valle del Río Grande.', }, footerPractice: { en: 'Practice Areas', es: 'Áreas de Práctica' }, footerFirm: { en: 'Firm', es: 'Despacho' }, footerOffice: { en: 'Office', es: 'Oficina' }, footerNote: { en: 'Attorney Advertising. Prior results do not guarantee a similar outcome.', es: 'Publicidad de abogado. Resultados anteriores no garantizan un resultado similar.', }, serving: { en: 'Serving Brownsville · Harlingen · McAllen · South Padre Island · San Benito · Los Fresnos · Cameron & Hidalgo Counties', es: 'Sirviendo Brownsville · Harlingen · McAllen · South Padre Island · San Benito · Los Fresnos · Condados de Cameron e Hidalgo', }, }; /* ---------- icons (minimal 1.5px line) ---------- */ const iconProps = { fill: 'none', stroke: 'currentColor', strokeWidth: 1.5, strokeLinecap: 'round', strokeLinejoin: 'round' }; const Icons = { Car: (s = 32) => (), Shield: (s = 32) => (), Family: (s = 32) => (), Scale: (s = 32) => (), Phone: (s = 22) => (), Pin: (s = 20) => (), Clock: (s = 20) => (), Globe: (s = 20) => (), Gavel: (s = 32) => (), }; /* ---------- scroll reveal ---------- */ function Reveal({ children, delay = 0, style }) { const ref = React.useRef(null); React.useEffect(() => { const el = ref.current; if (!el) return; const obs = new IntersectionObserver(([entry]) => { if (entry.isIntersecting) { setTimeout(() => el.classList.add('in'), delay); obs.disconnect(); } }, { threshold: 0.15 }); obs.observe(el); return () => obs.disconnect(); }, []); return
{children}
; } /* ---------- site nav + footer ---------- */ function SiteNav({ lang, setLang, activeHref }) { const links = SHARED.nav[lang]; return ( ); } function SiteFooter({ lang }) { const pa = SHARED.nav[lang].slice(1); return (