fix login
This commit is contained in:
parent
1cec8aee3e
commit
79461616f5
@ -12,7 +12,8 @@ class LoginViewModel: ObservableObject {
|
||||
@Published var username: String = ""
|
||||
@Published var userId: String = ""
|
||||
@Published var password: String = ""
|
||||
@Published var isLoading: Bool = true // сразу true, чтобы показать спиннер при автологине
|
||||
@Published var isLoading: Bool = false
|
||||
@Published var isInitialLoading: Bool = true // отдельный флаг для сплэша до завершения автологина
|
||||
@Published var showError: Bool = false
|
||||
@Published var errorMessage: String = ""
|
||||
@Published var isLoggedIn: Bool = false
|
||||
@ -127,6 +128,7 @@ class LoginViewModel: ObservableObject {
|
||||
self?.socketService.disconnect()
|
||||
}
|
||||
self?.isLoading = false
|
||||
self?.isInitialLoading = false
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -135,7 +137,7 @@ class LoginViewModel: ObservableObject {
|
||||
func login() {
|
||||
isLoading = true
|
||||
showError = false
|
||||
|
||||
|
||||
authService.login(username: username, password: password) { [weak self] success, error in
|
||||
DispatchQueue.main.async {
|
||||
self?.isLoading = false
|
||||
|
||||
@ -813,6 +813,7 @@ struct LoginView_Previews: PreviewProvider {
|
||||
private static func preview(step: LoginViewModel.LoginFlowStep) -> some View {
|
||||
let viewModel = LoginViewModel()
|
||||
viewModel.isLoading = false
|
||||
viewModel.isInitialLoading = false
|
||||
viewModel.loginFlowStep = step
|
||||
viewModel.passwordlessLogin = "preview@yobble.app"
|
||||
viewModel.verificationCode = "123456"
|
||||
|
||||
@ -233,6 +233,7 @@ struct RegistrationView_Previews: PreviewProvider {
|
||||
static var previews: some View {
|
||||
let viewModel = LoginViewModel()
|
||||
viewModel.isLoading = false // чтобы убрать спиннер
|
||||
viewModel.isInitialLoading = false
|
||||
return RegistrationView(viewModel: viewModel, onShowModePrompt: nil)
|
||||
}
|
||||
}
|
||||
|
||||
@ -22,7 +22,7 @@ struct yobbleApp: App {
|
||||
WindowGroup {
|
||||
ZStack(alignment: .top) {
|
||||
Group {
|
||||
if viewModel.isLoading {
|
||||
if viewModel.isInitialLoading {
|
||||
SplashScreenView()
|
||||
} else if viewModel.isLoggedIn {
|
||||
MainView(viewModel: viewModel)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user