diff --git a/Vault/Sources/VaultiOS/Views/Backup/BackupImportCodeScannerView.swift b/Vault/Sources/VaultiOS/Views/Backup/BackupImportCodeScannerView.swift index d86445d61..046adb5c2 100644 --- a/Vault/Sources/VaultiOS/Views/Backup/BackupImportCodeScannerView.swift +++ b/Vault/Sources/VaultiOS/Views/Backup/BackupImportCodeScannerView.swift @@ -72,7 +72,7 @@ struct BackupImportCodeScannerView: View { isImagePickerVisible: $isCodeImagePickerGalleryVisible, ) .padding() - .modifier(HorizontallyCenter()) + .frame(maxWidth: .infinity) } } } diff --git a/Vault/Sources/VaultiOS/Views/Detail/EncryptedItemDetailView.swift b/Vault/Sources/VaultiOS/Views/Detail/EncryptedItemDetailView.swift index 5e87f9296..425a7a22a 100644 --- a/Vault/Sources/VaultiOS/Views/Detail/EncryptedItemDetailView.swift +++ b/Vault/Sources/VaultiOS/Views/Detail/EncryptedItemDetailView.swift @@ -81,29 +81,37 @@ struct EncryptedItemDetailView: View { } } + @ViewBuilder private var passwordEntrySection: some View { Section { FormRow(image: Image(systemName: "lock.fill"), color: .primary, style: .standard) { SecureField("Password...", text: $viewModel.enteredEncryptionPassword) } - } footer: { + } + .onChange(of: viewModel.enteredEncryptionPassword) { _, _ in + // When the text changes, reset the state. + viewModel.resetState() + } + + Section { AsyncButton { await viewModel.startDecryption() } label: { - Label("Decrypt", systemImage: "key.horizontal.fill") + decryptRow { + Text("Decrypt") + .foregroundStyle(Color.accentColor) + } } loading: { - ProgressView() - .tint(.white) + decryptRow { + ProgressView() + } } - .modifier(ProminentButtonModifier()) - .animation(.easeOut, value: viewModel.state) - .padding() - .modifier(HorizontallyCenter()) .disabled(!viewModel.canStartDecryption) } - .onChange(of: viewModel.enteredEncryptionPassword) { _, _ in - // When the text changes, reset the state. - viewModel.resetState() - } + .animation(.easeOut, value: viewModel.state) + } + + private func decryptRow(@ViewBuilder content: @escaping () -> some View) -> some View { + FormRow(image: Image(systemName: "key.horizontal.fill"), color: .accentColor, content: content) } } diff --git a/Vault/Sources/VaultiOS/Views/Detail/OTP/OTPCodeCreateView.swift b/Vault/Sources/VaultiOS/Views/Detail/OTP/OTPCodeCreateView.swift index bea003f04..dc99f009f 100644 --- a/Vault/Sources/VaultiOS/Views/Detail/OTP/OTPCodeCreateView.swift +++ b/Vault/Sources/VaultiOS/Views/Detail/OTP/OTPCodeCreateView.swift @@ -121,7 +121,7 @@ struct OTPCodeCreateView< isImagePickerVisible: $isCodeImagePickerGalleryVisible, ) .padding() - .modifier(HorizontallyCenter()) + .frame(maxWidth: .infinity) } } } diff --git a/Vault/Sources/VaultiOS/Views/Detail/OTP/OTPCodeDetailView.swift b/Vault/Sources/VaultiOS/Views/Detail/OTP/OTPCodeDetailView.swift index 2c63f30ce..aa9bd8334 100644 --- a/Vault/Sources/VaultiOS/Views/Detail/OTP/OTPCodeDetailView.swift +++ b/Vault/Sources/VaultiOS/Views/Detail/OTP/OTPCodeDetailView.swift @@ -300,7 +300,7 @@ struct OTPCodeDetailView VaultItemOnTapDecoratorViewGenerator { diff --git a/Vault/Sources/VaultiOS/Views/Detail/SecureNote/SecureNoteDetailView.swift b/Vault/Sources/VaultiOS/Views/Detail/SecureNote/SecureNoteDetailView.swift index 08dcd7b0d..4c9054f73 100644 --- a/Vault/Sources/VaultiOS/Views/Detail/SecureNote/SecureNoteDetailView.swift +++ b/Vault/Sources/VaultiOS/Views/Detail/SecureNote/SecureNoteDetailView.swift @@ -275,6 +275,7 @@ struct SecureNoteDetailView: View { } } + @ViewBuilder private var editingActionsSection: some View { Section { Picker(selection: $viewModel.editingModel.detail.textFormat) { @@ -382,12 +383,11 @@ struct SecureNoteDetailView: View { } } } - } footer: { - if viewModel.shouldShowDeleteButton { + } + + if viewModel.shouldShowDeleteButton { + Section { deleteButton - .padding(.horizontal) - .modifier(HorizontallyCenter()) - .padding(.vertical, 12) } } } @@ -396,9 +396,11 @@ struct SecureNoteDetailView: View { Button { isShowingDeleteConfirmation = true } label: { - Label(localized(key: "action.delete.title"), systemImage: "trash.fill") + FormRow(image: Image(systemName: "trash.fill"), color: .red) { + Text(localized(key: "action.delete.title")) + .foregroundStyle(Color.red) + } } - .modifier(ProminentButtonModifier(color: .red)) } } diff --git a/Vault/Sources/VaultiOS/Views/Detail/VaultDetailEncryptionEditView.swift b/Vault/Sources/VaultiOS/Views/Detail/VaultDetailEncryptionEditView.swift index 41248d46d..9b3bb6816 100644 --- a/Vault/Sources/VaultiOS/Views/Detail/VaultDetailEncryptionEditView.swift +++ b/Vault/Sources/VaultiOS/Views/Detail/VaultDetailEncryptionEditView.swift @@ -51,6 +51,7 @@ struct VaultDetailEncryptionEditView: View { } } + @ViewBuilder private var createEncryptionSection: some View { Section { FormRow(image: Image(systemName: "lock.fill"), color: .primary, style: .standard) { @@ -68,22 +69,25 @@ struct VaultDetailEncryptionEditView: View { SecureField("Confirm Password", text: $newEncryptionPasswordConfirm) } } - } footer: { - if newEncryptionPassword.isNotBlank { + } + + if newEncryptionPassword.isNotBlank { + Section { Button { didSetNewEncryptionPassword(newEncryptionPassword) dismiss() } label: { - Label("Encrypt", systemImage: "checkmark.circle.fill") + FormRow(image: Image(systemName: "checkmark.circle.fill"), color: .accentColor) { + Text("Encrypt") + .foregroundStyle(Color.accentColor) + } } - .modifier(ProminentButtonModifier()) - .padding() - .modifier(HorizontallyCenter()) .disabled(!doPasswordsMatch) } } } + @ViewBuilder private var removeEncryptionSection: some View { Section { Text(""" @@ -93,16 +97,18 @@ struct VaultDetailEncryptionEditView: View { """) .foregroundStyle(.secondary) .font(.caption) - } footer: { + } + + Section { Button { didRemoveEncryption() dismiss() } label: { - Label("Remove Encryption", systemImage: "xmark.circle.fill") + FormRow(image: Image(systemName: "xmark.circle.fill"), color: .red) { + Text("Remove Encryption") + .foregroundStyle(Color.red) + } } - .modifier(ProminentButtonModifier(color: .red)) - .padding() - .modifier(HorizontallyCenter()) } } } diff --git a/Vault/Sources/VaultiOS/Views/Detail/VaultItemDetailView.swift b/Vault/Sources/VaultiOS/Views/Detail/VaultItemDetailView.swift index 291ffe019..991eb5d5b 100644 --- a/Vault/Sources/VaultiOS/Views/Detail/VaultItemDetailView.swift +++ b/Vault/Sources/VaultiOS/Views/Detail/VaultItemDetailView.swift @@ -97,19 +97,22 @@ struct VaultItemDetailView: ) .padding() .containerRelativeFrame(.horizontal) - } footer: { + } + + Section { AsyncButton { try await authenticationService.validateAuthentication(reason: "Unlock item") viewModel.isLocked = false } label: { - Label("Unlock", systemImage: "key.horizontal.fill") + unlockRow { + Text("Unlock") + .foregroundStyle(Color.accentColor) + } } loading: { - ProgressView() - .tint(.white) + unlockRow { + ProgressView() + } } - .modifier(ProminentButtonModifier()) - .containerRelativeFrame(.horizontal) - .padding() } } else { Section { @@ -128,19 +131,25 @@ struct VaultItemDetailView: .foregroundStyle(.secondary) } } - } footer: { + } + + Section { Button { viewModel.isLocked = false } label: { - Text("Dismiss") + FormRow(image: Image(systemName: "xmark.circle.fill"), color: .accentColor) { + Text("Dismiss") + .foregroundStyle(Color.accentColor) + } } - .modifier(ProminentButtonModifier()) - .containerRelativeFrame(.horizontal) - .padding() } } } + private func unlockRow(@ViewBuilder content: @escaping () -> some View) -> some View { + FormRow(image: Image(systemName: "key.horizontal.fill"), color: .accentColor, content: content) + } + private var cancelCreationItem: some ToolbarContent { // This button always dismisses immediately (without saving) if it's the initial creation. // (Dirty or not!) diff --git a/Vault/Sources/VaultiOS/Views/General/Color+Constrast.swift b/Vault/Sources/VaultiOS/Views/General/Color+Constrast.swift index 7afdc1e0b..18a9872c9 100644 --- a/Vault/Sources/VaultiOS/Views/General/Color+Constrast.swift +++ b/Vault/Sources/VaultiOS/Views/General/Color+Constrast.swift @@ -16,16 +16,6 @@ extension Color { return 0.0 } - /// Determine appropriate foreground color for contrast - var contrastingForegroundColor: Color { - isPercievedLight ? .black.opacity(0.8) : .white - } - - /// Determine appropriate foreground color for contrast - var contrastingBackgroudColor: Color { - isPercievedLight ? .primary.opacity(0.8) : Color(UIColor.systemBackground).opacity(0.8) - } - var isPercievedLight: Bool { percievedBrightness > 0.9 } diff --git a/Vault/Sources/VaultiOS/Views/General/ProminentButtonModifier.swift b/Vault/Sources/VaultiOS/Views/General/ProminentButtonModifier.swift deleted file mode 100644 index 525f3722c..000000000 --- a/Vault/Sources/VaultiOS/Views/General/ProminentButtonModifier.swift +++ /dev/null @@ -1,30 +0,0 @@ -import Foundation -import SwiftUI - -/// Makes a button prominent with a standard background color and border. -public struct ProminentButtonModifier: ViewModifier { - var color: Color - public init(color: Color = Color.accentColor) { - self.color = color - } - - public func body(content: Content) -> some View { - content - .font(.headline) - .foregroundStyle(.white) - .buttonStyle(.borderless) - .padding(.horizontal, 16) - .padding(.vertical, 12) - .background(color) - .clipShape(RoundedRectangle(cornerRadius: 12)) - } -} - -#Preview { - Button { - // noop - } label: { - Text("Hello") - } - .modifier(ProminentButtonModifier()) -} diff --git a/Vault/Sources/VaultiOS/Views/General/SearchTextField.swift b/Vault/Sources/VaultiOS/Views/General/SearchTextField.swift deleted file mode 100644 index ec6e94e1c..000000000 --- a/Vault/Sources/VaultiOS/Views/General/SearchTextField.swift +++ /dev/null @@ -1,44 +0,0 @@ -import Foundation -import SwiftUI - -struct SearchTextField: View { - var title: String - @Binding var text: String - - @FocusState private var isFocused: Bool - let radius = 8.0 - - var body: some View { - HStack(spacing: 8) { - TextField(title, text: $text) - .textFieldStyle(.plain) - .keyboardType(.default) - .autocorrectionDisabled() - .textInputAutocapitalization(.never) - .submitLabel(.done) - .focused($isFocused) - .padding(radius) - .background(backgroundColor) - .clipShape(RoundedRectangle(cornerRadius: radius)) - - if text != "" { - cancelButton - } - } - .animation(.snappy, value: text) - } - - private var cancelButton: some View { - Button { - text = "" - isFocused = false - } label: { - Text("Cancel") - .foregroundStyle(.primary, .secondary) - } - } - - private var backgroundColor: Color { - Color(UIColor.secondarySystemBackground) - } -} diff --git a/Vault/Sources/VaultiOS/Views/General/TextArea.swift b/Vault/Sources/VaultiOS/Views/General/TextArea.swift deleted file mode 100644 index 195a14ab7..000000000 --- a/Vault/Sources/VaultiOS/Views/General/TextArea.swift +++ /dev/null @@ -1,41 +0,0 @@ -import Foundation -import SwiftUI -import UIKit - -struct TextArea: UIViewRepresentable { - @Binding var text: String - var font: UIFont - - func makeUIView(context: Context) -> UITextView { - let textView = UITextView() - textView.delegate = context.coordinator - textView.font = font - textView.isScrollEnabled = true - textView.isEditable = true - return textView - } - - func updateUIView(_ uiView: UITextView, context _: Context) { - uiView.text = text - } - - func makeCoordinator() -> Coordinator { - Coordinator(text: $text) - } - - /// Coordinator to handle UITextViewDelegate events - class Coordinator: NSObject, UITextViewDelegate { - @Binding var text: String - - init(text: Binding) { - _text = text - } - - func textViewDidChange(_ textView: UITextView) { - DispatchQueue.main.async { - let text = textView.text - self.text = text ?? "" - } - } - } -} diff --git a/Vault/Sources/VaultiOS/Views/General/TextEditingView.swift b/Vault/Sources/VaultiOS/Views/General/TextEditingView.swift deleted file mode 100644 index a04cfebf0..000000000 --- a/Vault/Sources/VaultiOS/Views/General/TextEditingView.swift +++ /dev/null @@ -1,28 +0,0 @@ -import Combine -import Foundation -import SwiftUI -import UIKit - -/// A full-screen text editing view for longform content. -/// -/// The reason for this view's existance is the bugs we've experienced with raw SwiftUI text editors. -/// It wraps a UIViewController under the hood, so we don't rely on SwiftUI for eventing at all. -struct TextEditingView: UIViewControllerRepresentable { - typealias UIViewControllerType = TextViewViewController - @Binding var text: String - var font: UIFont - - func makeUIViewController(context _: Context) -> TextViewViewController { - let viewController = TextViewViewController(initialText: text, font: font) - viewController.textChangedPublisher() - .sink { newValue in - text = newValue - } - .store(in: &viewController.cancellables) - return viewController - } - - func updateUIViewController(_: TextViewViewController, context _: Context) { - // empty - } -} diff --git a/Vault/Sources/VaultiOS/Views/General/TextViewViewController.swift b/Vault/Sources/VaultiOS/Views/General/TextViewViewController.swift deleted file mode 100644 index f7e777e04..000000000 --- a/Vault/Sources/VaultiOS/Views/General/TextViewViewController.swift +++ /dev/null @@ -1,55 +0,0 @@ -import Combine -import Foundation -import UIKit - -final class TextViewViewController: UIViewController { - private let font: UIFont - private let textView: UITextView = { - let view = UITextView() - view.translatesAutoresizingMaskIntoConstraints = false - view.backgroundColor = .clear - return view - }() - - private let textChangedSubject = PassthroughSubject() - - var cancellables = Set() - - init(initialText: String, font: UIFont) { - self.font = font - super.init(nibName: nil, bundle: nil) - - textView.text = initialText - textView.delegate = self - } - - @available(*, unavailable) - required init?(coder _: NSCoder) { - fatalError("init(coder:) has not been implemented") - } - - override func viewDidLoad() { - super.viewDidLoad() - - view.addSubview(textView) - NSLayoutConstraint.activate([ - textView.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 8), - textView.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: -8), - textView.topAnchor.constraint(equalTo: view.topAnchor, constant: 8), - textView.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: -8), - ]) - textView.textContainer.lineFragmentPadding = 0 - textView.textContainerInset = .zero - textView.font = font - } - - func textChangedPublisher() -> AnyPublisher { - textChangedSubject.removeDuplicates().eraseToAnyPublisher() - } -} - -extension TextViewViewController: UITextViewDelegate { - func textViewDidChange(_ textView: UITextView) { - textChangedSubject.send(textView.text) - } -} diff --git a/Vault/Sources/VaultiOS/Views/General/View+Center.swift b/Vault/Sources/VaultiOS/Views/General/View+Center.swift deleted file mode 100644 index 0e866acf4..000000000 --- a/Vault/Sources/VaultiOS/Views/General/View+Center.swift +++ /dev/null @@ -1,27 +0,0 @@ -import Foundation -import SwiftUI - -struct HorizontallyCenter: ViewModifier { - func body(content: Content) -> some View { - HStack(alignment: .center) { - Spacer() - content - Spacer() - } - } -} - -struct VerticallyCenterUpperThird: ViewModifier { - var alignment: HorizontalAlignment - - func body(content: Content) -> some View { - VStack(alignment: alignment) { - Spacer() - Spacer() - content - Spacer() - Spacer() - Spacer() - } - } -} diff --git a/Vault/Sources/VaultiOS/Views/Previews/OTP/OTPCodeLabels.swift b/Vault/Sources/VaultiOS/Views/Previews/OTP/OTPCodeLabels.swift deleted file mode 100644 index 66bcb50b1..000000000 --- a/Vault/Sources/VaultiOS/Views/Previews/OTP/OTPCodeLabels.swift +++ /dev/null @@ -1,48 +0,0 @@ -import SwiftUI - -struct OTPCodeLabels: View { - var accountName: String - var issuer: String - - var body: some View { - VStack(alignment: .leading, spacing: 0) { - Text(issuerNameFormatted) - .font(.footnote.bold()) - .foregroundStyle(.primary) - .lineLimit(2) - .multilineTextAlignment(.leading) - .truncationMode(.tail) - .minimumScaleFactor(0.8) - Text(accountNameFormatted) - .font(.caption) - .foregroundStyle(.secondary) - .lineLimit(1) - .minimumScaleFactor(0.5) - } - .multilineTextAlignment(.leading) - } - - private var issuerNameFormatted: String { - if issuer.isNotEmpty { - issuer - } else { - localized(key: "code.issuerPlaceholder") - } - } - - private var accountNameFormatted: String { - if accountName.isNotEmpty { - accountName - } else { - localized(key: "code.accountNamePlaceholder") - } - } -} - -#Preview { - VStack(alignment: .leading, spacing: 20) { - OTPCodeLabels(accountName: "", issuer: "") - OTPCodeLabels(accountName: "test@test.com", issuer: "") - OTPCodeLabels(accountName: "test@test.com", issuer: "Authority") - } -} diff --git a/Vault/Sources/VaultiOS/Views/Settings/SettingsDangerView.swift b/Vault/Sources/VaultiOS/Views/Settings/SettingsDangerView.swift index 9408f87e7..9468f5992 100644 --- a/Vault/Sources/VaultiOS/Views/Settings/SettingsDangerView.swift +++ b/Vault/Sources/VaultiOS/Views/Settings/SettingsDangerView.swift @@ -16,6 +16,7 @@ struct SettingsDangerView: View { var body: some View { Form { headerSection + deleteAllSection } .navigationBarTitleDisplayMode(.inline) .interactiveDismissDisabled(viewModel.isDeleting) @@ -31,16 +32,11 @@ struct SettingsDangerView: View { .padding() .containerRelativeFrame(.horizontal) .foregroundStyle(.red) - } footer: { - VStack(alignment: .center, spacing: 16) { - deleteAllButton - } - .padding(16) } } - private var deleteAllButton: some View { - VStack(alignment: .center, spacing: 8) { + private var deleteAllSection: some View { + Section { AsyncButton { do { withAnimation { @@ -56,21 +52,24 @@ struct SettingsDangerView: View { } } } label: { - Label("Delete All Data", systemImage: "trash.fill") + deleteAllRow { + Text("Delete All Data") + .foregroundStyle(Color.red) + } } loading: { - ProgressView() - .tint(.white) + deleteAllRow { + ProgressView() + } } - .modifier(ProminentButtonModifier(color: .red)) - + } footer: { if let deleteError { - Group { - Text(deleteError.userDescription ?? "Error deleting data.") - } - .font(.caption) - .foregroundStyle(.secondary) + Text(deleteError.userDescription ?? "Error deleting data.") + .foregroundStyle(.red) } } - .frame(maxWidth: .infinity) + } + + private func deleteAllRow(@ViewBuilder content: @escaping () -> some View) -> some View { + FormRow(image: Image(systemName: "trash.fill"), color: .red, content: content) } } diff --git a/Vault/Sources/VaultiOS/Views/Tags/VaultTagDetailView.swift b/Vault/Sources/VaultiOS/Views/Tags/VaultTagDetailView.swift index aecb410fc..bec822133 100644 --- a/Vault/Sources/VaultiOS/Views/Tags/VaultTagDetailView.swift +++ b/Vault/Sources/VaultiOS/Views/Tags/VaultTagDetailView.swift @@ -91,15 +91,20 @@ struct VaultTagDetailView: View { await viewModel.delete() dismiss() } label: { - Label("Delete Tag", systemImage: "trash.fill") + deleteRow { + Text("Delete Tag") + .foregroundStyle(Color.red) + } } loading: { - ProgressView() - .tint(.white) + deleteRow { + ProgressView() + } } - .modifier(ProminentButtonModifier(color: .red)) - .modifier(HorizontallyCenter()) } - .listRowBackground(EmptyView()) + } + + private func deleteRow(@ViewBuilder content: @escaping () -> some View) -> some View { + FormRow(image: Image(systemName: "trash.fill"), color: .red, content: content) } } diff --git a/Vault/Sources/VaultiOSAutofill/Views/VaultAutofillConfigurationView.swift b/Vault/Sources/VaultiOSAutofill/Views/VaultAutofillConfigurationView.swift index 2110cd051..b30c309f1 100644 --- a/Vault/Sources/VaultiOSAutofill/Views/VaultAutofillConfigurationView.swift +++ b/Vault/Sources/VaultiOSAutofill/Views/VaultAutofillConfigurationView.swift @@ -57,10 +57,10 @@ struct VaultAutofillConfigurationView: View { viewModel.dismiss() } label: { Text("Continue") - .font(.headline) .frame(maxWidth: .infinity) } - .modifier(ProminentButtonModifier()) + .buttonStyle(.borderedProminent) + .controlSize(.large) } .multilineTextAlignment(.center) } diff --git a/Vault/Tests/VaultiOSAutofillTests/__Snapshots__/VaultAutofillConfigurationViewSnapshotTests/layout.1.png b/Vault/Tests/VaultiOSAutofillTests/__Snapshots__/VaultAutofillConfigurationViewSnapshotTests/layout.1.png index a0755b872..efe7fb56c 100644 Binary files a/Vault/Tests/VaultiOSAutofillTests/__Snapshots__/VaultAutofillConfigurationViewSnapshotTests/layout.1.png and b/Vault/Tests/VaultiOSAutofillTests/__Snapshots__/VaultAutofillConfigurationViewSnapshotTests/layout.1.png differ diff --git a/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/editMode_emptyState.dark_medium.png b/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/editMode_emptyState.dark_medium.png index 31f61aa19..d2091edb9 100644 Binary files a/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/editMode_emptyState.dark_medium.png and b/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/editMode_emptyState.dark_medium.png differ diff --git a/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/editMode_emptyState.dark_xSmall.png b/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/editMode_emptyState.dark_xSmall.png index 87f74d4f8..7e50229de 100644 Binary files a/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/editMode_emptyState.dark_xSmall.png and b/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/editMode_emptyState.dark_xSmall.png differ diff --git a/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/editMode_emptyState.dark_xxLarge.png b/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/editMode_emptyState.dark_xxLarge.png index 58f07947e..4b6aa9063 100644 Binary files a/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/editMode_emptyState.dark_xxLarge.png and b/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/editMode_emptyState.dark_xxLarge.png differ diff --git a/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/editMode_emptyState.light_medium.png b/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/editMode_emptyState.light_medium.png index 31f61aa19..d2091edb9 100644 Binary files a/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/editMode_emptyState.light_medium.png and b/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/editMode_emptyState.light_medium.png differ diff --git a/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/editMode_emptyState.light_xSmall.png b/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/editMode_emptyState.light_xSmall.png index 87f74d4f8..7e50229de 100644 Binary files a/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/editMode_emptyState.light_xSmall.png and b/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/editMode_emptyState.light_xSmall.png differ diff --git a/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/editMode_emptyState.light_xxLarge.png b/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/editMode_emptyState.light_xxLarge.png index 58f07947e..4b6aa9063 100644 Binary files a/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/editMode_emptyState.light_xxLarge.png and b/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/editMode_emptyState.light_xxLarge.png differ diff --git a/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/lockedState.dark_medium.png b/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/lockedState.dark_medium.png index 7d65f4113..9cd86c12a 100644 Binary files a/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/lockedState.dark_medium.png and b/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/lockedState.dark_medium.png differ diff --git a/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/lockedState.dark_xSmall.png b/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/lockedState.dark_xSmall.png index a414059bf..4e855075b 100644 Binary files a/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/lockedState.dark_xSmall.png and b/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/lockedState.dark_xSmall.png differ diff --git a/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/lockedState.dark_xxLarge.png b/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/lockedState.dark_xxLarge.png index 00a17bfff..16dcc30cd 100644 Binary files a/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/lockedState.dark_xxLarge.png and b/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/lockedState.dark_xxLarge.png differ diff --git a/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/lockedState.light_medium.png b/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/lockedState.light_medium.png index 7d65f4113..9cd86c12a 100644 Binary files a/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/lockedState.light_medium.png and b/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/lockedState.light_medium.png differ diff --git a/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/lockedState.light_xSmall.png b/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/lockedState.light_xSmall.png index a414059bf..4e855075b 100644 Binary files a/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/lockedState.light_xSmall.png and b/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/lockedState.light_xSmall.png differ diff --git a/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/lockedState.light_xxLarge.png b/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/lockedState.light_xxLarge.png index 00a17bfff..16dcc30cd 100644 Binary files a/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/lockedState.light_xxLarge.png and b/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/lockedState.light_xxLarge.png differ diff --git a/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/lockedStateNoAuthentication.dark_medium.png b/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/lockedStateNoAuthentication.dark_medium.png index e19f8d002..fafeb028f 100644 Binary files a/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/lockedStateNoAuthentication.dark_medium.png and b/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/lockedStateNoAuthentication.dark_medium.png differ diff --git a/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/lockedStateNoAuthentication.dark_xSmall.png b/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/lockedStateNoAuthentication.dark_xSmall.png index 331aaff3d..c40843915 100644 Binary files a/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/lockedStateNoAuthentication.dark_xSmall.png and b/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/lockedStateNoAuthentication.dark_xSmall.png differ diff --git a/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/lockedStateNoAuthentication.dark_xxLarge.png b/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/lockedStateNoAuthentication.dark_xxLarge.png index d71585fb7..5f80559fb 100644 Binary files a/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/lockedStateNoAuthentication.dark_xxLarge.png and b/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/lockedStateNoAuthentication.dark_xxLarge.png differ diff --git a/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/lockedStateNoAuthentication.light_medium.png b/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/lockedStateNoAuthentication.light_medium.png index e19f8d002..fafeb028f 100644 Binary files a/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/lockedStateNoAuthentication.light_medium.png and b/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/lockedStateNoAuthentication.light_medium.png differ diff --git a/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/lockedStateNoAuthentication.light_xSmall.png b/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/lockedStateNoAuthentication.light_xSmall.png index 331aaff3d..c40843915 100644 Binary files a/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/lockedStateNoAuthentication.light_xSmall.png and b/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/lockedStateNoAuthentication.light_xSmall.png differ diff --git a/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/lockedStateNoAuthentication.light_xxLarge.png b/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/lockedStateNoAuthentication.light_xxLarge.png index d71585fb7..5f80559fb 100644 Binary files a/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/lockedStateNoAuthentication.light_xxLarge.png and b/Vault/Tests/VaultiOSTests/__Snapshots__/OTPCodeDetailViewSnapshotTests/lockedStateNoAuthentication.light_xxLarge.png differ diff --git a/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/editMode_editedContent.dark_medium.png b/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/editMode_editedContent.dark_medium.png index a57d33784..5fa5b133e 100644 Binary files a/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/editMode_editedContent.dark_medium.png and b/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/editMode_editedContent.dark_medium.png differ diff --git a/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/editMode_editedContent.dark_xSmall.png b/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/editMode_editedContent.dark_xSmall.png index 36c0999a5..8d90ea9d0 100644 Binary files a/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/editMode_editedContent.dark_xSmall.png and b/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/editMode_editedContent.dark_xSmall.png differ diff --git a/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/editMode_editedContent.dark_xxLarge.png b/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/editMode_editedContent.dark_xxLarge.png index 0612fe8e4..cfedac0ba 100644 Binary files a/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/editMode_editedContent.dark_xxLarge.png and b/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/editMode_editedContent.dark_xxLarge.png differ diff --git a/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/editMode_editedContent.light_medium.png b/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/editMode_editedContent.light_medium.png index a57d33784..5fa5b133e 100644 Binary files a/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/editMode_editedContent.light_medium.png and b/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/editMode_editedContent.light_medium.png differ diff --git a/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/editMode_editedContent.light_xSmall.png b/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/editMode_editedContent.light_xSmall.png index 36c0999a5..8d90ea9d0 100644 Binary files a/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/editMode_editedContent.light_xSmall.png and b/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/editMode_editedContent.light_xSmall.png differ diff --git a/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/editMode_editedContent.light_xxLarge.png b/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/editMode_editedContent.light_xxLarge.png index 0612fe8e4..cfedac0ba 100644 Binary files a/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/editMode_editedContent.light_xxLarge.png and b/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/editMode_editedContent.light_xxLarge.png differ diff --git a/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/editMode_emptyState.dark_medium.png b/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/editMode_emptyState.dark_medium.png index 0fa2e6bc2..debac2d52 100644 Binary files a/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/editMode_emptyState.dark_medium.png and b/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/editMode_emptyState.dark_medium.png differ diff --git a/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/editMode_emptyState.dark_xSmall.png b/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/editMode_emptyState.dark_xSmall.png index 7d2d53e6d..9f2e12b76 100644 Binary files a/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/editMode_emptyState.dark_xSmall.png and b/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/editMode_emptyState.dark_xSmall.png differ diff --git a/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/editMode_emptyState.dark_xxLarge.png b/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/editMode_emptyState.dark_xxLarge.png index 2eb1707c3..9ef9feb17 100644 Binary files a/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/editMode_emptyState.dark_xxLarge.png and b/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/editMode_emptyState.dark_xxLarge.png differ diff --git a/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/editMode_emptyState.light_medium.png b/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/editMode_emptyState.light_medium.png index 0fa2e6bc2..debac2d52 100644 Binary files a/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/editMode_emptyState.light_medium.png and b/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/editMode_emptyState.light_medium.png differ diff --git a/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/editMode_emptyState.light_xSmall.png b/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/editMode_emptyState.light_xSmall.png index 7d2d53e6d..9f2e12b76 100644 Binary files a/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/editMode_emptyState.light_xSmall.png and b/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/editMode_emptyState.light_xSmall.png differ diff --git a/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/editMode_emptyState.light_xxLarge.png b/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/editMode_emptyState.light_xxLarge.png index 2eb1707c3..9ef9feb17 100644 Binary files a/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/editMode_emptyState.light_xxLarge.png and b/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/editMode_emptyState.light_xxLarge.png differ diff --git a/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/lockedState.dark_medium.png b/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/lockedState.dark_medium.png index 9333e7a6e..936313cf4 100644 Binary files a/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/lockedState.dark_medium.png and b/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/lockedState.dark_medium.png differ diff --git a/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/lockedState.dark_xSmall.png b/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/lockedState.dark_xSmall.png index 8a5adf08a..85c19e629 100644 Binary files a/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/lockedState.dark_xSmall.png and b/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/lockedState.dark_xSmall.png differ diff --git a/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/lockedState.dark_xxLarge.png b/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/lockedState.dark_xxLarge.png index 573442747..3879f87f3 100644 Binary files a/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/lockedState.dark_xxLarge.png and b/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/lockedState.dark_xxLarge.png differ diff --git a/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/lockedState.light_medium.png b/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/lockedState.light_medium.png index 9333e7a6e..936313cf4 100644 Binary files a/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/lockedState.light_medium.png and b/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/lockedState.light_medium.png differ diff --git a/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/lockedState.light_xSmall.png b/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/lockedState.light_xSmall.png index 8a5adf08a..85c19e629 100644 Binary files a/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/lockedState.light_xSmall.png and b/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/lockedState.light_xSmall.png differ diff --git a/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/lockedState.light_xxLarge.png b/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/lockedState.light_xxLarge.png index 573442747..3879f87f3 100644 Binary files a/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/lockedState.light_xxLarge.png and b/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/lockedState.light_xxLarge.png differ diff --git a/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/lockedStateNoAuthentication.dark_medium.png b/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/lockedStateNoAuthentication.dark_medium.png index 5ee4abb83..eec90c08b 100644 Binary files a/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/lockedStateNoAuthentication.dark_medium.png and b/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/lockedStateNoAuthentication.dark_medium.png differ diff --git a/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/lockedStateNoAuthentication.dark_xSmall.png b/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/lockedStateNoAuthentication.dark_xSmall.png index 177957be4..1a22818ef 100644 Binary files a/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/lockedStateNoAuthentication.dark_xSmall.png and b/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/lockedStateNoAuthentication.dark_xSmall.png differ diff --git a/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/lockedStateNoAuthentication.dark_xxLarge.png b/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/lockedStateNoAuthentication.dark_xxLarge.png index 7c1ab13cf..849ca0fc1 100644 Binary files a/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/lockedStateNoAuthentication.dark_xxLarge.png and b/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/lockedStateNoAuthentication.dark_xxLarge.png differ diff --git a/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/lockedStateNoAuthentication.light_medium.png b/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/lockedStateNoAuthentication.light_medium.png index 5ee4abb83..eec90c08b 100644 Binary files a/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/lockedStateNoAuthentication.light_medium.png and b/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/lockedStateNoAuthentication.light_medium.png differ diff --git a/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/lockedStateNoAuthentication.light_xSmall.png b/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/lockedStateNoAuthentication.light_xSmall.png index 177957be4..1a22818ef 100644 Binary files a/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/lockedStateNoAuthentication.light_xSmall.png and b/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/lockedStateNoAuthentication.light_xSmall.png differ diff --git a/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/lockedStateNoAuthentication.light_xxLarge.png b/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/lockedStateNoAuthentication.light_xxLarge.png index 7c1ab13cf..849ca0fc1 100644 Binary files a/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/lockedStateNoAuthentication.light_xxLarge.png and b/Vault/Tests/VaultiOSTests/__Snapshots__/SecureNoteDetailViewSnapshotTests/lockedStateNoAuthentication.light_xxLarge.png differ