diff --git a/app/views/auth/sessions/two_factor.html.haml b/app/views/auth/sessions/two_factor.html.haml index 2b07c923b..1af3193ae 100644 --- a/app/views/auth/sessions/two_factor.html.haml +++ b/app/views/auth/sessions/two_factor.html.haml @@ -2,9 +2,12 @@ = t('auth.login') = simple_form_for(resource, as: resource_name, url: session_path(resource_name), method: :post) do |f| - = f.input :otp_attempt, type: :number, placeholder: t('simple_form.labels.defaults.otp_attempt'), input_html: { 'aria-label' => t('simple_form.labels.defaults.otp_attempt'), :autocomplete => 'off' }, required: true, autofocus: true, hint: t('simple_form.hints.sessions.otp') + %p.hint{ style: 'margin-bottom: 25px' }= t('simple_form.hints.sessions.otp') + + = f.input :otp_attempt, type: :number, placeholder: t('simple_form.labels.defaults.otp_attempt'), input_html: { 'aria-label' => t('simple_form.labels.defaults.otp_attempt'), :autocomplete => 'off' }, required: true, autofocus: true .actions = f.button :button, t('auth.login'), type: :submit -.form-footer= render 'auth/shared/links' + - if Setting.site_contact_email.present? + %p.hint.subtle-hint= t('users.otp_lost_help_html', email: mail_to(Setting.site_contact_email, nil)) diff --git a/config/locales/en.yml b/config/locales/en.yml index 7e389b1c2..bb08ccc54 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -827,5 +827,6 @@ en: users: invalid_email: The e-mail address is invalid invalid_otp_token: Invalid two-factor code + otp_lost_help_html: If you lost access to both, you may get in touch with %{email} seamless_external_login: You are logged in via an external service, so password and e-mail settings are not available. signed_in_as: 'Signed in as:' diff --git a/config/locales/simple_form.en.yml b/config/locales/simple_form.en.yml index 1a0d60f71..7ba32906d 100644 --- a/config/locales/simple_form.en.yml +++ b/config/locales/simple_form.en.yml @@ -19,7 +19,7 @@ en: imports: data: CSV file exported from another Mastodon instance sessions: - otp: Enter the Two-factor code from your phone or use one of your recovery codes. + otp: 'Enter the two-factor code generated by your phone app or use one of your recovery codes:' user: filtered_languages: Checked languages will be filtered from public timelines for you labels: