import SwiftUI struct SecuritySettingsView: View { @ObservedObject var viewModel: LoginViewModel @State private var isTwoFactorActive = false @State private var isEmailSettingsActive = false @State private var isAppLockActive = false var body: some View { List { Section(header: Text(NSLocalizedString("Вход и защита аккаунта (заглушка)", comment: "Раздел настроек безопасности для аутентификации"))) { NavigationLink(isActive: $isTwoFactorActive) { TwoFactorAuthView() } label: { Label(NSLocalizedString("Двухфакторная аутентификация", comment: "Переход к настройкам двухфакторной аутентификации"), systemImage: "lock.shield") } NavigationLink(isActive: $isEmailSettingsActive) { EmailSecuritySettingsView() } label: { Label(NSLocalizedString("Настройки email", comment: "Переход к настройкам безопасности email"), systemImage: "envelope") } NavigationLink(isActive: $isAppLockActive) { AppLockSettingsView() } label: { Label(NSLocalizedString("Пароль на приложение", comment: "Переход к настройкам пароля на приложение"), systemImage: "lock.square") } } Section(header: Text(NSLocalizedString("Приватность и контроль", comment: ""))) { NavigationLink(destination: EditPrivacyView()) { Label(NSLocalizedString("Конфиденциальность", comment: ""), systemImage: "lock.fill") } NavigationLink(destination: ChangePasswordView()) { Label(NSLocalizedString("Сменить пароль", comment: ""), systemImage: "key") } NavigationLink(destination: ActiveSessionsView()) { Label(NSLocalizedString("Активные сессии", comment: ""), systemImage: "iphone") } } } .listStyle(.insetGrouped) .navigationTitle(NSLocalizedString("Безопасность", comment: "Заголовок экрана настроек безопасности")) .navigationBarTitleDisplayMode(.inline) // .onAppear { handleSecuritySettingsOnboardingIfNeeded() } // .onChange(of: viewModel.onboardingDestination) { _ in // handleSecuritySettingsOnboardingIfNeeded() // } } // private func handleSecuritySettingsOnboardingIfNeeded() { // guard viewModel.onboardingDestination == .securitySettings else { return } // guard !isTwoFactorActive else { // viewModel.onboardingDestination = nil // return // } // DispatchQueue.main.async { // isTwoFactorActive = true // viewModel.onboardingDestination = nil // } // } } #if DEBUG struct SecuritySettingsView_Previews: PreviewProvider { static var previews: some View { NavigationView { SecuritySettingsView(viewModel: LoginViewModel()) } } } #endif