mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-02 12:07:55 +00:00
Remove the requiresExtraAccountSetup badge. (#5921)
It is no longer part of the designs, we only badge the item in Settings.
This commit is contained in:
@@ -10,7 +10,6 @@ import SwiftUI
|
||||
|
||||
struct AvatarSettingsButtonLabel: View {
|
||||
let userProfile: UserProfile
|
||||
var requiresExtraAccountSetup = false
|
||||
let mediaProvider: MediaProviderProtocol?
|
||||
|
||||
var body: some View {
|
||||
@@ -20,7 +19,6 @@ struct AvatarSettingsButtonLabel: View {
|
||||
avatarSize: .user(on: .chats),
|
||||
mediaProvider: mediaProvider)
|
||||
.accessibilityIdentifier(A11yIdentifiers.homeScreen.userAvatar)
|
||||
.overlayBadge(10, isBadged: requiresExtraAccountSetup)
|
||||
.modifier(StatusEmojiModifier(statusEmoji: userProfile.status.displayed?.emoji))
|
||||
.geometryGroup()
|
||||
}
|
||||
@@ -61,23 +59,11 @@ struct AvatarSettingsButtonLabel_Previews: PreviewProvider, TestablePreview {
|
||||
static var previews: some View {
|
||||
HStack(spacing: 16) {
|
||||
AvatarSettingsButtonLabel(userProfile: .mockAlice,
|
||||
requiresExtraAccountSetup: false,
|
||||
mediaProvider: MediaProviderMock(.init()))
|
||||
|
||||
AvatarSettingsButtonLabel(userProfile: .mockAlice,
|
||||
requiresExtraAccountSetup: true,
|
||||
mediaProvider: MediaProviderMock(.init()))
|
||||
|
||||
AvatarSettingsButtonLabel(userProfile: .init(userID: "",
|
||||
avatarURL: .mockMXCUserAvatar,
|
||||
status: .mock(text: "", emoji: "🌴")),
|
||||
requiresExtraAccountSetup: false,
|
||||
mediaProvider: MediaProviderMock(.init()))
|
||||
|
||||
AvatarSettingsButtonLabel(userProfile: .init(userID: "",
|
||||
avatarURL: .mockMXCUserAvatar,
|
||||
status: .mock(text: "", emoji: "🌴")),
|
||||
requiresExtraAccountSetup: true,
|
||||
mediaProvider: MediaProviderMock(.init()))
|
||||
}
|
||||
.padding(16)
|
||||
|
||||
@@ -95,8 +95,6 @@ struct HomeScreenViewState: BindableState {
|
||||
var securityBannerMode = HomeScreenSecurityBannerMode.none
|
||||
var shouldShowNewSoundBanner = false
|
||||
|
||||
var requiresExtraAccountSetup = false
|
||||
|
||||
var rooms: [HomeScreenRoom] = []
|
||||
var roomListMode: HomeScreenRoomListMode = .skeletons
|
||||
|
||||
|
||||
@@ -65,16 +65,13 @@ class HomeScreenViewModel: HomeScreenViewModelType, HomeScreenViewModelProtocol
|
||||
|
||||
switch securityState.recoveryState {
|
||||
case .disabled:
|
||||
state.requiresExtraAccountSetup = true
|
||||
if !state.securityBannerMode.isDismissed {
|
||||
state.securityBannerMode = .show(.setUpRecovery)
|
||||
}
|
||||
case .incomplete:
|
||||
state.requiresExtraAccountSetup = true
|
||||
state.securityBannerMode = .show(.recoveryOutOfSync)
|
||||
default:
|
||||
state.securityBannerMode = .none
|
||||
state.requiresExtraAccountSetup = false
|
||||
}
|
||||
}
|
||||
.store(in: &cancellables)
|
||||
|
||||
@@ -86,7 +86,6 @@ struct HomeScreen: View {
|
||||
context.send(viewAction: .showSettings)
|
||||
} label: {
|
||||
AvatarSettingsButtonLabel(userProfile: context.viewState.userProfile,
|
||||
requiresExtraAccountSetup: context.viewState.requiresExtraAccountSetup,
|
||||
mediaProvider: context.mediaProvider)
|
||||
}
|
||||
.accessibilityLabel(L10n.commonSettings)
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:918f6cb4e15876a84893fe1db1a5102540a37b272fcadc58fe8119e3aa4ca037
|
||||
size 21295
|
||||
oid sha256:13d4ba218a8a95bb13e9ab23d85ba8092cff7fad4dd26d75a2c9a21d6e4204fe
|
||||
size 20207
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:918f6cb4e15876a84893fe1db1a5102540a37b272fcadc58fe8119e3aa4ca037
|
||||
size 21295
|
||||
oid sha256:13d4ba218a8a95bb13e9ab23d85ba8092cff7fad4dd26d75a2c9a21d6e4204fe
|
||||
size 20207
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:4d355015973683e5a0260679f724c979ef2f070245bec6fd302c3c46b58591ff
|
||||
size 17368
|
||||
oid sha256:4447de0f020576d2f892ce4b95799f9b417ac5bfd3707791a974bc27093e7023
|
||||
size 16365
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:4d355015973683e5a0260679f724c979ef2f070245bec6fd302c3c46b58591ff
|
||||
size 17368
|
||||
oid sha256:4447de0f020576d2f892ce4b95799f9b417ac5bfd3707791a974bc27093e7023
|
||||
size 16365
|
||||
|
||||
@@ -202,20 +202,18 @@ final class HomeScreenViewModelTests {
|
||||
#expect(context.viewState.securityBannerMode == .none)
|
||||
|
||||
// When the recovery state comes through as disabled.
|
||||
var deferred = deferFulfillment(context.$viewState) { $0.requiresExtraAccountSetup == true }
|
||||
var deferred = deferFulfillment(context.$viewState) { $0.securityBannerMode == .show(.setUpRecovery) }
|
||||
securityStateStateSubject.send(.init(verificationState: .verified, recoveryState: .disabled))
|
||||
try await deferred.fulfill()
|
||||
|
||||
// Then the banner should be shown to set up recovery.
|
||||
#expect(context.viewState.securityBannerMode == .show(.setUpRecovery))
|
||||
|
||||
// When the recovery is enabled.
|
||||
deferred = deferFulfillment(context.$viewState) { $0.requiresExtraAccountSetup == false }
|
||||
securityStateStateSubject.send(.init(verificationState: .verified, recoveryState: .enabled))
|
||||
try await deferred.fulfill()
|
||||
|
||||
// When the recovery is enabled.
|
||||
deferred = deferFulfillment(context.$viewState) { $0.securityBannerMode == .none }
|
||||
securityStateStateSubject.send(.init(verificationState: .verified, recoveryState: .enabled))
|
||||
|
||||
// Then the banner should no longer be shown.
|
||||
#expect(context.viewState.securityBannerMode == .none)
|
||||
try await deferred.fulfill()
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -248,20 +246,18 @@ final class HomeScreenViewModelTests {
|
||||
#expect(context.viewState.securityBannerMode == .none)
|
||||
|
||||
// When the recovery state comes through as incomplete.
|
||||
var deferred = deferFulfillment(context.$viewState) { $0.requiresExtraAccountSetup == true }
|
||||
var deferred = deferFulfillment(context.$viewState) { $0.securityBannerMode == .show(.recoveryOutOfSync) }
|
||||
securityStateStateSubject.send(.init(verificationState: .verified, recoveryState: .incomplete))
|
||||
try await deferred.fulfill()
|
||||
|
||||
// Then the banner should be shown for out of sync recovery.
|
||||
#expect(context.viewState.securityBannerMode == .show(.recoveryOutOfSync))
|
||||
|
||||
// When the recovery is enabled.
|
||||
deferred = deferFulfillment(context.$viewState) { $0.requiresExtraAccountSetup == false }
|
||||
securityStateStateSubject.send(.init(verificationState: .verified, recoveryState: .enabled))
|
||||
try await deferred.fulfill()
|
||||
|
||||
// When the recovery is enabled.
|
||||
deferred = deferFulfillment(context.$viewState) { $0.securityBannerMode == .none }
|
||||
securityStateStateSubject.send(.init(verificationState: .verified, recoveryState: .enabled))
|
||||
|
||||
// Then the banner should no longer be shown.
|
||||
#expect(context.viewState.securityBannerMode == .none)
|
||||
try await deferred.fulfill()
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Reference in New Issue
Block a user