Summary
Create React hook for managing user preferences in browser LocalStorage, enabling anonymous users to personalize their experience.
Parent Epic
Part of #309 (User Profiles & Personalization)
Dependencies
- Depends on: Profile schema ADR issue
Deliverables
usePreferences Hook
Validation
Persistence
Testing
LocalStorage Schema
{
"callsign": "W1AW",
"gridSquare": "FN31pr",
"preferredBands": ["20m", "40m"],
"preferredModes": ["SSB", "FT8"]
}
Acceptance Criteria
Summary
Create React hook for managing user preferences in browser LocalStorage, enabling anonymous users to personalize their experience.
Parent Epic
Part of #309 (User Profiles & Personalization)
Dependencies
Deliverables
usePreferences Hook
src/main/frontend/hooks/usePreferences.ts:Validation
[A-R]{2}[0-9]{2}([A-X]{2}([0-9]{2})?)?)Persistence
localStorageunder keynextskip:preferencesTesting
src/test/frontend/hooks/usePreferences.test.tsLocalStorage Schema
{ "callsign": "W1AW", "gridSquare": "FN31pr", "preferredBands": ["20m", "40m"], "preferredModes": ["SSB", "FT8"] }Acceptance Criteria