add afterregister sheet
This commit is contained in:
		
							parent
							
								
									b466864350
								
							
						
					
					
						commit
						b46fc3ae16
					
				@ -66,6 +66,9 @@
 | 
			
		||||
    },
 | 
			
		||||
    "2FA отключена" : {
 | 
			
		||||
      "comment" : "Заголовок уведомления об отключении 2FA"
 | 
			
		||||
    },
 | 
			
		||||
    "After Register View" : {
 | 
			
		||||
 | 
			
		||||
    },
 | 
			
		||||
    "Companion ID" : {
 | 
			
		||||
      "comment" : "Search placeholder companion title"
 | 
			
		||||
 | 
			
		||||
@ -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()
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										20
									
								
								yobble/Views/Tab/AfterRegisterView.swift
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								yobble/Views/Tab/AfterRegisterView.swift
									
									
									
									
									
										Normal file
									
								
							@ -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()
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -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 {
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user