Update upcoming meeting alert to better display cascade information

Refactor upcoming meeting alert component to update the cascade prompt table structure and adjust end-to-end tests to reflect the changes in column count and content assertions.
This commit is contained in:
Riyadh
2026-05-10 16:09:15 +00:00
parent 4dcad6f69a
commit f5ba8ffcd9
2 changed files with 7 additions and 2 deletions
@@ -945,8 +945,9 @@ function CascadePromptBlock({
<p className="text-xs text-muted-foreground">
{t("executiveMeetings.alert.cascadeListTitle")}
</p>
{/* #480: numbered table so the user can scan affected meetings
by row index and meeting-of-the-day number, not just title. */}
{/* #481: 3-column table (Meeting #, Title, From → To) so the user
can scan affected meetings by their meeting-of-the-day number
alongside the title and the projected time shift. */}
<div className="max-h-32 overflow-y-auto rounded bg-white/60 px-2 py-1 dark:bg-black/30">
<table
className="w-full border-collapse text-xs"
@@ -1092,7 +1092,11 @@ test("Cascade prompt UI: Shift sends cascadeFollowing=true; Keep sends false", a
// From → To). The leading "#" index column was dropped because the
// dailyNumber already gives the user a stable identifier.
const followerCells = followerRow.locator("td");
await expect(followerCells).toHaveCount(3);
await expect(followerCells.nth(0)).toHaveText(String(follower.dailyNumber));
await expect(followerCells.nth(1)).toContainText(`${TEST_TAG} cascade-ui-follower`);
// #481: times render as localized 12-hour with AM/PM (EN) or ص/م (AR).
await expect(followerCells.nth(2)).toContainText(/AM|PM|ص|م/);
// Intercept the mutation so we can read its JSON body without
// letting it actually fire (which would side-effect every other