mirror of
https://github.com/yattee/yattee.git
synced 2025-08-06 10:44:06 +00:00
View options, video details screen
This commit is contained in:
@@ -3,6 +3,9 @@ import SwiftUI
|
||||
|
||||
struct ContentView: View {
|
||||
@Default(.openChannel) var channel
|
||||
@Default(.showingVideoDetails) var showDetails
|
||||
|
||||
@State private var showingOptions = false
|
||||
|
||||
var body: some View {
|
||||
NavigationView {
|
||||
@@ -33,6 +36,9 @@ struct ContentView: View {
|
||||
.tabItem { Image(systemName: "magnifyingglass") }
|
||||
.tag(TabSelection.search)
|
||||
}
|
||||
.fullScreenCover(isPresented: $showingOptions) { OptionsView() }
|
||||
.onPlayPauseCommand { showingOptions.toggle() }
|
||||
.background(videoDetailsViewNavigationLink)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -42,6 +48,10 @@ struct ContentView: View {
|
||||
set: { Defaults[.tabSelection] = $0 }
|
||||
)
|
||||
}
|
||||
|
||||
var videoDetailsViewNavigationLink: some View {
|
||||
NavigationLink("", destination: VideoDetailsView(), isActive: $showDetails).hidden()
|
||||
}
|
||||
}
|
||||
|
||||
struct ContentView_Previews: PreviewProvider {
|
||||
|
@@ -5,4 +5,10 @@ extension Defaults.Keys {
|
||||
static let tabSelection = Key<TabSelection>("tabSelection", default: .subscriptions)
|
||||
static let searchQuery = Key<String>("searchQuery", default: "")
|
||||
static let openChannel = Key<Channel?>("openChannel")
|
||||
|
||||
static let searchSortOrder = Key<SearchSortOrder>("searchSortOrder", default: .relevance)
|
||||
static let searchDate = Key<SearchDate?>("searchDate", default: nil)
|
||||
static let searchDuration = Key<SearchDuration?>("searchDuration", default: nil)
|
||||
static let openVideoID = Key<String>("videoID", default: "")
|
||||
static let showingVideoDetails = Key<Bool>("showingVideoDetails", default: false)
|
||||
}
|
||||
|
@@ -1,8 +1,12 @@
|
||||
import Defaults
|
||||
|
||||
enum ListingLayout: String, CaseIterable, Defaults.Serializable {
|
||||
enum ListingLayout: String, CaseIterable, Identifiable, Defaults.Serializable {
|
||||
case list, cells
|
||||
|
||||
var id: String {
|
||||
rawValue
|
||||
}
|
||||
|
||||
var name: String {
|
||||
switch self {
|
||||
case .list:
|
||||
|
Reference in New Issue
Block a user