jel/Jel/Views/ContentView.swift

58 lines
1.2 KiB
Swift

//
// ContentView.swift
// Jel
//
// Created by zerocool on 12/11/23.
//
import SwiftUI
import PulseUI
struct ContentView: View {
@StateObject var authState: AuthStateController = AuthStateController.shared
@State var isSignedIn: Bool = true
var body: some View {
VStack() {
if isSignedIn {
NavigationStack {
DashboardView()
}
} else {
HStack {
Spacer()
VStack(alignment: .center) {
Spacer()
Text("You are not currently signed into a Jellyfin instance.")
.multilineTextAlignment(.center)
.padding()
Button {
// toggle logged in so that it invalidates isSignedIn
authState.loggedIn = true
authState.loggedIn = false
} label: {
Text("Sign in")
}
Spacer()
}
Spacer()
}
}
}
.sheet(isPresented: $isSignedIn.not) {
SignInView()
.interactiveDismissDisabled()
}
.onChange(of: authState.loggedIn, {
isSignedIn = authState.loggedIn
})
.onChange(of: authState.loaded, {
isSignedIn = authState.loggedIn
})
}
}
//#Preview {
// ContentView()
//}