2.4 KiB
2.4 KiB
platform-web-theme-menu Specification
ADDED Requirements
Requirement: Default black mecha theme
The platform web console SHALL default to a black mecha operations visual theme.
Scenario: New visitor loads the console
- WHEN no stored theme preference exists
- THEN the active palette is
mecha-black - AND the active background preset is
mecha-grid - AND primary surfaces use dark mecha panel materials rather than pink magical materials
Requirement: Selectable magical-girl theme
The platform web console SHALL retain a selectable magical-girl theme.
Scenario: User selects magical-girl palette
- WHEN the magical-girl palette is active
- THEN shell navigation, cards, panels, and global particles use pink/gold magical materials
- AND the global particle layer shows a visible magic circle or equivalent magical ultimate motif
Requirement: Theme-specific frames and panels
Shared framed UI surfaces SHALL vary by active theme family.
Scenario: Comparing themes
- WHEN the user switches between mecha and magical-girl themes
- THEN repeated panels, cards, and navigation entries change border treatment, fill material, and glow style
- AND the change is not limited to text color or accent color
Requirement: Collapsible admin sidebar menu
The application shell SHALL render the primary menu as a compact admin sidebar with expanded and collapsed states.
Scenario: User views the shell menu
- WHEN primary navigation routes are available
- THEN they appear as high-level sidebar items with icons, bold labels, and active state framing
- AND no single-column / double-column menu mode is shown
Requirement: Sidebar collapse toggle
The application shell SHALL provide a sidebar toggle for icon-only and full-menu states.
Scenario: User changes sidebar state
- WHEN the user activates the sidebar toggle
- THEN the sidebar switches between a narrow icon rail and an expanded text menu
- AND route navigation remains available in both states
Requirement: Global theme particles only
Theme ultimate effects SHALL be implemented through the shared global background and particle layers.
Scenario: New decorative effect is needed
- WHEN adding theme-level particles, magic circles, scanner sweeps, or sparkles
- THEN the implementation uses
components/MagicalParticleLayer.tsx - AND page-local fixed decorative DOM elements are not introduced