mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-05-21 07:02:09 +02:00
Merge branch 'feature/4519_voice_over_texte_secure_textfield' into 'develop'
Feature/4519 voice over texte secure textfield See merge request bwmessenger/bundesmessenger/bundesmessenger-ios!131
This commit is contained in:
@@ -612,3 +612,7 @@
|
||||
// MARK: - Device Manager
|
||||
"user_session_verified_session_description" = "Du hast deine Sitzung durch Eingabe des Wiederherstellungsschlüssels oder durch die Verifizierung mit einem anderen Gerät bestätigt. Dies bedeutet, dass du alle Schlüssel zum Entschlüsseln deiner Nachrichten hast und anderen bestätigst, dieser Sitzung zu vertrauen.";
|
||||
"user_session_button_view_all" = "Alle anzeigen (%d)";
|
||||
|
||||
// MARK: - Voice Over
|
||||
"textfield_reveal_secret" = "Texteingabe anzeigen";
|
||||
"textfield_hide_secret" = "Texteingabe verbergen";
|
||||
|
||||
@@ -198,7 +198,7 @@
|
||||
"secure_key_backup_setup_intro_use_security_passphrase_title" = "Recovery Key";
|
||||
"secure_key_backup_setup_intro_use_security_passphrase_info" = "Set up recovery key.";
|
||||
"key_backup_setup_passphrase_confirm_passphrase_title" = "";
|
||||
"key_backup_setup_passphrase_confirm_passphrase_placeholder" = "Recovery Key";
|
||||
"key_backup_setup_passphrase_confirm_passphrase_placeholder" = "Recovery Key";
|
||||
"key_backup_setup_passphrase_confirm_passphrase_invalid" = "doesn’t match";
|
||||
"key_backup_recover_invalid_passphrase_title" = "Incorrect Recovery Key";
|
||||
"key_backup_recover_invalid_passphrase" = "Backup could not be decrypted with this phrase: please verify that you entered the correct recovery key.";
|
||||
@@ -459,6 +459,7 @@
|
||||
"welcome_experience_title5" = "Get started today!";
|
||||
"welcome_experience_description5" = "Next, you can find out whether your organization is already using BundesMessenger. If not, try to convince your boss to become part of the community!";
|
||||
|
||||
|
||||
"welcome_experience_start" = "Start now";
|
||||
|
||||
// MARK: - new login flow
|
||||
@@ -518,3 +519,8 @@
|
||||
// MARK: - Device Manager
|
||||
"user_session_verified_session_description" = "You have confirmed your session by entering the recovery key or verifying with another device. This means that you have all the keys to decrypt your messages and are confirming to others to trust this session.";
|
||||
"user_session_button_view_all" = "View all (%d)";
|
||||
|
||||
// MARK: - Voice Over
|
||||
"textfield_reveal_secret" = "reveal text input";
|
||||
"textfield_hide_secret" = "hide text input";
|
||||
|
||||
|
||||
+3
-1
@@ -109,7 +109,7 @@ final class SecretsRecoveryWithPassphraseViewController: UIViewController {
|
||||
|
||||
let visibilityImage = Asset.Images.revealPasswordButton.image.withRenderingMode(.alwaysTemplate)
|
||||
self.passphraseVisibilityButton.setImage(visibilityImage, for: .normal)
|
||||
|
||||
self.passphraseVisibilityButton.accessibilityLabel = BWIL10n.textfieldRevealSecret
|
||||
let informationText: String
|
||||
|
||||
switch self.viewModel.recoveryGoal {
|
||||
@@ -198,8 +198,10 @@ final class SecretsRecoveryWithPassphraseViewController: UIViewController {
|
||||
private func updateShowHidePassphraseButton() {
|
||||
if self.passphraseTextField.isSecureTextEntry {
|
||||
passphraseVisibilityButton.setImage(Asset.Images.revealPasswordButton.image, for: .normal)
|
||||
passphraseVisibilityButton.accessibilityLabel = BWIL10n.textfieldRevealSecret
|
||||
} else {
|
||||
passphraseVisibilityButton.setImage(Asset.Images.hidePasswordButton.image, for: .normal)
|
||||
passphraseVisibilityButton.accessibilityLabel = BWIL10n.textfieldHideSecret
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -46,6 +46,7 @@ struct PasswordButtonModifier: ViewModifier {
|
||||
.frame(width: iconSize, height: iconSize)
|
||||
.foregroundColor(theme.colors.secondaryContent)
|
||||
}
|
||||
.accessibilityLabel(isSecureTextVisible ? BWIL10n.textfieldHideSecret : BWIL10n.textfieldRevealSecret)
|
||||
.padding(.top, alignment == .top ? 8 : 0)
|
||||
.padding(.bottom, alignment == .bottom ? 8 : 0)
|
||||
.padding(.trailing, 12)
|
||||
|
||||
@@ -78,7 +78,6 @@ struct RoundedBorderTextField: View {
|
||||
.frame(height: 30)
|
||||
.allowsHitTesting(isEnabled)
|
||||
.opacity(isEnabled ? 1 : 0.5)
|
||||
.accessibilityLabel(text.isEmpty ? placeHolder : "")
|
||||
}
|
||||
.padding(EdgeInsets(top: 8, leading: 8, bottom: 8, trailing: text.isEmpty ? 8 : 0))
|
||||
.background(RoundedRectangle(cornerRadius: 8).fill(theme.colors.background))
|
||||
|
||||
@@ -138,6 +138,11 @@ struct ThemableTextField: UIViewRepresentable {
|
||||
|
||||
@objc func textFieldEditingChanged(sender: UITextField) {
|
||||
parent.replaceText(with: sender.text ?? "")
|
||||
if let text = sender.text, !text.isEmpty {
|
||||
sender.accessibilityLabel = text
|
||||
} else {
|
||||
sender.accessibilityLabel = sender.placeholder ?? ""
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user