summaryrefslogtreecommitdiff
path: root/Jel/Views/SignIn/SignInView.swift
diff options
context:
space:
mode:
Diffstat (limited to 'Jel/Views/SignIn/SignInView.swift')
-rw-r--r--Jel/Views/SignIn/SignInView.swift42
1 files changed, 42 insertions, 0 deletions
diff --git a/Jel/Views/SignIn/SignInView.swift b/Jel/Views/SignIn/SignInView.swift
new file mode 100644
index 0000000..c06788d
--- /dev/null
+++ b/Jel/Views/SignIn/SignInView.swift
@@ -0,0 +1,42 @@
+//
+// 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())
+}