mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-10-31 08:15:24 +00:00
Show recovery instead of verification if this is the last session and recovery is set up
* Show recovery instead of verification if this is the last session and recovery is set up * Rename `recoveryKeyState` to `recoveryState` * Remove duplicates on session security state changes. * Fix missing "Save recovery key" button * Fix unit tests * Rename `isLastDevice` to `isOnlyDeviceLeft` * Address PR comments
This commit is contained in:
@@ -80,18 +80,20 @@ struct SettingsScreen: View {
|
||||
@ViewBuilder
|
||||
private var accountSecuritySection: some View {
|
||||
Section {
|
||||
if let isSessionVerified = context.viewState.isSessionVerified {
|
||||
if !isSessionVerified {
|
||||
ListRow(label: .default(title: L10n.actionCompleteVerification,
|
||||
icon: \.checkCircle),
|
||||
kind: .button { context.send(viewAction: .sessionVerification) })
|
||||
} else {
|
||||
ListRow(label: .default(title: L10n.commonChatBackup,
|
||||
icon: \.key),
|
||||
details: context.viewState.showSecureBackupBadge ? .icon(secureBackupBadge) : nil,
|
||||
kind: .navigationLink { context.send(viewAction: .secureBackup) })
|
||||
.accessibilityIdentifier(A11yIdentifiers.settingsScreen.secureBackup)
|
||||
}
|
||||
switch context.viewState.securitySectionMode {
|
||||
case .sessionVerification:
|
||||
ListRow(label: .default(title: L10n.actionCompleteVerification,
|
||||
icon: \.checkCircle),
|
||||
details: context.viewState.showSecuritySectionBadge ? .icon(securitySectionBadge) : nil,
|
||||
kind: .button { context.send(viewAction: .sessionVerification) })
|
||||
case .secureBackup:
|
||||
ListRow(label: .default(title: L10n.commonChatBackup,
|
||||
icon: \.key),
|
||||
details: context.viewState.showSecuritySectionBadge ? .icon(securitySectionBadge) : nil,
|
||||
kind: .navigationLink { context.send(viewAction: .secureBackup) })
|
||||
.accessibilityIdentifier(A11yIdentifiers.settingsScreen.secureBackup)
|
||||
default:
|
||||
EmptyView()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -210,8 +212,8 @@ struct SettingsScreen: View {
|
||||
}
|
||||
|
||||
@ViewBuilder
|
||||
private var secureBackupBadge: some View {
|
||||
if context.viewState.showSecureBackupBadge {
|
||||
private var securitySectionBadge: some View {
|
||||
if context.viewState.showSecuritySectionBadge {
|
||||
BadgeView(size: 10)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user