Files
PodTui/tasks/podcast-tui-app/49-data-persistence.md
Michael Freno f08afb2ed1 init
2026-02-03 23:29:36 -05:00

70 lines
1.8 KiB
Markdown

# 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.tsx` with preferences
- `src/components/ThemeSelector.tsx` with theme options
- `src/components/FontSelector.tsx` with font size options
- `src/components/AutoDownload.tsx` with 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