Summary
Add a button in Settings to reset all user preferences back to their default values in one click. Useful after fiddling with toggles or when troubleshooting.
Proposed UI
A new row in the existing final Section (next to "Quit YouMenuTube"), styled as a destructive button with a confirmation dialog before it acts.
[ Reset settings to defaults ] (destructive, shows confirmation)
Scope
Reset the following @AppStorage keys referenced by SettingsView.swift:
player.autoplay → true
player.floatOnTop → true
home.hideShorts → true
subscriptions.hideShorts → true
playlists.pinnedId → ""
playlists.pinnedTitle → ""
Out of scope (intentionally)
- Session / cookies — already handled by "Sign out" in the Account section; a preferences reset shouldn't log the user out.
- Launch-at-login — managed by
SMAppService, not UserDefaults; leave the toggle where the user last set it.
- Update checker state — transient, not user-configurable.
Acceptance
- Button lives in Settings, visually separated from destructive actions that affect data (Sign out, Quit).
- Confirmation dialog before wiping.
- After reset, all toggles in Settings reflect their defaults without requiring a relaunch.
Summary
Add a button in Settings to reset all user preferences back to their default values in one click. Useful after fiddling with toggles or when troubleshooting.
Proposed UI
A new row in the existing final
Section(next to "Quit YouMenuTube"), styled as a destructive button with a confirmation dialog before it acts.Scope
Reset the following
@AppStoragekeys referenced bySettingsView.swift:player.autoplay→trueplayer.floatOnTop→truehome.hideShorts→truesubscriptions.hideShorts→trueplaylists.pinnedId→""playlists.pinnedTitle→""Out of scope (intentionally)
SMAppService, notUserDefaults; leave the toggle where the user last set it.Acceptance