diff --git a/yobble/Resources/Localizable.xcstrings b/yobble/Resources/Localizable.xcstrings index 8fdc778..027261b 100644 --- a/yobble/Resources/Localizable.xcstrings +++ b/yobble/Resources/Localizable.xcstrings @@ -66,6 +66,9 @@ }, "2FA отключена" : { "comment" : "Заголовок уведомления об отключении 2FA" + }, + "After Register View" : { + }, "Companion ID" : { "comment" : "Search placeholder companion title" diff --git a/yobble/ViewModels/LoginViewModel.swift b/yobble/ViewModels/LoginViewModel.swift index 4515d74..53d009b 100644 --- a/yobble/ViewModels/LoginViewModel.swift +++ b/yobble/ViewModels/LoginViewModel.swift @@ -34,7 +34,7 @@ class LoginViewModel: ObservableObject { } enum OnboardingDestination: Equatable { - case securitySettings + case afterRegister } private enum DefaultsKeys { @@ -132,7 +132,7 @@ class LoginViewModel: ObservableObject { self?.isLoggedIn = true // 👈 переключаем на главный экран после автологина self?.loadStoredUser() self?.socketService.connectForCurrentUser() - self?.onboardingDestination = .securitySettings + self?.onboardingDestination = .afterRegister } else { self?.socketService.disconnect() } diff --git a/yobble/Views/Tab/AfterRegisterView.swift b/yobble/Views/Tab/AfterRegisterView.swift new file mode 100644 index 0000000..930a59a --- /dev/null +++ b/yobble/Views/Tab/AfterRegisterView.swift @@ -0,0 +1,20 @@ +// +// AfterRegisterView.swift +// yobble +// +// Created by cheykrym on 24.10.2025. +// + +import SwiftUI + +struct AfterRegisterView: View { + var body: some View { + Text("After Register View") + } +} + +struct AfterRegisterView_Previews: PreviewProvider { + static var previews: some View { + AfterRegisterView() + } +} \ No newline at end of file diff --git a/yobble/Views/Tab/MainView.swift b/yobble/Views/Tab/MainView.swift index 4586910..d398a8c 100644 --- a/yobble/Views/Tab/MainView.swift +++ b/yobble/Views/Tab/MainView.swift @@ -22,6 +22,7 @@ struct MainView: View { @State private var deepLinkChatItem: PrivateChatListItem? @State private var isDeepLinkChatActive = false @State private var hasTriggeredSecuritySettingsOnboarding = false + @State private var isAfterRegisterPresented = false private var tabTitle: String { switch selectedTab { @@ -174,13 +175,16 @@ struct MainView: View { .onAppear { enforceTabSelectionForMessengerMode() handleTwoFactorOnboardingIfNeeded() + handleAfterRegisterOnboardingIfNeeded() } .onChange(of: isMessengerModeEnabled) { _ in enforceTabSelectionForMessengerMode() handleTwoFactorOnboardingIfNeeded() + handleAfterRegisterOnboardingIfNeeded() } .onChange(of: viewModel.onboardingDestination) { _ in handleTwoFactorOnboardingIfNeeded() + handleAfterRegisterOnboardingIfNeeded() } .onChange(of: messageCenter.pendingNavigation?.id) { _ in guard !AppConfig.PRESENT_CHAT_AS_SHEET, @@ -209,6 +213,9 @@ struct MainView: View { isSettingsPresented = false } } + .sheet(isPresented: $isAfterRegisterPresented) { + AfterRegisterView() + } } } @@ -223,27 +230,13 @@ private extension MainView { } } - func handleTwoFactorOnboardingIfNeeded() { - guard viewModel.onboardingDestination == .securitySettings else { - hasTriggeredSecuritySettingsOnboarding = false + + func handleAfterRegisterOnboardingIfNeeded() { + guard viewModel.onboardingDestination == .afterRegister else { return } - guard !hasTriggeredSecuritySettingsOnboarding else { return } - hasTriggeredSecuritySettingsOnboarding = true - - if isMessengerModeEnabled { - if selectedTab != 5 { - selectedTab = 5 - } - } else { - if selectedTab != 3 { - selectedTab = 3 - } - DispatchQueue.main.async { - isSettingsPresented = true - } - } + isAfterRegisterPresented = true } var deepLinkNavigationLink: some View {