43 lines
878 B
Swift
43 lines
878 B
Swift
|
//
|
||
|
// SignInView.swift
|
||
|
// Jel
|
||
|
//
|
||
|
// Created by zerocool on 12/12/23.
|
||
|
//
|
||
|
|
||
|
import SwiftUI
|
||
|
|
||
|
struct SignInView: View {
|
||
|
@EnvironmentObject var jellyfinClient: JellyfinClientController
|
||
|
@ObservedObject var authState: AuthStateController
|
||
|
@State var serverUrlIsValid: Bool = false
|
||
|
|
||
|
var body: some View {
|
||
|
NavigationStack {
|
||
|
AddServerView(authState: authState, serverUrlIsValid: $serverUrlIsValid)
|
||
|
.navigationDestination(isPresented: $serverUrlIsValid) {
|
||
|
SignInToServerView(authState: authState)
|
||
|
}
|
||
|
}
|
||
|
.onAppear {
|
||
|
Task {
|
||
|
await checkLoadedServerUrl()
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func checkLoadedServerUrl() async {
|
||
|
if authState.serverUrl == nil {
|
||
|
return
|
||
|
}
|
||
|
|
||
|
if await jellyfinClient.isJellyfinServer() {
|
||
|
serverUrlIsValid = true
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
#Preview {
|
||
|
SignInView(authState: AuthStateController())
|
||
|
}
|