summaryrefslogtreecommitdiff
path: root/Jel/Views/SignIn
diff options
context:
space:
mode:
Diffstat (limited to 'Jel/Views/SignIn')
-rw-r--r--Jel/Views/SignIn/AddServerView.swift6
-rw-r--r--Jel/Views/SignIn/SignInToServerView.swift20
-rw-r--r--Jel/Views/SignIn/SignInView.swift13
3 files changed, 26 insertions, 13 deletions
diff --git a/Jel/Views/SignIn/AddServerView.swift b/Jel/Views/SignIn/AddServerView.swift
index 516b982..40c2312 100644
--- a/Jel/Views/SignIn/AddServerView.swift
+++ b/Jel/Views/SignIn/AddServerView.swift
@@ -9,7 +9,7 @@ import SwiftUI
struct AddServerView: View {
@EnvironmentObject var jellyfinClient: JellyfinClientController
- @ObservedObject var authState: AuthStateController
+ @ObservedObject var authState: AuthStateController = AuthStateController.shared
@Binding var serverUrlIsValid: Bool
@State var serverUrlString: String = "http://"
@@ -73,7 +73,7 @@ struct AddServerView: View {
if isValidUrl(data: serverUrlString) {
let url = URL(string: serverUrlString)!
jellyfinClient.setUrl(url: url)
- if await jellyfinClient.isJellyfinServer() {
+ if await jellyfinClient.getPublicServerInfo() != nil {
authState.serverUrl = url
authState.save()
urlHasError = false
@@ -103,6 +103,6 @@ struct AddServerView: View {
}
#Preview {
- AddServerView(authState: AuthStateController(), serverUrlIsValid: .constant(false))
+ AddServerView(serverUrlIsValid: .constant(false))
}
diff --git a/Jel/Views/SignIn/SignInToServerView.swift b/Jel/Views/SignIn/SignInToServerView.swift
index ae8d82d..259e54d 100644
--- a/Jel/Views/SignIn/SignInToServerView.swift
+++ b/Jel/Views/SignIn/SignInToServerView.swift
@@ -9,17 +9,19 @@ import SwiftUI
struct SignInToServerView: View {
@EnvironmentObject var jellyfinClient: JellyfinClientController
- @ObservedObject var authState: AuthStateController
+ @StateObject var authState: AuthStateController = AuthStateController.shared
@State var username: String = ""
@State var password: String = ""
@State var isLoading: Bool = false
@State var hasError: Bool = false
+ @State var serverName: String = ""
+
var body: some View {
VStack {
- Text("Sign in")
+ Text("Sign in to \(serverName)")
.font(.title)
TextField(text: $username) {
Text("Username")
@@ -60,6 +62,13 @@ struct SignInToServerView: View {
.textFieldStyle(.roundedBorder)
.textInputAutocapitalization(.never)
.disabled(isLoading)
+ .onAppear {
+ Task {
+ if let serverInfo = await jellyfinClient.getPublicServerInfo() {
+ serverName = serverInfo.serverName ?? "Unknown"
+ }
+ }
+ }
}
func logInToServer() async {
@@ -74,6 +83,7 @@ struct SignInToServerView: View {
}
}
-#Preview {
- SignInToServerView(authState: AuthStateController())
-}
+// FIXME: Preview broken for this view
+//#Preview {
+// SignInToServerView()
+//}
diff --git a/Jel/Views/SignIn/SignInView.swift b/Jel/Views/SignIn/SignInView.swift
index c06788d..729b34b 100644
--- a/Jel/Views/SignIn/SignInView.swift
+++ b/Jel/Views/SignIn/SignInView.swift
@@ -6,17 +6,20 @@
//
import SwiftUI
+import PulseUI
struct SignInView: View {
@EnvironmentObject var jellyfinClient: JellyfinClientController
- @ObservedObject var authState: AuthStateController
+
+ @StateObject var authState: AuthStateController = AuthStateController.shared
@State var serverUrlIsValid: Bool = false
+ @State var showingConsoleSheet: Bool = false
var body: some View {
NavigationStack {
- AddServerView(authState: authState, serverUrlIsValid: $serverUrlIsValid)
+ AddServerView(serverUrlIsValid: $serverUrlIsValid)
.navigationDestination(isPresented: $serverUrlIsValid) {
- SignInToServerView(authState: authState)
+ SignInToServerView()
}
}
.onAppear {
@@ -31,12 +34,12 @@ struct SignInView: View {
return
}
- if await jellyfinClient.isJellyfinServer() {
+ if await jellyfinClient.getPublicServerInfo() != nil {
serverUrlIsValid = true
}
}
}
#Preview {
- SignInView(authState: AuthStateController())
+ SignInView()
}