mirror of
https://github.com/yattee/yattee.git
synced 2026-06-27 17:14:19 +00:00
Rework tvOS player controls and settings sheet
Replace the tvOS bottom action bar with Settings / Info / Comments / Next / Close. Settings reuses QualitySelectorView (video, audio, subtitles, speed); Comments opens TVDetailsPanel directly on the comments tab; Close stops playback and dismisses. Debug button is hidden by default and can be re-enabled via a new tvOS-only Advanced Settings > Developer toggle. Present the settings sheet as a fullScreenCover with a centered material card, fix the "Normal" hyphenation, and restyle row selection throughout the quality selector on tvOS: per-row rounded backgrounds with focus tint + stroke, vertical spacing instead of dividers, and a focusable speed-rate menu.
This commit is contained in:
@@ -12,12 +12,20 @@ import NukeUI
|
||||
/// Details panel that slides up from the bottom showing video information.
|
||||
struct TVDetailsPanel: View {
|
||||
let video: Video?
|
||||
let initialTab: TVDetailsTab
|
||||
let onDismiss: () -> Void
|
||||
|
||||
@Environment(\.appEnvironment) private var appEnvironment
|
||||
|
||||
/// Tab selection for Info / Comments.
|
||||
@State private var selectedTab: TVDetailsTab = .info
|
||||
@State private var selectedTab: TVDetailsTab
|
||||
|
||||
init(video: Video?, initialTab: TVDetailsTab = .info, onDismiss: @escaping () -> Void) {
|
||||
self.video = video
|
||||
self.initialTab = initialTab
|
||||
self.onDismiss = onDismiss
|
||||
_selectedTab = State(initialValue: initialTab)
|
||||
}
|
||||
|
||||
/// Focus state for interactive elements.
|
||||
@FocusState private var focusedItem: TVDetailsFocusItem?
|
||||
|
||||
Reference in New Issue
Block a user