Repository navigation
[Bug · V1] Split Profile (/account) vs Settings nav #501
Description
Context
CEO ↔ Ryan (WA 2026-10-28): Account home (/account, Epic #280) already exists (signup checklist · identity card · Teach on MatchMax · My notes) but is hard to reach — mainly via claim this card. Bottom Account correctly opens the sheet with Settings / Profile / … rows, but Profile and Settings both land on the same Settings surface (/dashboard). Ryan: "add that to issues."
Desired behaviour
- Keep bottom-nav Account → open the existing bottom sheet (rows of buttons). Do not jump straight to a page on Account tap.
- Sheet / header Profile →
/account(the Account home page shown in screenshots). - Sheet / header Settings → Settings only (
/dashboard/ SettingsPage). - Remove profile-related UI from Settings — Settings must not host or frame personal profile editing.
Current behaviour (code + live)
| Entry | Today | Should be |
|---|---|---|
| Bottom Account tab | Opens sheet ✅ | Unchanged |
| Sheet Settings | to="/dashboard" |
/dashboard (settings only) |
| Sheet Profile | to="/dashboard" + hash="profile" ❌ same page |
/account |
| Desktop header Profile | /dashboard#profile ❌ |
/account |
| Desktop header Settings | /dashboard |
unchanged |
| After claim | navigates to /account |
unchanged (discoverable without claim) |
Source: src/components/layout/mobile-bottom-nav.tsx, src/components/layout/SiteHeader.tsx, src/routes/_authenticated.dashboard.tsx (= SettingsPage), src/routes/_authenticated.account.tsx.
Settings already has a Profile category (ProfileSection: display name + phone) and subtitle "Manage your profile details and account access." Account home Edit profile currently points at /settings (settings surface).
Scope
A — Nav wiring
- Mobile sheet: Profile →
/account; Settings →/dashboard(no#profileon Settings). - Desktop header avatar/menu: same split (Profile →
/account, Settings →/dashboard). - Any other
nav.profile/#profiledeep-links that dump into Settings → retarget to/account(or account-local edit). - Bottom Account tab still opens the sheet only (no route change on tab press).
B — Strip profile from Settings
- Remove Settings nav category
profile/ProfileSectionfromsettings-page.tsx(and hashcategoryFromHashmapping forprofile). - Rewrite Settings title/subtitle so they do not say “profile details” (account/security/preferences framing only).
- Move display-name / phone edit onto Account home (extend the existing Edit profile control so it edits on
/account, not Settings). - Out of scope unless CEO expands: tutor-card editor My tutor profile (
my-tutor) — that is tutor listing content, not the personal Profile row. Keep for now; link from Account’s tutor block Edit can stay#my-tutoror move later under [Urgent · V1] Unified account + roles + child sub-profiles + hours ledger #459.
C — Acceptance
- Logged-in mobile: Account → sheet → Profile shows checklist + identity + Teach/My notes (
/account). - Same sheet → Settings shows Settings (no Profile tab; no profile-framed copy).
- Desktop Profile / Settings menus match the same split.
-
/accountreachable without going through/account/claim. - EN + 繁中 strings updated for any subtitle/nav changes.
- No regression: claim flow still lands on
/account; Explore / Saved tabs unchanged.
Related
- Epic Epic: Account owns the card (P1–P14) #280 (Account owns the card) — closed; this is discoverability + IA cleanup for the shipped
/accounthome. - Complements [Urgent · V1] Unified account + roles + child sub-profiles + hours ledger #459 (Unified Base Account) but ships as a narrow V1 nav/settings fix — do not wait on [Urgent · V1] Unified account + roles + child sub-profiles + hours ledger #459.
- Soft-related UX floor [Parked · Feature] Site UX floor — skeletons, empty CTAs, Stripe errors, optimistic Save/Claim, sticky mobile CTA #494 (empty/CTA patterns) — no dependency.
Design / copy notes
- Account home visual already matches CEO screenshots — no redesign; only routing + Settings declutter.
- Settings remaining categories stay (General, Account type/email, Notifications, Privacy, Danger zone, tutor Home/Lessons/Availability/Materials when role applies).
CEO locks
- Content/design order for Help ([Feature · V1] Help Centre redesign (Airbnb-diet + article pack) #500) is unrelated — do not block this nav fix on Help Gemini.
- Ryan already confirmed he can do the wiring.
Activity
owlstonbusiness-svg commentedon Oct 28, 2026
Live QA (2026-10-28, matchmax.hk)
Confirmed on production (mobile ~390px + desktop header):
/en/dashboard#profile(Settings) ❌/en/dashboard/en/dashboard#profile❌/en/account/en/account/claim?tutor=…(only easy discover path today)Extra bug for eng: Account home Edit profile uses
href="/settings"→/en/settings404. Real Settings is/en/dashboard. Per this issue, Edit profile should edit on/account(or temporary deep-link only until profile fields move off Settings) — do not leave a dead/settingslink.Note: bottom Account tab must still open the sheet (CEO lock); only the Profile row goes to
/account. Do not make the Account tab navigate directly to/account.owlstonbusiness-svg commentedon Oct 28, 2026
▶ LOCK ADD — Account / Profile game-tutorial coach marks (CEO 2026-10-28 ~13:38 HKT)
Why: After Profile →
/accountand Settings stay settings-only (this issue), new tutors/parents still won’t know how to open Account or what each button does. CEO wants the same game-tutorial pattern we already specified in closed #397: dim screen → spotlight one control → short objective text → Next / Skip.Scope of this add: coach-mark product tour for Account entry + Account home (+ role-specific next steps). Not Help Centre articles (#500). Not Guide (#498).
Pattern lock (reuse #397 — do not invent a custom overlay engine)
driver.js(preferred) orreact-joyride— same as Post-Signup Coach-Mark Tours (Tutors & Parents/Students) #397.bg-black/60/rgba(0,0,0,0.6)) · spotlight cutout with 2–4px pad · white popover + arrow · Next · Skip tour (persist dismiss) · Done on last step · optional progress dots.DESIGN.md(ink / Azure / wash) — not Airbnb magenta; popover uses Geist/Inter + radii 18/26.When it fires (once each)
/accountafter profile is usable (published / approved if that gate exists; else first/accountvisit)has_seen_account_tour_tutor(DB preferred; localStorage OK as V1 fallback)/accounthas_seen_account_tour_parentSkip forever on Skip or Done. Do not re-show after dismiss unless user taps “Replay account tour” (optional Settings / Account footer link — nice-to-have).
Tour A — How to open Account (both audiences)
Run first if they haven’t opened Account yet (e.g. after first login on home / cases).
Copy: “This is your Account. Tap here anytime — it opens a menu, it doesn’t leave the page.”
Copy: “Profile opens your Account home — checklist, identity, and shortcuts.”
Copy: “Settings is only login, security, and preferences — not your public profile.”
/account(auto-navigate Profile →/accounton Next from step 2 if not already there).Tour B — Account home buttons (spotlight each real control)
Attach
data-tour="…"/ stable ids on live Account home UI. Only spotlight controls that exist in V1 — ghost-skip missing ones.Shared (parent + tutor) where present
Tutor-only steps (skip if role ≠ tutor)
5. Teach on MatchMax / become tutor CTA — only if still progressive-role incomplete (#459).
6. Open cases / browse cases — “Claim cases that fit your subjects and schedule.”
7. My notes / sell notes entry — if shipped; else skip.
8. Blue Tick / verification entry — “Upload transcripts for Blue Tick — not Gold.”
9. Done: “You’re set. Check WhatsApp when a coordinator intros a case.”
Parent-only steps (skip if role ≠ parent)
5. Request / Cases board CTA — “Post what you need or browse verified tutors.”
6. Child / family entry if child sub-profiles exist (#459); else skip.
7. Saved / shortlist if present; else skip.
8. Done: “When phones unlock after the matching fee, your tutor opens the family WhatsApp group.”
Copy rules
Eng checklist
data-tourhooks on Account tab, sheet Profile/Settings, and each Account home CTAaccount-entry+account-home-tutor+account-home-parentOut of scope
CEO ask (literal): game-like guide leading tutors/parents into Account and explaining what each profile/Account button does — dim screen, light spotlight, text box on objectives — same idea as before (#397), updated for Profile →
/account+ Settings split.owlstonbusiness-svg commentedon Oct 28, 2026
CEO amendment (2026-10-28) — Desktop (Mac web) blue avatar → go straight to Account / Profile
Photo (desktop header)
Lock
On Mac / desktop web, clicking the blue circular avatar (initial, e.g. H) in the top-right of
SiteHeadermust do the same job as Profile → Account home:/account(Account home — checklist · identity · Teach on MatchMax · My notes)./account; Settings (menu row or gear) →/dashboardsettings only.Acceptance
/account(not/dashboard, not/dashboard#profile)./account).Impl pointer
src/components/layout/SiteHeader.tsx— desktop avatar button currently menu-oriented; primary click shouldnavigate({ to: \"/account\" })(orLink to=\"/account\").Asset branch:
docs/ceo-501-desktop-avatarowlstonbusiness-svg commentedon Oct 28, 2026
CEO sprint adopt (2026-10-28) — Grok Expert CORRECTED → P1
Live check (Grok Expert): Profile / Settings still PARTIAL — Settings can dump into Profile; Account home not the clear primary.
ADOPT this sprint:
/account(not Settings)/account(amendment)Full CORRECTED: #498 (comment)
owlstonbusiness-svg commentedon Oct 28, 2026
CEO re-check ~14:34 HKT — hygiene ADOPT
Grok + issues cross-check: #501 ships without waiting on #459 (Unified Base Account epic).
P1 after P0 three: Profile/header →
/account; Settings settings-only; desktop blue avatar →/account.[-][Bug · V1] Profile → /account home; Settings → settings only (split nav + strip profile from Settings)[/-][+][Bug · V1] Split Profile (/account) vs Settings nav[/+]fix(#501): profile edit dialog load-error state with retry (GLM review)
fix(#501): split Profile (/account) vs Settings nav (#523)