Skip to content

Lay out the Account page like the rest of the app - #998

Merged
enaboapps merged 3 commits into
mainfrom
claude/account-page-design
Oct 7, 2026
Merged

enaboapps merged 3 commits into
mainfrom
claude/account-page-design

Conversation

@enaboapps

@enaboapps enaboapps commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

Closes #997

What

The Account page is rebuilt from the components Home already uses (connection-band status-hero, status-list rows, status-icon with tick or mark badges), so it no longer reads as plain text with unevenly stacked buttons.

  • Signed in:
    • Band: green accent, account icon with a tick, the email as the title, "Signed in. It's the same account as Switchify on Android.", and Sign out on the right.
    • Settings sync row: the status icon shows a tick when up to date and a mark for errors, update-required or the first-sync choice. It shows the status and last-synced time, plus Sync now, or the two choice buttons under the text.
    • What syncs row: what syncs and what stays on each computer.
    • Delete account: its own card at the bottom, with an outlined danger button. Its confirmation appears inline with a warning icon, full-width text, then Delete permanently (primary danger) and Keep account underneath.
  • Signing in:
    • The band reads "Sign in to sync your settings", then "Check your email" once a code is sent.
    • Below it, a card holds the email or code form, with primary Email me a code and Sign in buttons.
    • The What syncs row appears here too.
  • Locked keychain: an attention band. Builds without accounts: a neutral band.
  • Unchanged: behaviour, focus handling, live updates, announcements, and keyboard and switch access, with one deliberate change: the Settings sync row now stays visible (and usable) while a deletion is being confirmed, since deletion has its own card.
  • Errors beside their buttons: a failed Sign out shows its error in the band next to the button, and a failed delete shows it inside the confirmation. Once the page leaves the signed-in screen, the error moves to the form.
  • Quieter on open: the sync status becomes a live region only once it is known, so opening the page doesn't announce a placeholder.
  • Plain cards: single-row cards are plain lists, not regions that repeat their heading.
  • Shared icon: StatusIcon is now shared from ui/controls with Home.

Validation

  • npm run lint, npm test (289 passed, including where errors appear) and npm run build. Tests are updated for the new wording, the confirmation lives in its own row, and the email is now the band heading.
  • In the running app on Windows (signed in to the real account; screenshots taken with computer use): the band, sync and what-syncs rows, delete card, and inline confirmation all render as described. The confirmation's buttons sit under its text. Keep account cancels; nothing was deleted.

🤖 Generated with Claude Code

Rebuild the Account page from the Home page's status band and grouped rows:
a band with the signed-in email (or Sign in / Check your email while
signing in) and Sign out; rows for Settings sync and What syncs; and Delete
account in its own card with a danger-styled inline confirmation. Rows
whose choice is two buttons put them under the text. Behaviour, focus
handling and announcements are unchanged.

Refs #997

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@enaboapps enaboapps added this to the v1.0.0-rc.22 milestone Oct 7, 2026
OwenMcGirr and others added 2 commits October 7, 2026 10:10
Address review on the Account page layout:
- A failed Sign out shows its error in the band beside the button, and a
  failed delete inside the confirmation; once off the signed-in screen the
  error joins the form, so it is never off screen or orphaned.
- The sync status becomes a live region only once it is known, so opening
  the page does not announce a placeholder change.
- Single-row cards are plain lists rather than regions repeating their
  heading.
- StatusIcon is shared from ui/controls with Home.
- The keychain band says "Can't read your saved sign-in" (locked or
  unavailable), and What syncs lists setup progress and diagnostics sharing
  as staying on each computer.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Keep account now clears a failed delete's error so it cannot resurface in
the sign-in form later. Tests cover the keychain band title and that the
sync status is not a live region until it is known. Remove a stray blank
line in App.tsx.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@enaboapps
enaboapps marked this pull request as ready for review October 7, 2026 09:14
@enaboapps
enaboapps merged commit 91552cb into main Oct 7, 2026
6 checks passed
@enaboapps
enaboapps deleted the claude/account-page-design branch October 7, 2026 09:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Make the Account page match the rest of the app

2 participants