48 my account modal #57

Merged
bermudalamb merged 2 commits from 48-my-account-modal into main 2026-08-18 16:39:08 -05:00
Owner
No description provided.
bermudalamb added this to the Initial Build project 2026-08-18 15:58:13 -05:00
bermudalamb moved this to In Progress in Initial Build on 2026-08-18 15:58:20 -05:00
bermudalamb self-assigned this 2026-08-18 15:58:28 -05:00
bermudalamb requested review from calamb 2026-08-18 15:58:34 -05:00
bermudalamb force-pushed 48-my-account-modal from f84050c689 to ab7484cee8 2026-08-18 16:21:07 -05:00 Compare
bermudalamb added 2 commits 2026-08-18 16:38:33 -05:00
/account had no header and no links of any kind, so once a customer opened it the only way back to the storefront was the browser's back button or editing the URL.

It is now a modal rendered over whatever the customer was looking at, while staying a real route. Opening it from the header pushes /account and names the current page as the backdrop, so closing returns there with filters intact, and the browser's Back button does the same thing as the close control. Entering /account directly — a bookmark, the link in a verification email, or the redirect after registering — has no page behind it and falls back to the storefront, so closing always lands somewhere real. Keeping it a route means the URL still works: bookmarkable, shareable, and refreshable with the view still open, which the header link and the four post-authentication redirects already depend on.

Deleting an account now clears the session as well. Previously it removed the account server-side and navigated home without touching the auth context, so the header went on offering "My Account" for an account that no longer existed until the next reload. That was always wrong, but the modal makes it visible rather than merely stale, because the storefront is rendered behind and the wrong header is on screen throughout.

The modal body is capped and scrolls, and the order history table scrolls within itself, so the view survives a phone without pushing its own title and close control off-screen.

Also scopes the account switch locator in the favorites spec to the modal, since the storefront now renders behind the account view and has a theme switch of its own, and gives the post-registration wait a realistic timeout — it waits on a bcrypt round-trip rather than a render, and the 5s default was surfacing as a flake on whichever test lost the race under parallel load.

Closes #51
docs: record branch naming, the modal-route pattern, and two e2e timing traps
SonarQube Analysis / sonarqube (pull_request) Successful in 2m48s
Tests / backend-unit (pull_request) Successful in 33s
Tests / frontend-e2e (pull_request) Failing after 6m27s
8ad11c6dd6
Branches follow Conventional Branch — `<type>/<description>` with types feature, bugfix, hotfix, release, chore — carrying the issue number so the work is identifiable from `git branch`. Commits stay Conventional Commits with the number appended to the subject and a `Closes #N` line in the body. Spells out which half does what, because it is easy to assume the branch name links the work: Gitea builds the reference from a `#N` in a commit message or PR and never from the branch name.

Records the backdrop-location arrangement in `AppRoutes` as the pattern the sibling navigational dead-end issues should copy rather than each inventing their own.

Adds two testing lessons that cost real time here: the 5s default expect timeout is too tight for anything waiting on a bcrypt round-trip, and the local database's accumulated junk eventually stops being harmless clutter and starts producing flake that rotates between unrelated specs on every run.
bermudalamb force-pushed 48-my-account-modal from ab7484cee8 to 8ad11c6dd6 2026-08-18 16:38:33 -05:00 Compare
bermudalamb merged commit 7e26acace3 into main 2026-08-18 16:39:08 -05:00
bermudalamb deleted branch 48-my-account-modal 2026-08-18 16:39:11 -05:00
bermudalamb moved this to Review in Initial Build on 2026-08-18 16:50:42 -05:00
bermudalamb moved this to Ready for Release in Initial Build on 2026-08-18 16:50:49 -05:00
bermudalamb moved this to Released in Initial Build on 2026-08-19 10:42:11 -05:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: bermudalamb/redefined-designs#57