Description
Spaces Sidebar is the workspace hierarchy for Dotabases and standalone pages. It groups related knowledge into named, colored Spaces; expands each Space into its Dotabases and page tree; and keeps common organization actions close to the items they affect. Users can create, rename, recolor, reorder, move, and delete workspace containers without leaving the navigation context.
The sidebar is not a static folder list. It handles nested page outlines, inline naming, icon assignment, context menus, selection, collapsed state, and move destinations while maintaining the active route. Modal contributions for new Spaces and Dotabases are composed through the module registry, so shell navigation can invoke creation without importing feature internals.
Selling Points
- Gives growing workspaces a clear, human-readable information architecture rather than a flat catalog of databases.
- Keeps frequently used creation and organization actions in context, reducing trips to a separate administration screen.
- Supports color and icon cues that make large sidebars faster to scan for familiar teams and domains.
- Preserves a stable navigation tree while users rename or move content, preventing organizational work from breaking their flow.
- Makes standalone pages and structured Dotabases feel like one coherent workspace instead of unrelated content systems.
User Story
An operations lead creates a “Launch” Space, assigns it a distinctive color, moves the Roadmap and Campaigns Dotabases into it, and adds a launch-brief page beneath the same heading. Later, they expand the Space and reach any of those resources directly from the persistent module sidebar.
Extension Surface
Spaces are configurable through user-authored hierarchy and appearance. apps/web/src/modules/dotabases/sidebar/SpacesSidebar.tsx renders live Space records, while apps/web/src/modules/dotabases/sidebar/SpaceContextMenu.tsx exposes rename, recolor, movement, and deletion actions. There is no supported external renderer or navigation-plugin contract for replacing a Space row, so the feature is configurable rather than extensible.
Capabilities & Limits
- Creates and organizes Spaces containing Dotabases and page trees.
- Supports inline names, icons, colors, collapsed state, context actions, and move workflows.
- Keeps route selection synchronized with the visible hierarchy.
- Limit: the hierarchy is workspace navigation, not a general filesystem; arbitrary deep nesting applies to pages, while Spaces remain the top grouping layer.
Implementation Map
apps/web/src/modules/dotabases/sidebar/SpacesSidebar.tsxapps/web/src/modules/dotabases/sidebar/SpaceRow.tsxapps/web/src/modules/dotabases/sidebar/DotabaseSidebarRow.tsxapps/web/src/modules/dotabases/sidebar/PageSidebarRow.tsx