add confirm revoke
This commit is contained in:
parent
cf5d2ad7fb
commit
be6394f6fb
@ -345,6 +345,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"Вы выйдете со всех устройств, кроме текущего." : {
|
||||
"comment" : "Описание подтверждения завершения сессий"
|
||||
},
|
||||
"Выберите оценку — это поможет нам понять настроение." : {
|
||||
"comment" : "feedback: rating hint",
|
||||
"localizations" : {
|
||||
@ -453,10 +456,16 @@
|
||||
},
|
||||
"Заблокируйте аккаунт, чтобы скрыть его сообщения и взаимодействия" : {
|
||||
|
||||
},
|
||||
"Завершить" : {
|
||||
"comment" : "Подтверждение завершения других сессий"
|
||||
},
|
||||
"Завершить другие сессии" : {
|
||||
"comment" : "Кнопка завершения других сессий"
|
||||
},
|
||||
"Завершить сессии на других устройствах?" : {
|
||||
"comment" : "Заголовок подтверждения завершения сессий"
|
||||
},
|
||||
"Заглушка: Push-уведомления" : {
|
||||
|
||||
},
|
||||
@ -1344,7 +1353,7 @@
|
||||
|
||||
},
|
||||
"Отмена" : {
|
||||
"comment" : "Common cancel"
|
||||
"comment" : "Common cancel\nОбщий текст кнопки отмены"
|
||||
},
|
||||
"Отображаемое имя" : {
|
||||
|
||||
|
||||
@ -6,6 +6,7 @@ struct ActiveSessionsView: View {
|
||||
@State private var loadError: String?
|
||||
@State private var revokeInProgress = false
|
||||
@State private var activeAlert: SessionsAlert?
|
||||
@State private var showRevokeConfirmation = false
|
||||
|
||||
private let sessionsService = SessionsService()
|
||||
private var currentSession: SessionViewData? {
|
||||
@ -78,6 +79,17 @@ struct ActiveSessionsView: View {
|
||||
dismissButton: .default(Text(NSLocalizedString("OK", comment: "Общий текст кнопки OK")))
|
||||
)
|
||||
}
|
||||
.confirmationDialog(
|
||||
NSLocalizedString("Завершить сессии на других устройствах?", comment: "Заголовок подтверждения завершения сессий"),
|
||||
isPresented: $showRevokeConfirmation
|
||||
) {
|
||||
Button(NSLocalizedString("Завершить", comment: "Подтверждение завершения других сессий"), role: .destructive) {
|
||||
Task { await revokeOtherSessions() }
|
||||
}
|
||||
Button(NSLocalizedString("Отмена", comment: "Общий текст кнопки отмены"), role: .cancel) {}
|
||||
} message: {
|
||||
Text(NSLocalizedString("Вы выйдете со всех устройств, кроме текущего.", comment: "Описание подтверждения завершения сессий"))
|
||||
}
|
||||
}
|
||||
|
||||
private var loadingState: some View {
|
||||
@ -215,8 +227,8 @@ struct ActiveSessionsView: View {
|
||||
let primaryColor: Color = revokeInProgress ? .secondary : .red
|
||||
|
||||
return Button {
|
||||
Task {
|
||||
await revokeOtherSessions()
|
||||
if !revokeInProgress {
|
||||
showRevokeConfirmation = true
|
||||
}
|
||||
} label: {
|
||||
HStack(spacing: 12) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user