diff --git a/Mactrix/Views/WelcomeSheetView.swift b/Mactrix/Views/WelcomeSheetView.swift index 02d1509..3c98089 100644 --- a/Mactrix/Views/WelcomeSheetView.swift +++ b/Mactrix/Views/WelcomeSheetView.swift @@ -1,6 +1,7 @@ import AuthenticationServices import MatrixRustSDK import SwiftUI +import OSLog struct WelcomeSheetView: View { @Environment(AppState.self) private var appState @@ -17,7 +18,12 @@ struct WelcomeSheetView: View { @State private var loading: Bool = false @State private var showError: Error? = nil + private let defaultHomeserver = "matrix.org" + func loadHomeserver() { + if homeserverField.isEmpty { + homeserverField = defaultHomeserver + } Task { loading = true defer { loading = false } @@ -99,7 +105,8 @@ struct WelcomeSheetView: View { .padding(.bottom) Form { - TextField("Homeserver", text: $homeserverField, prompt: Text("matrix.org")) + TextField("Homeserver", text: $homeserverField, prompt: + Text(defaultHomeserver)) .disabled(loading) .onSubmit { loadHomeserver() } @@ -114,9 +121,23 @@ struct WelcomeSheetView: View { .frame(maxWidth: 300) if let showError = showError { - Text(showError.localizedDescription) - .foregroundStyle(Color.red) - .textSelection(.enabled) + let message: String = { + switch showError { + case let MatrixRustSDK.ClientBuildError + .InvalidServerName(message: msg): + return msg + case let MatrixRustSDK.ClientBuildError + .ServerUnreachable(message: msg): + return msg + default: + Logger.matrixClient.error("\(showError.localizedDescription)") + return "Something went wrong!" + } + }() + + Text(message) + .foregroundStyle(Color.red) + .textSelection(.enabled) } } .padding()