bulk commit changes!

This commit is contained in:
2026-02-13 02:32:06 -05:00
parent c8f98c54c9
commit bf4a40f533
152 changed files with 2210 additions and 19 deletions

View File

@@ -0,0 +1,14 @@
## ADDED Requirements
### Requirement: System theme is default when no preference exists
The system SHALL default to system theme behavior if no persisted theme preference is found.
#### Scenario: No saved preference on first visit
- **WHEN** a user visits the site with no stored theme value
- **THEN** the UI resolves theme from system color-scheme preference
- **AND** switcher indicates system mode as active
#### Scenario: Persisted preference overrides system default
- **WHEN** a user has an existing stored theme preference
- **THEN** stored preference is applied instead of system mode
- **AND** user-selected theme remains stable across reloads

View File

@@ -0,0 +1,14 @@
## ADDED Requirements
### Requirement: Theme choice persists across sessions
The system SHALL persist user-selected theme with localStorage as primary storage and cookie fallback when localStorage is unavailable.
#### Scenario: Persist theme in localStorage
- **WHEN** localStorage is available and user selects a theme
- **THEN** selected theme is saved in localStorage
- **AND** stored value is used on next visit in same browser
#### Scenario: Cookie fallback persistence
- **WHEN** localStorage is unavailable or blocked
- **THEN** selected theme is saved in cookie storage
- **AND** cookie value is used to restore theme on return visit

View File

@@ -0,0 +1,14 @@
## ADDED Requirements
### Requirement: Header provides icon-based theme switcher
The system SHALL display a theme switcher in the top-right header area with icon controls for system, light, dark, and high-contrast modes.
#### Scenario: Theme options visible as icons
- **WHEN** a user views the header
- **THEN** all four theme options are represented by distinct icons
- **AND** each option is keyboard-accessible and screen-reader labeled
#### Scenario: Theme selection applies immediately
- **WHEN** a user selects a theme option
- **THEN** the page updates visual theme without full page reload
- **AND** selected option has a visible active state