IOS-97: Improve labelling of username field on Create Account screen (#970)

This commit is contained in:
Marcus Kida 2023-03-15 14:52:49 +01:00 committed by GitHub
parent cd4cd66f61
commit 71a72d2581
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 0 deletions

View File

@ -27,16 +27,19 @@ struct MastodonRegisterView: View {
.modifier(FormTextFieldModifier(validateState: viewModel.displayNameValidateState))
HStack {
Text("@")
.accessibilityHidden(true)
TextField(L10n.Scene.Register.Input.Username.placeholder.localizedCapitalized, text: $viewModel.username)
.textContentType(.username)
.autocapitalization(.none)
.disableAutocorrection(true)
.keyboardType(.asciiCapable)
.accessibilityLabel(viewModel.accessibilityLabelUsernameField)
Text("@\(viewModel.domain)")
.lineLimit(1)
.truncationMode(.middle)
.measureWidth { usernameRightViewWidth = $0 }
.frame(width: min(300.0, usernameRightViewWidth), alignment: .trailing)
.accessibilityHidden(true)
}
.modifier(FormTextFieldModifier(validateState: viewModel.usernameValidateState))
.environment(\.layoutDirection, .leftToRight) // force LTR

View File

@ -285,3 +285,10 @@ extension MastodonRegisterViewModel {
return attributeString
}
}
extension MastodonRegisterViewModel {
var accessibilityLabelUsernameField: String {
let username = username.isEmpty ? L10n.Scene.Register.Input.Username.placeholder : username
return "@\(username)@\(domain)"
}
}