66 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Swift
		
	
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Swift
		
	
	
	
	
	
import SwiftUI
 | 
						|
 | 
						|
struct EmailSecuritySettingsView: View {
 | 
						|
    @State private var isLoginCodesEnabled = false
 | 
						|
    @State private var activeAlert: EmailSecurityAlert?
 | 
						|
 | 
						|
    var body: some View {
 | 
						|
        Form {
 | 
						|
            Section(header: Text(NSLocalizedString("Защита входа", comment: "Раздел защиты входа через email"))) {
 | 
						|
                Toggle(NSLocalizedString("Получать коды на email при входе", comment: "Переключатель отправки кодов при входе"), isOn: Binding(
 | 
						|
                    get: { isLoginCodesEnabled },
 | 
						|
                    set: { _ in
 | 
						|
                        activeAlert = EmailSecurityAlert(
 | 
						|
                            title: NSLocalizedString("Скоро", comment: "Заголовок заглушки"),
 | 
						|
                            message: NSLocalizedString("Функция пока недоступна.", comment: "Сообщение заглушки")
 | 
						|
                        )
 | 
						|
                        isLoginCodesEnabled = false
 | 
						|
                    }
 | 
						|
                ))
 | 
						|
 | 
						|
                Text(NSLocalizedString("Мы отправим код подтверждения на привязанный email каждый раз при входе.", comment: "Описание работы кодов при входе"))
 | 
						|
                    .font(.footnote)
 | 
						|
                    .foregroundColor(.secondary)
 | 
						|
            }
 | 
						|
 | 
						|
            Section(header: Text(NSLocalizedString("Подтверждение email", comment: "Раздел подтверждения email"))) {
 | 
						|
                Text(NSLocalizedString("Email не подтверждён. Подтвердите, чтобы активировать дополнительные проверки.", comment: "Описание необходимости подтверждения email"))
 | 
						|
                    .font(.callout)
 | 
						|
                    .foregroundColor(.secondary)
 | 
						|
 | 
						|
                Button(NSLocalizedString("Отправить письмо подтверждения", comment: "Кнопка отправки письма подтверждения")) {
 | 
						|
                    activeAlert = EmailSecurityAlert(
 | 
						|
                        title: NSLocalizedString("Скоро", comment: "Заголовок заглушки"),
 | 
						|
                        message: NSLocalizedString("Мы отправим письмо, как только функция будет готова.", comment: "Сообщение при недоступной отправке письма")
 | 
						|
                    )
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
        .navigationTitle(NSLocalizedString("Email", comment: "Заголовок экрана настроек email"))
 | 
						|
        .navigationBarTitleDisplayMode(.inline)
 | 
						|
        .alert(item: $activeAlert) { alert in
 | 
						|
            Alert(
 | 
						|
                title: Text(alert.title),
 | 
						|
                message: Text(alert.message),
 | 
						|
                dismissButton: .default(Text(NSLocalizedString("OK", comment: "Общий текст кнопки OK")))
 | 
						|
            )
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
private struct EmailSecurityAlert: Identifiable {
 | 
						|
    let id = UUID()
 | 
						|
    let title: String
 | 
						|
    let message: String
 | 
						|
}
 | 
						|
 | 
						|
#if DEBUG
 | 
						|
struct EmailSecuritySettingsView_Previews: PreviewProvider {
 | 
						|
    static var previews: some View {
 | 
						|
        NavigationView {
 | 
						|
            EmailSecuritySettingsView()
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 | 
						|
#endif
 |