// ============================================================
// Tribeca Lisboa — NEWS ARTICLE app (responsive, bilingual)
// Uses shared SiteHeader / SiteMenuDrawer + global lang.
// ============================================================
const { useState: useStateNA, useRef: useRefNA } = React;
function NaToast({ msg, icon, show }) {
return
{icon && }{msg}
;
}
function NewsArticleInner() {
const lang = React.useContext(LangContext);
const rootRef = useRefNA(null);
const [menu, setMenu] = useStateNA(false);
const [toast, setToast] = useStateNA(null);
const toastTimer = useRefNA(null);
useReveal(rootRef);
const flashToast = (msg, icon) => {
setToast({ msg, icon });
clearTimeout(toastTimer.current);
toastTimer.current = setTimeout(() => setToast(null), 2200);
};
return (
setMenu(true)} />
setMenu(false)} />
);
}
function NewsArticle() {
const [lang] = useLang();
return (
);
}
ReactDOM.createRoot(document.getElementById('root')).render();