1.8 KiB
1.8 KiB
48. Build User Preferences
meta: id: podcast-tui-app-48 feature: podcast-tui-app priority: P1 depends_on: [47] tags: [preferences, settings, solidjs]
objective:
- Create user preferences panel
- Implement theme selection
- Implement font size control
- Implement playback speed control
- Implement auto-download settings
deliverables:
src/components/PreferencesPanel.tsxwith preferencessrc/components/ThemeSelector.tsxwith theme optionssrc/components/FontSelector.tsxwith font size optionssrc/components/AutoDownload.tsxwith auto-download settings
steps:
- Create
src/components/PreferencesPanel.tsx:- Preferences sections
- Navigation between preferences
- Save/Cancel buttons
- Create
src/components/ThemeSelector.tsx:- Theme options (light, dark, terminal)
- Preview theme
- Select theme
- Create
src/components/FontSelector.tsx:- Font size options (small, medium, large)
- Preview font size
- Select font size
- Create
src/components/AutoDownload.tsx:- Auto-download episodes
- Download after playback
- Download schedule
- Storage limit warning
tests:
- Unit: Test theme selector
- Unit: Test font selector
- Unit: Test auto-download settings
- Integration: Test preferences save/load
acceptance_criteria:
- Preferences display correctly
- Theme selection works
- Font size selection works
- Auto-download settings work
- Preferences persist
validation:
- Run application and navigate to preferences
- Change theme and verify
- Change font size and verify
- Test auto-download settings
- Restart app and verify preferences
notes:
- Use localStorage for preferences
- Theme: Terminal colors (green/amber on black)
- Font size: Small (12px), Medium (14px), Large (16px)
- Auto-download: Download completed episodes
- Add preferences to settings screen
- Save preferences on change
- Reset to defaults button