Task #646: Keep external meeting text navy, not red

Problem: When a meeting was flagged external, the row was tinted red
(pink bg + red number box — desired) but the title cell text and the
attendee list text were also forced to red (#b91c1c), which the user
did not want.

Change (artifacts/tx-os/src/pages/executive-meetings.tsx):
- Meeting title cell: always use navy text (#0B1E3F) instead of switching
  to red on meeting.isExternal.
- Attendee list <ul>: always use navy text (#0B1E3F) instead of switching
  to red on externalText.
- Removed the now-dead `externalText` prop end-to-end (call-site value,
  type declaration, and destructured default) to keep typecheck clean.

Unchanged: the red row tint, red number box, and all external-meeting
behavior (e.g. auto-postpone rules). Internal/virtual meetings unaffected.

Verified: tx-os typecheck passes; HMR applied with no console errors.
This commit is contained in:
Riyadh
2026-06-02 06:57:42 +00:00
parent 9821f7af1c
commit 487304344d
@@ -4637,7 +4637,7 @@ function MeetingRow({
return (
<td
key="meeting"
className={`border border-gray-300 px-3 py-3 align-middle ${meeting.isExternal ? "text-[#b91c1c]" : "text-[#0B1E3F]"} relative group`}
className={`border border-gray-300 px-3 py-3 align-middle text-[#0B1E3F] relative group`}
style={tintedCellStyle(col, true)}
>
<EditableCell
@@ -5644,7 +5644,6 @@ function AttendeesCell({
"executiveMeetings.schedule.newSubheadingAria",
),
meetingId: meeting.id,
externalText: Boolean(meeting.isExternal),
};
if (hasSplit) {
@@ -5847,11 +5846,6 @@ type AttendeeFlowSharedProps = {
editSubheadingAriaLabel: string;
newSubheadingAriaLabel: string;
meetingId: number;
// #641: When true, attendee names render in red so the user gets the
// same visual cue inside the cell that the row tint already gives at
// the row level (external meeting). Group headers and subheadings
// keep their own neutral colour — only the names list flips.
externalText?: boolean;
// When true, the trailing "+ عنوان فرعي" <li> at the very end of the
// flow is NOT rendered. Used by split-mode cells (≥2 attendance
// groups visible) so the cell shows ONE cell-level "+ عنوان فرعي"
@@ -5903,7 +5897,6 @@ function AttendeeFlow({
newAriaLabel,
editSubheadingAriaLabel,
newSubheadingAriaLabel,
externalText = false,
suppressTrailingSubheadingChip = false,
}: { items: AttendeeWithIndex[] } & AttendeeFlowSharedProps) {
const editable = canMutate && !!onSaveAttendeeName;
@@ -6131,7 +6124,7 @@ function AttendeeFlow({
};
return (
<ul className={`flex flex-wrap justify-start items-baseline gap-x-4 gap-y-0.5 ${externalText ? "text-[#b91c1c]" : "text-[#0B1E3F]"} leading-snug`}>
<ul className={`flex flex-wrap justify-start items-baseline gap-x-4 gap-y-0.5 text-[#0B1E3F] leading-snug`}>
{items.flatMap(({ a, i }, listIdx) => {
const isSub = (a.kind ?? "person") === "subheading";
const nodes: ReactNode[] = [];