import SwiftUI struct SecuritySettingsView: View { @ObservedObject var viewModel: LoginViewModel @State private var isTwoFactorActive = false @State private var isEmailSettingsActive = false var body: some View { List { Section(header: Text(NSLocalizedString("Аутентификация", comment: "Раздел настроек безопасности для аутентификации"))) { NavigationLink(isActive: $isTwoFactorActive) { TwoFactorAuthView() } label: { Label(NSLocalizedString("Двухфакторная аутентификация", comment: "Переход к настройкам двухфакторной аутентификации"), systemImage: "lock.shield") } } Section(header: Text(NSLocalizedString("Email", comment: "Раздел настроек безопасности для email"))) { NavigationLink(isActive: $isEmailSettingsActive) { EmailSecuritySettingsView() } label: { Label(NSLocalizedString("Настройки email", comment: "Переход к настройкам безопасности email"), systemImage: "envelope") } } } .listStyle(.insetGrouped) .navigationTitle(NSLocalizedString("Безопасность", comment: "Заголовок экрана настроек безопасности")) .navigationBarTitleDisplayMode(.inline) .onAppear { handleTwoFactorOnboardingIfNeeded() } .onChange(of: viewModel.onboardingDestination) { _ in handleTwoFactorOnboardingIfNeeded() } } private func handleTwoFactorOnboardingIfNeeded() { guard viewModel.onboardingDestination == .twoFactor else { return } isTwoFactorActive = true viewModel.onboardingDestination = nil } } #if DEBUG struct SecuritySettingsView_Previews: PreviewProvider { static var previews: some View { NavigationView { SecuritySettingsView(viewModel: LoginViewModel()) } } } #endif