mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-04-27 19:56:57 +02:00
key backup settings: add delete confirmation dialog
This commit is contained in:
@@ -26,6 +26,7 @@ import UIKit
|
||||
func settingsKeyBackupTableViewSectionShowKeyBackupSetup(_ settingsKeyBackupTableViewSection: SettingsKeyBackupTableViewSection)
|
||||
func settingsKeyBackup(_ settingsKeyBackupTableViewSection: SettingsKeyBackupTableViewSection, showVerifyDevice deviceId:String)
|
||||
func settingsKeyBackup(_ settingsKeyBackupTableViewSection: SettingsKeyBackupTableViewSection, showKeyBackupRecover keyBackupVersion:MXKeyBackupVersion)
|
||||
func settingsKeyBackup(_ settingsKeyBackupTableViewSection: SettingsKeyBackupTableViewSection, showKeyBackupDeleteConfirm keyBackupVersion:MXKeyBackupVersion)
|
||||
}
|
||||
|
||||
@objc class SettingsKeyBackupTableViewSection: NSObject {
|
||||
@@ -56,6 +57,10 @@ import UIKit
|
||||
self.viewModel.process(viewAction: .load)
|
||||
}
|
||||
|
||||
@objc func delete(keyBackupVersion: MXKeyBackupVersion) {
|
||||
self.viewModel.process(viewAction: .delete(keyBackupVersion))
|
||||
}
|
||||
|
||||
// MARK: - Private
|
||||
|
||||
private func render(viewState: SettingsKeyBackupViewState) {
|
||||
@@ -281,13 +286,12 @@ import UIKit
|
||||
}
|
||||
|
||||
let deleteCell:MXKTableViewCellWithButton = delegate.settingsKeyBackupTableViewSection(self, buttonCellForRow: fromCellIndex + 1)
|
||||
let deleteTitle = "Delete backup"
|
||||
let deleteTitle = VectorL10n.settingsKeyBackupButtonDelete
|
||||
deleteCell.mxkButton.setTitle(deleteTitle, for: .normal)
|
||||
deleteCell.mxkButton.setTitle(deleteTitle, for: .highlighted)
|
||||
deleteCell.mxkButton.tintColor = ThemeService.shared().theme.warningColor
|
||||
deleteCell.mxkButton.vc_addAction {
|
||||
// TODO: Ask confirmation
|
||||
self.viewModel.process(viewAction: .delete(keyBackupVersion))
|
||||
self.viewModel.process(viewAction: .confirmDelete(keyBackupVersion))
|
||||
}
|
||||
|
||||
return [restoreCell, deleteCell]
|
||||
@@ -309,4 +313,7 @@ extension SettingsKeyBackupTableViewSection: SettingsKeyBackupViewModelViewDeleg
|
||||
func settingsKeyBackup(_ viewModel: SettingsKeyBackupViewModelType, showKeyBackupRecover keyBackupVersion: MXKeyBackupVersion) {
|
||||
self.delegate?.settingsKeyBackup(self, showKeyBackupRecover: keyBackupVersion)
|
||||
}
|
||||
func settingsKeyBackup(_ viewModel: SettingsKeyBackupViewModelType, showKeyBackupDeleteConfirm keyBackupVersion: MXKeyBackupVersion) {
|
||||
self.delegate?.settingsKeyBackup(self, showKeyBackupDeleteConfirm: keyBackupVersion)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,5 +21,6 @@ enum SettingsKeyBackupViewAction {
|
||||
case create
|
||||
case verify(String)
|
||||
case restore(MXKeyBackupVersion)
|
||||
case confirmDelete(MXKeyBackupVersion)
|
||||
case delete(MXKeyBackupVersion)
|
||||
}
|
||||
|
||||
@@ -55,6 +55,9 @@ class SettingsKeyBackupViewModel: SettingsKeyBackupViewModelType {
|
||||
case .restore(let keyBackupVersion):
|
||||
viewDelegate.settingsKeyBackup(self, showKeyBackupRecover: keyBackupVersion)
|
||||
break
|
||||
case .confirmDelete(let keyBackupVersion):
|
||||
viewDelegate.settingsKeyBackup(self, showKeyBackupDeleteConfirm: keyBackupVersion)
|
||||
break
|
||||
case .delete(let keyBackupVersion):
|
||||
self.deleteKeyBackupVersion(keyBackupVersion)
|
||||
break
|
||||
|
||||
@@ -22,6 +22,7 @@ protocol SettingsKeyBackupViewModelViewDelegate: class {
|
||||
func settingsKeyBackupViewModelShowKeyBackupSetup(_ viewModel: SettingsKeyBackupViewModelType)
|
||||
func settingsKeyBackup(_ viewModel: SettingsKeyBackupViewModelType, showVerifyDevice deviceId:String)
|
||||
func settingsKeyBackup(_ viewModel: SettingsKeyBackupViewModelType, showKeyBackupRecover keyBackupVersion:MXKeyBackupVersion)
|
||||
func settingsKeyBackup(_ viewModel: SettingsKeyBackupViewModelType, showKeyBackupDeleteConfirm keyBackupVersion:MXKeyBackupVersion)
|
||||
}
|
||||
|
||||
protocol SettingsKeyBackupViewModelType {
|
||||
|
||||
Reference in New Issue
Block a user