Background
The current Workspace Settings is a single <Dialog> modal containing 7 tabs (Account / Appearance / Notification / Memory / Tools / Skills / About). As features have grown, three issues have surfaced.
1. Architecture: the modal no longer scales
Each tab's content has become substantial:
- Memory — search, filters, import/export, manual fact CRUD
- Skills — full management UI (public / custom tabs, enable toggle, creation flow)
- Tools — MCP server configuration
The modal now relies on nested scrolling (modal scroll + inner panel scroll) and offers no support for:
- Deep links (e.g. sharing a link to
/settings/skills)
- Browser back / forward
- Refresh-preserving the active tab
2. Information architecture
- Default tab is
Appearance, and Account sits at the top of the list — both inconsistent with mainstream SaaS patterns (Claude / Linear / Notion put "general preferences" first and "account" at the bottom).
Appearance and Notification are both "personal preferences" and naturally belong under a unified General section.
3. Memory toolbar overlap under EN locale
In the Memory tab, xl:flex-row forces the search box, filter group (All / Facts / Summaries), and four action buttons (Import / Export / Add / Clear) into a single row at 1280px. Fine for ZH labels but EN labels overflow, producing a visibly broken toolbar.
References
Workspace settings using routing
Workspace settings using modal dialog
Background
The current Workspace Settings is a single
<Dialog>modal containing 7 tabs (Account / Appearance / Notification / Memory / Tools / Skills / About). As features have grown, three issues have surfaced.1. Architecture: the modal no longer scales
Each tab's content has become substantial:
The modal now relies on nested scrolling (modal scroll + inner panel scroll) and offers no support for:
/settings/skills)2. Information architecture
Appearance, andAccountsits at the top of the list — both inconsistent with mainstream SaaS patterns (Claude / Linear / Notion put "general preferences" first and "account" at the bottom).AppearanceandNotificationare both "personal preferences" and naturally belong under a unifiedGeneralsection.3. Memory toolbar overlap under EN locale
In the Memory tab,
xl:flex-rowforces the search box, filter group (All / Facts / Summaries), and four action buttons (Import / Export / Add / Clear) into a single row at 1280px. Fine for ZH labels but EN labels overflow, producing a visibly broken toolbar.References
Workspace settings using routing
Workspace settings using modal dialog