/* 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 (