d3ce0fe1571764be19116ffcc86f968d61437696
User feedback on Task #220's UX (in Arabic): per-section "+ شخص هنا" chips felt redundant; the user wanted the "+ عنوان فرعي" controls placed at the TOP of each cell and after each section instead, and the "+ شخص هنا" chips removed entirely. Schedule cell (AttendeeFlow): - TOP "+ عنوان فرعي" chip renders BEFORE the first item of each AttendeeFlow group when the cell is empty OR when it already contains at least one subheading. For cells that only contain persons and no subheadings, the chip is intentionally hidden so the pre-#227 visual is preserved (per task's "no regression" clause). Testid: em-add-subheading-top-{addType}. insertAtIndex = items[0].i for non-empty cells, undefined for empty (so the commit appends at slot 0). - After-section "+ عنوان فرعي" chip renders AFTER every section that is followed by another section, including: * person-tail boundary (last person whose next item is subheading) * empty-section boundary (subheading whose next item is subheading) The trailing section is skipped — the trailing "+ عنوان فرعي" button below already covers that slot. Testid: em-add-subheading-after-{i}; insertAtIndex = i + 1. - Both "+ شخص هنا" chips removed (subheading-empty branch + person-tail branch). - Added renderPendingSubheadingLi helper for inline subheading ghost rendering at the clicked slot. Generalized hasInlineInsert to cover both person and subheading pending kinds. - Removed addPersonHereLabel/addPersonHereAriaLabel from AttendeeFlowSharedProps and from the schedule-side flowProps caller. Manage dialog: - Removed the per-section "+ شخص هنا" buttons from the SortableContext flatMap and the insertAttendeeAt helper. Reverted to plain state.attendees.map. Locales (ar + en): - Dropped executiveMeetings.schedule.addPersonHere/addPersonHereAria. - Dropped executiveMeetings.manage.attendees.addPersonHere/ addPersonHereAria. Tests (executive-meetings-attendee-insert-reorder.spec.mjs): - Removed the per-section "+ شخص هنا" chip test. - Added 4 new schedule tests (en + ar each): 1. Top chip on an EMPTY cell inserts a subheading at slot 0. 2. Top chip is NOT rendered on a flat list with zero subheadings (preserves the pre-#227 visual). 3. After-section chip inserts a subheading between two existing sections (BEFORE the next-section subheading). 4. After-section chip renders after an EMPTY section (consecutive subheadings) and inserts a subheading at the boundary. - Pre-existing drag tests #2 and #3 unchanged and still pass. - Pre-existing #4 (Manage [ar] mixed person+subheading drag) is reproducibly red on [ar] but green on [en]. The diff does NOT touch the manage dialog drag flow, the SortableAttendeeRow, or dnd-kit wiring — pre-existing RTL keyboard-sensor flake from #220. Architect review: PASS on first run; second-pass code-review verdict flagged scope alignment which has now been addressed (top chip on empty cell, no top chip on flat lists, after-section chip on consecutive subheadings, plus matching tests).
Description
No description provided
Languages
TypeScript
69.2%
JavaScript
29.2%
CSS
0.6%
Shell
0.6%
Dockerfile
0.2%
Other
0.2%