From 79461616f5d522076847d4a4857445ae792436a2 Mon Sep 17 00:00:00 2001 From: cheykrym Date: Wed, 3 Dec 2025 08:41:57 +0300 Subject: [PATCH] fix login --- yobble/ViewModels/LoginViewModel.swift | 6 ++++-- yobble/Views/Login/LoginView.swift | 1 + yobble/Views/Login/RegistrationView.swift | 1 + yobble/yobbleApp.swift | 2 +- 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/yobble/ViewModels/LoginViewModel.swift b/yobble/ViewModels/LoginViewModel.swift index 96813a5..44a794b 100644 --- a/yobble/ViewModels/LoginViewModel.swift +++ b/yobble/ViewModels/LoginViewModel.swift @@ -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 diff --git a/yobble/Views/Login/LoginView.swift b/yobble/Views/Login/LoginView.swift index 335eaa4..27f3f57 100644 --- a/yobble/Views/Login/LoginView.swift +++ b/yobble/Views/Login/LoginView.swift @@ -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" diff --git a/yobble/Views/Login/RegistrationView.swift b/yobble/Views/Login/RegistrationView.swift index f534644..50eb336 100644 --- a/yobble/Views/Login/RegistrationView.swift +++ b/yobble/Views/Login/RegistrationView.swift @@ -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) } } diff --git a/yobble/yobbleApp.swift b/yobble/yobbleApp.swift index 8b413cd..10b6b08 100644 --- a/yobble/yobbleApp.swift +++ b/yobble/yobbleApp.swift @@ -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)