tx-os(#344): polish UpcomingMeetingAlert per user feedback

Four UI changes requested by an Arabic-speaking user on the floating
"اجتماع يبدأ قريباً" popup:

1. Time window LTR — wrap the header `alert-time-window` span in
   `dir="ltr"` so the start time always appears on the left and the
   end on the right, even inside the Arabic RTL UI. Prevents the
   "م 3:20 – م 3:10" reversal seen in the user's screenshot.
2. Drop the duplicate "Time" row inside DetailsPanel — the same
   start/end window is already shown in the header strip. Removed
   the `if (timeWindow) rows.push({ key: "time", ... })` block; the
   `timeWindow` local was deleted along with it. Header is now the
   single source of truth.
3. Remove the labelled "تجاهل التنبيه" footer button. The X close
   button in the header still calls `handleDismiss`, so users can
   still dismiss; the action bar is now just Done / Postpone /
   Details. `handleDismiss`, `dismissToast`, and the i18n keys are
   left intact for the X button.
4. Make the "يبدأ خلال N دقائق" / "يبدأ الآن" countdown blink red.
   Added a dedicated `@keyframes em-blink` (1s, opacity 1 → 0.15 →
   1) and `.em-blink` class in `src/index.css`, with a
   `prefers-reduced-motion` override that pins it at full opacity.
   Countdown span uses `text-red-600 em-blink font-semibold`. The
   previously-used `accentText` local had no remaining consumers,
   so it was removed (replaced with an explanatory comment).

Files:
- artifacts/tx-os/src/components/executive-meetings/upcoming-meeting-alert.tsx
- artifacts/tx-os/src/index.css

Verification: `pnpm -C artifacts/tx-os exec tsc --noEmit` clean.
Architect review APPROVED (PASS). No tests referenced the removed
`alert-dismiss` / `alert-details-time` testids.

Pre-existing failures (unrelated): api-server workflow and the
combined `test` workflow continue to fail with the same upstream
issues observed in #342/#343 trajectory; this change does not
touch the API server or e2e test infrastructure.
This commit is contained in:
riyadhafraa
2026-05-03 12:26:38 +00:00
parent b2e6512d0c
commit ff2304c4c2
2 changed files with 38 additions and 29 deletions
+18
View File
@@ -339,3 +339,21 @@
}
}
/*
* #344: Attention-grabbing blink for the "starts in N minutes" headline
* inside the floating UpcomingMeetingAlert. Tailwind's `animate-pulse`
* only fades to opacity 0.5, which doesn't read as a true blink, so we
* ship a dedicated keyframe that drops to 0.15 and back. Respects the
* user's reduced-motion preference by stopping at full opacity.
*/
@keyframes em-blink {
0%, 100% { opacity: 1; }
50% { opacity: 0.15; }
}
.em-blink {
animation: em-blink 1s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce) {
.em-blink { animation: none; opacity: 1; }
}