Account page: header, side tabs in the URL, and deletion through a dialog #402

Closed
opened 2026-10-14 14:37:31 +00:00 by root · 9 comments
root commented 2026-10-14 14:37:31 +00:00 (Migrated from gitlab.core-project.space)

Parent

#400

Seam: S2 — AccountPageView with the auth harness and MSW; plus the S6 deletion test in accounts.spec

What to build

The account page as chosen in the prototype (variant C on prototype/399-front-screens).

  • Header: the Username, then "Joined ".
  • Tabs: Profile, Your data and Delete account, as side tabs that show one section at a time. The open tab is a validated section search parameter on the route (profile | data | delete, default profile). Below md the tabs become a row above the section.
  • Profile: Username, email and join date, and a line saying a Username can't be changed.
  • Your data: what the export holds, the "Download my data" button and its failure message.
  • Delete account: a red-bordered area and a "Delete account…" button. It opens the design system's dialog, which lists what is lost, asks for the password, and keeps the delete button disabled until a password is typed, with Cancel beside it. The refusals (wrong password, something went wrong) show inside the dialog.
  • Signed out: a centred empty state with Sign in and Create an account.
  • Deleting the Account behaves as #364 defines it. All copy goes into the Paraglide catalogue in English and French.

Acceptance criteria

  • The page shows the Username and join date as its header, and each tab's content when chosen. The chosen tab survives a reload, and Back returns to the previous one.
  • An unknown section falls back to Profile.
  • The dialog lists the consequences, keeps delete disabled without a password, and Cancel closes it without a request.
  • A wrong password and a server failure are each refused inside the open dialog. The right password deletes the Account and lands on the home page signed out, as today.
  • The signed-out page offers Sign in and Create an account.
  • French copy on every new string.
  • A new accounts.spec test reaches the account page and deletes the Account through the dialog. Until the navigation ticket lands it can open /account directly; it moves to the Username menu once that ticket lands.
  • The gate is green.
## Parent #400 Seam: S2 — `AccountPageView` with the auth harness and MSW; plus the S6 deletion test in `accounts.spec` ## What to build The account page as chosen in the prototype (variant C on `prototype/399-front-screens`). - **Header:** the Username, then "Joined <date>". - **Tabs:** Profile, Your data and Delete account, as side tabs that show one section at a time. The open tab is a validated `section` search parameter on the route (`profile` | `data` | `delete`, default `profile`). Below `md` the tabs become a row above the section. - **Profile:** Username, email and join date, and a line saying a Username can't be changed. - **Your data:** what the export holds, the "Download my data" button and its failure message. - **Delete account:** a red-bordered area and a "Delete account…" button. It opens the design system's dialog, which lists what is lost, asks for the password, and keeps the delete button disabled until a password is typed, with Cancel beside it. The refusals (wrong password, something went wrong) show inside the dialog. - **Signed out:** a centred empty state with Sign in and Create an account. - Deleting the Account behaves as #364 defines it. All copy goes into the Paraglide catalogue in English and French. ## Acceptance criteria - [ ] The page shows the Username and join date as its header, and each tab's content when chosen. The chosen tab survives a reload, and Back returns to the previous one. - [ ] An unknown `section` falls back to Profile. - [ ] The dialog lists the consequences, keeps delete disabled without a password, and Cancel closes it without a request. - [ ] A wrong password and a server failure are each refused inside the open dialog. The right password deletes the Account and lands on the home page signed out, as today. - [ ] The signed-out page offers Sign in and Create an account. - [ ] French copy on every new string. - [ ] A new `accounts.spec` test reaches the account page and deletes the Account through the dialog. Until the navigation ticket lands it can open `/account` directly; it moves to the Username menu once that ticket lands. - [ ] The gate is green.
root commented 2026-10-14 14:37:55 +00:00 (Migrated from gitlab.core-project.space)

marked this issue as related to #400

marked this issue as related to #400
root commented 2026-10-14 14:52:27 +00:00 (Migrated from gitlab.core-project.space)

mentioned in merge request !527

mentioned in merge request !527
root commented 2026-10-14 14:59:26 +00:00 (Migrated from gitlab.core-project.space)

mentioned in commit 7045a0e88c3489dacddebc7cfb5ce858e1a409d1

mentioned in commit 7045a0e88c3489dacddebc7cfb5ce858e1a409d1
root commented 2026-10-14 14:59:26 +00:00 (Migrated from gitlab.core-project.space)

mentioned in commit 571c2445e9b39dca3548952332bf175618107827

mentioned in commit 571c2445e9b39dca3548952332bf175618107827
root commented 2026-10-14 15:03:25 +00:00 (Migrated from gitlab.core-project.space)

mentioned in commit 2eafe41759fc1531af2e57af37375be6a608d64d

mentioned in commit 2eafe41759fc1531af2e57af37375be6a608d64d
root commented 2026-10-14 15:05:41 +00:00 (Migrated from gitlab.core-project.space)

mentioned in commit d0489250e2

mentioned in commit d0489250e225a869e79dd6bf08e183d13f705965
root commented 2026-10-14 15:05:41 +00:00 (Migrated from gitlab.core-project.space)

mentioned in commit bed61e4d3a

mentioned in commit bed61e4d3acc25d39dc71a5f380c84b473677719
root commented 2026-10-14 15:56:43 +00:00 (Migrated from gitlab.core-project.space)

mentioned in commit 387598c8db

mentioned in commit 387598c8db051cc24ae584b4b8db055e9625d21f
root commented 2026-10-14 15:56:43 +00:00 (Migrated from gitlab.core-project.space)

mentioned in commit 0f990f14f2

mentioned in commit 0f990f14f24d9c9b590ec0aa39efe685a4454d67
root (Migrated from gitlab.core-project.space) closed this issue 2026-10-14 16:05:11 +00:00
Sign in to join this conversation.
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
amaurycoudr/chess-project#402
No description provided.