mirror of
https://github.com/yattee/yattee.git
synced 2025-12-29 16:02:32 +00:00
Settings for iOS/macOS
This commit is contained in:
@@ -1,15 +1,50 @@
|
||||
import Defaults
|
||||
import SwiftUI
|
||||
|
||||
@main
|
||||
struct PearvidiousApp: App {
|
||||
@StateObject private var api = InvidiousAPI()
|
||||
@StateObject private var instances = InstancesModel()
|
||||
@StateObject private var playlists = PlaylistsModel()
|
||||
@StateObject private var search = SearchModel()
|
||||
@StateObject private var subscriptions = SubscriptionsModel()
|
||||
|
||||
var body: some Scene {
|
||||
WindowGroup {
|
||||
ContentView()
|
||||
.onAppear(perform: configureAPI)
|
||||
.environmentObject(api)
|
||||
.environmentObject(instances)
|
||||
.environmentObject(playlists)
|
||||
.environmentObject(search)
|
||||
.environmentObject(subscriptions)
|
||||
}
|
||||
#if !os(tvOS)
|
||||
.commands {
|
||||
SidebarCommands()
|
||||
}
|
||||
#endif
|
||||
|
||||
#if os(macOS)
|
||||
Settings {
|
||||
SettingsView()
|
||||
.onAppear(perform: configureAPI)
|
||||
.environmentObject(api)
|
||||
.environmentObject(instances)
|
||||
.environmentObject(playlists)
|
||||
.environmentObject(subscriptions)
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
fileprivate func configureAPI() {
|
||||
subscriptions.api = api
|
||||
playlists.api = api
|
||||
|
||||
guard api.account == nil, instances.defaultAccount != nil else {
|
||||
return
|
||||
}
|
||||
|
||||
api.setAccount(instances.defaultAccount)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user