From 4eb373b6efe706e7594208b5daea65d5bb2aff61 Mon Sep 17 00:00:00 2001 From: Javier Cicchelli Date: Fri, 2 Dec 2022 18:45:13 +0100 Subject: [PATCH] Improved the helper functions in the LoginForm view component. --- BeReal/Login/Components/LoginForm.swift | 61 +++++++++++++------------ 1 file changed, 31 insertions(+), 30 deletions(-) diff --git a/BeReal/Login/Components/LoginForm.swift b/BeReal/Login/Components/LoginForm.swift index bce0dfe..c5250f9 100644 --- a/BeReal/Login/Components/LoginForm.swift +++ b/BeReal/Login/Components/LoginForm.swift @@ -31,33 +31,39 @@ struct LoginForm: View { alignment: .leading, spacing: 16 ) { - TextField("Username", text: $username) { isBeginEditing in + TextField( + "login.text_field.username.placeholder", + text: $username + ) { isBeginEditing in guard isBeginEditing, errorMessage != nil else { return } errorMessage = nil } - .textContentType(.username) - .lineLimit(1) - .autocapitalization(.none) - .disableAutocorrection(true) - .keyboardType(.default) - .focused($focusedField, equals: .username) - .onSubmit { - onUsernameReturnPressed() - } + .textContentType(.username) + .lineLimit(1) + .autocapitalization(.none) + .disableAutocorrection(true) + .keyboardType(.default) + .focused($focusedField, equals: .username) + .onSubmit { + onUsernameReturnPressed() + } Divider() - SecureField("Password", text: $password) - .textContentType(.password) - .lineLimit(1) - .autocapitalization(.none) - .disableAutocorrection(true) - .keyboardType(.default) - .focused($focusedField, equals: .password) - .onSubmit { - onPasswordReturnPressed() - } + SecureField( + "login.text_field.password.placeholder", + text: $password + ) + .textContentType(.password) + .lineLimit(1) + .autocapitalization(.none) + .disableAutocorrection(true) + .keyboardType(.default) + .focused($focusedField, equals: .password) + .onSubmit { + onPasswordReturnPressed() + } if let errorMessage { Divider() @@ -81,16 +87,14 @@ struct LoginForm: View { private extension LoginForm { func setClearButtonIfNeeded() { - guard UITextField.appearance().clearButtonMode != .whileEditing else { return } + let textFieldAppearance = UITextField.appearance() + guard textFieldAppearance.clearButtonMode != .whileEditing else { return } - UITextField.appearance().clearButtonMode = .whileEditing + textFieldAppearance.clearButtonMode = .whileEditing } func onUsernameReturnPressed() { - guard !username.isEmpty else { - focusedField = .username - return - } + guard !username.isEmpty else { return } if password.isEmpty { focusedField = .password @@ -100,10 +104,7 @@ private extension LoginForm { } func onPasswordReturnPressed() { - guard !password.isEmpty else { - focusedField = .password - return - } + guard !password.isEmpty else { return } if username.isEmpty { focusedField = .username