fix(status): close picker on save + Esc/click-outside dismiss + counter #38

Merged
nrupard merged 1 commit from fix/status-auto-close into main 2026-05-06 17:01:55 +02:00
Owner
  • POST /status now returns an empty body for the #status-picker slot (closing the dialog) plus an OOB swap for the caller's own avatar. Previously the picker re-rendered with a "Saved." inline confirmation but the dialog stayed open, leaving the user unsure whether to dismiss it manually.
  • Wrap the three presence radios in a <fieldset> with a screen-reader-only <legend>, and mark the colored status dots aria-hidden="true".
  • Add a live "x / 50" character counter for the custom status text. The counter turns red as the user nears the cap.
  • Inline ✕ clears the custom status without leaving the dialog. Hidden when the field is empty.
  • Press Escape or click outside the picker to dismiss it. Esc returns focus to the avatar trigger. Listeners self-clean when the picker is removed (e.g. after a successful save).

Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com

- POST /status now returns an empty body for the `#status-picker` slot (closing the dialog) plus an OOB swap for the caller's own avatar. Previously the picker re-rendered with a "Saved." inline confirmation but the dialog stayed open, leaving the user unsure whether to dismiss it manually. - Wrap the three presence radios in a `<fieldset>` with a screen-reader-only `<legend>`, and mark the colored status dots `aria-hidden="true"`. - Add a live "x / 50" character counter for the custom status text. The counter turns red as the user nears the cap. - Inline ✕ clears the custom status without leaving the dialog. Hidden when the field is empty. - Press Escape or click outside the picker to dismiss it. Esc returns focus to the avatar trigger. Listeners self-clean when the picker is removed (e.g. after a successful save). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- POST /status now returns an empty body for the `#status-picker` slot (closing the dialog) plus an OOB swap for the caller's own avatar. Previously the picker re-rendered with a "Saved." inline confirmation but the dialog stayed open, leaving the user unsure whether to dismiss it manually.
- Wrap the three presence radios in a `<fieldset>` with a screen-reader-only `<legend>`, and mark the colored status dots `aria-hidden="true"`.
- Add a live "x / 50" character counter for the custom status text. The counter turns red as the user nears the cap.
- Inline ✕ clears the custom status without leaving the dialog. Hidden when the field is empty.
- Press Escape or click outside the picker to dismiss it. Esc returns focus to the avatar trigger. Listeners self-clean when the picker is removed (e.g. after a successful save).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
nrupard deleted branch fix/status-auto-close 2026-05-06 17:01:55 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
psa-systems/lets-chat!38
No description provided.