Use menu-style pickers in tvOS settings

Introduce PlatformMenuPicker that wraps short-option pickers in
LabeledContent + .pickerStyle(.menu) on tvOS so they render as a
compact dropdown instead of pushing a full-screen option list. On
iOS/macOS it falls through to a plain Picker, leaving rendering
unchanged.

Applied across Playback, Subtitles, Sidebar, Privacy, and Advanced
settings. Long language lists in PlaybackSettingsView are left as
push-style.
This commit is contained in:
Arkadiusz Fal
2026-04-16 18:40:19 +02:00
parent df232ad69a
commit e2f3107833
6 changed files with 58 additions and 16 deletions

View File

@@ -54,7 +54,7 @@ struct PrivacySettingsView: View {
isOn: Bindable(settingsManager).saveWatchHistory
)
Picker(
PlatformMenuPicker(
String(localized: "settings.behavior.historyRetention"),
selection: Binding(
get: { settingsManager.historyRetentionDays },
@@ -104,7 +104,7 @@ struct PrivacySettingsView: View {
isOn: Bindable(settingsManager).saveRecentPlaylists
)
Picker(
PlatformMenuPicker(
String(localized: "settings.behavior.searchHistoryLimit"),
selection: Binding(
get: { settingsManager.searchHistoryLimit },