|
|
@@ -0,0 +1,76 @@
|
|
|
+extends ../layout-website-redesign-bootstrap-5
|
|
|
+include ../_mixins/recaptcha
|
|
|
+include ../_mixins/notification
|
|
|
+
|
|
|
+block vars
|
|
|
+ - var suppressNavbar = true
|
|
|
+ - var suppressFooter = true
|
|
|
+
|
|
|
+block content
|
|
|
+ - var showCaptcha = settings.recaptcha && settings.recaptcha.siteKey && !(settings.recaptcha.disabled && settings.recaptcha.disabled.passwordReset)
|
|
|
+
|
|
|
+ if showCaptcha
|
|
|
+ script(type="text/javascript", nonce=scriptNonce, src="https://www.recaptcha.net/recaptcha/api.js?render=explicit")
|
|
|
+ div(
|
|
|
+ id="recaptcha"
|
|
|
+ class="g-recaptcha"
|
|
|
+ data-sitekey=settings.recaptcha.siteKey
|
|
|
+ data-size="invisible"
|
|
|
+ data-badge="inline"
|
|
|
+ )
|
|
|
+
|
|
|
+ main#main-content(data-ol-captcha-retry-trigger-area="")
|
|
|
+ a.auth-aux-logo(href="/")
|
|
|
+ img(src=buildImgPath("ol-brand/overleaf-o-dark.svg") alt=settings.appName)
|
|
|
+ .auth-aux-container
|
|
|
+ form(
|
|
|
+ data-ol-async-form
|
|
|
+ name="passwordResetForm"
|
|
|
+ action="/user/password/reset"
|
|
|
+ method="POST"
|
|
|
+ captcha=(showCaptcha ? '' : false)
|
|
|
+ captcha-action-name=(showCaptcha ? "passwordReset" : false)
|
|
|
+ )
|
|
|
+ if error === 'password_reset_token_expired'
|
|
|
+ h1.h3.mb-3.mt-0 #{translate("sorry_your_token_expired")}
|
|
|
+ p #{translate('please_request_a_new_password_reset_email_and_follow_the_link')}.
|
|
|
+ else
|
|
|
+ h1.h3.mb-3.mt-0(data-ol-not-sent) #{translate("password_reset_sentence_case")}
|
|
|
+ h1.h3.mb-3.mt-0(hidden data-ol-sent) #{translate("check_your_email")}
|
|
|
+ p.mb-3.pb-3(data-ol-not-sent) #{translate("enter_your_email_address_below_and_we_will_send_you_a_link_to_reset_your_password")}.
|
|
|
+
|
|
|
+ div(data-ol-not-sent)
|
|
|
+ +formMessages()
|
|
|
+ if error && error !== 'password_reset_token_expired'
|
|
|
+ +notification({ariaLive: 'assertive', type: 'error', className: 'mb-3', content: translate(error)})
|
|
|
+
|
|
|
+ div(data-ol-custom-form-message="no-password-allowed-due-to-sso" hidden)
|
|
|
+ +notification({ariaLive: 'polite', type: 'error', className: 'mb-3', content: translate("you_cant_reset_password_due_to_sso", {}, [{name: 'a', attrs: {href: '/sso-login'}}])})
|
|
|
+ input(type="hidden" name="_csrf" value=csrfToken)
|
|
|
+ .form-group.mb-3
|
|
|
+ label.form-label(for='email') #{translate("email")}
|
|
|
+ input.form-control#email(
|
|
|
+ aria-label="email"
|
|
|
+ type='email'
|
|
|
+ name='email'
|
|
|
+ required
|
|
|
+ autocomplete="username"
|
|
|
+ autofocus
|
|
|
+ )
|
|
|
+ .actions
|
|
|
+ button.btn.btn-primary.w-100.mb-3(
|
|
|
+ type='submit'
|
|
|
+ data-ol-disabled-inflight
|
|
|
+ aria-label=translate('reset_password_sentence_case')
|
|
|
+ )
|
|
|
+ span(data-ol-inflight="idle")
|
|
|
+ | #{translate("reset_password_sentence_case")}
|
|
|
+ span(hidden data-ol-inflight="pending")
|
|
|
+ | #{translate("requesting_password_reset")}…
|
|
|
+ a.btn.btn-ghost.w-100.mb-3(href="/login") #{translate("back_to_log_in")}
|
|
|
+ div(hidden data-ol-sent)
|
|
|
+ p.mb-4 #{translate('password_reset_email_sent')}
|
|
|
+ a.btn.btn-primary.w-100.mb-3(href="/login") #{translate('back_to_log_in')}
|
|
|
+
|
|
|
+ if showCaptcha
|
|
|
+ +recaptchaConditions
|