Files
PodTui/tasks/podcast-tui-app/47-source-management-ui.md
Michael Freno f08afb2ed1 init
2026-02-03 23:29:36 -05:00

1.8 KiB

46. Create Settings Screen

meta: id: podcast-tui-app-46 feature: podcast-tui-app priority: P1 depends_on: [45] tags: [settings, screen, solidjs, opentui]

objective:

  • Create settings screen component
  • Implement settings navigation
  • Display all settings sections
  • Save/apply settings

deliverables:

  • src/components/SettingsScreen.tsx with settings UI
  • src/components/SettingsNavigation.tsx with settings menu
  • src/components/SettingsContent.tsx with settings content

steps:

  • Create src/components/SettingsNavigation.tsx:
    • Settings menu with sections
    • Navigation between sections
    • Active section highlighting
    • Keyboard navigation
  • Create src/components/SettingsContent.tsx:
    • Feed settings section
    • Player settings section
    • Sync settings section
    • Appearance settings section
    • Account settings section
  • Create src/components/SettingsScreen.tsx:
    • Combine navigation and content
    • Save/Cancel buttons
    • Reset to defaults button

tests:

  • Unit: Test SettingsNavigation displays correctly
  • Unit: Test SettingsContent sections
  • Integration: Test settings navigation

acceptance_criteria:

  • Settings screen displays all sections
  • Navigation between sections works
  • Settings save correctly
  • Settings persist

validation:

  • Run application and navigate to "Settings"
  • Navigate between settings sections
  • Change settings
  • Verify settings persist
  • Test reset to defaults

notes:

  • Use SolidJS signals for settings state
  • Settings sections:
    • Feeds: Source management, auto-download
    • Player: Playback speed, auto-play next
    • Sync: Backup frequency, sync method
    • Appearance: Theme, font size
    • Account: Login, sync profile
  • Add keyboard shortcuts for navigation
  • Save settings on change
  • Reset to defaults button