-
Notifications
You must be signed in to change notification settings - Fork 6
Open
Description
Summary
The current sidebar Account dropdown has grown to include many unrelated flows (Profile, Upgrade, Manage Subscription, API Management, Delete History, Team Management, About/Privacy/Terms, Logout, etc.). We should replace this with a dedicated Settings screen.
What to build
- Add a new authenticated Settings page/screen that renders in the main app area (replacing
UnifiedChatwhen navigated to). - Organize settings into clear categories/sections (e.g. Account, Billing, Team, API, Data/History, About).
- Move the existing Account dropdown menu items/flows into the Settings screen (reusing existing components/logic as much as possible).
- Replace the sidebar Account dropdown with a simple navigation entrypoint to the Settings screen.
Critical requirements (keep existing flows working)
- Preserve and/or redirect existing deep links / flow entrypoints that currently target “settings-like” functionality:
- Team setup auto-routing (currently driven by query params like
team_setup=true). - API credits success flow (currently driven by
credits_success=true, including balance refresh + success messaging).
- Team setup auto-routing (currently driven by query params like
- Be careful with team management routing/params; make sure all team flows still land in the right place after the refactor.
- Keep platform-specific behavior (web/desktop vs Tauri mobile/desktop) for things like opening external URLs and the billing portal.
Acceptance criteria
- Users can access all prior Account dropdown actions from the new Settings screen.
- Existing redirects (pricing/payment success, credits success, etc.) still land the user in the correct Settings section.
- Sidebar no longer uses the Account dropdown popup for these actions.
- No regressions in login gating and routing.
Notes
Implementation likely touches frontend/src/components/AccountMenu.tsx, frontend/src/components/Sidebar.tsx, frontend/src/routes/index.tsx, and adds new Settings route(s) under the authenticated router.
Metadata
Metadata
Assignees
Labels
No labels