diff options
Diffstat (limited to 'Jel/Views/ContentView.swift')
-rw-r--r-- | Jel/Views/ContentView.swift | 33 |
1 files changed, 25 insertions, 8 deletions
diff --git a/Jel/Views/ContentView.swift b/Jel/Views/ContentView.swift index 6c5ec59..3983392 100644 --- a/Jel/Views/ContentView.swift +++ b/Jel/Views/ContentView.swift @@ -9,22 +9,39 @@ import SwiftUI import PulseUI struct ContentView: View { - @EnvironmentObject var jellyfinClient: JellyfinClientController - - @StateObject var settingsController: SettingsController = SettingsController.shared - @StateObject var authState: AuthStateController = AuthStateController.shared - @State var showingConsoleSheet: Bool = false + @State var isSignedIn: Bool = true + var body: some View { VStack { - if !authState.loggedIn { - SignInView() - } else { + if isSignedIn { NavigationStack { DashboardView() } + } else { + VStack { + Text("You are not currently signed into a Jellyfin instance.") + .padding() + Button { + // toggle logged in so that it invalidates isSignedIn + authState.loggedIn = true + authState.loggedIn = false + } label: { + Text("Sign in") + } + } } } + .sheet(isPresented: $isSignedIn.not) { + SignInView() + .interactiveDismissDisabled() + } + .onChange(of: authState.loggedIn, { + isSignedIn = authState.loggedIn + }) + .onChange(of: authState.loaded, { + isSignedIn = authState.loggedIn + }) } } |