feat(meetings): center clock, fullscreen toggle, quick-note tab (#583)
- Replace HeaderClock with richer analog+weekday+digital block, always
centered in the header (both president and normal views). Drop the
PresidentClockBar render from the toolbar; the dead helper is left
in place but unused.
- Lift fullscreen state to ExecutiveMeetingsPageInner with
sessionStorage persistence, Esc handler, auto-exit when the user
leaves the schedule tab. Hide the page header when active and show a
floating "Exit fullscreen" pill. New Maximize/Minimize toggle in the
schedule toolbar portal.
- Add MeetingsQuickNoteTab: a fixed amber vertical pill pinned to the
left edge of the schedule view that navigates to /notes?new=1.
- notes.tsx: detect ?new=1, switch to the Active tab, bump a numeric
openTrigger that the top Composer reacts to by opening + focusing
the textarea, then scrub the query param so navigation doesn't
re-trigger.
- i18n: add executiveMeetings.fullscreen.{enter,exit} and
executiveMeetings.quickNote.label in ar.json and en.json.
tsc clean. Push to Gitea still blocked by Tailscale; user to retry.
This commit is contained in:
@@ -791,7 +791,7 @@ function HeaderClock({ lang, date }: { lang: "ar" | "en"; date: string }) {
|
||||
}, []);
|
||||
return (
|
||||
<div
|
||||
className="hidden sm:flex items-center gap-2 sm:gap-3 print:hidden"
|
||||
className="flex items-center gap-1.5 sm:gap-3 print:hidden"
|
||||
data-testid="em-header-clock"
|
||||
aria-live="off"
|
||||
>
|
||||
@@ -1055,7 +1055,7 @@ function ExecutiveMeetingsPageInner() {
|
||||
|
||||
<div className="flex-1" />
|
||||
|
||||
<div className="hidden sm:flex pointer-events-none absolute inset-x-0 top-0 bottom-0 items-center justify-center print:hidden">
|
||||
<div className="flex pointer-events-none absolute inset-x-0 top-0 bottom-0 items-center justify-center print:hidden">
|
||||
<div className="pointer-events-auto">
|
||||
<HeaderClock lang={lang} date={date} />
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user