From 119374c64b9be3ad120456fec0ca0d8bc5788124 Mon Sep 17 00:00:00 2001 From: riyadhafraa <49757212-riyadhafraa@users.noreply.replit.com> Date: Tue, 5 May 2026 09:48:22 +0000 Subject: [PATCH] Task #391: Live clock in Executive Meetings header Added a `HeaderClock` component to artifacts/tx-os/src/pages/executive-meetings.tsx that renders next to the "Export PDF" button in the sticky page header. - Updates every 1s via setInterval (cleared on unmount) - Locale-aware formatting via Intl.DateTimeFormat (ar / en) with hour12 - Hidden on (() => new Date()); + useEffect(() => { + const id = window.setInterval(() => setNow(new Date()), 1000); + return () => window.clearInterval(id); + }, []); + const formatter = useMemo( + () => + new Intl.DateTimeFormat(lang === "ar" ? "ar" : "en", { + hour: "numeric", + minute: "2-digit", + hour12: true, + }), + [lang], + ); + return ( +
+ + {formatter.format(now)} +
+ ); +} + function ExecutiveMeetingsPageInner() { const { t, i18n } = useTranslation(); const [, setLocation] = useLocation(); @@ -885,6 +913,7 @@ function ExecutiveMeetingsPageInner() {
+