login.pug 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. extends ../layout-marketing
  2. block content
  3. main.content.content-alt#main-content
  4. .container
  5. .row
  6. .col-md-6.col-md-offset-3.col-lg-4.col-lg-offset-4
  7. .card
  8. .page-header
  9. h1 #{translate("log_in")}
  10. form(data-ol-async-form, name="loginForm", action='/login', method="POST")
  11. input(name='_csrf', type='hidden', value=csrfToken)
  12. +formMessages()
  13. +customFormMessage('invalid-password-retry-or-reset', 'danger')
  14. | !{translate('email_or_password_wrong_try_again_or_reset', {}, [{ name: 'a', attrs: { href: '/user/password/reset', 'aria-describedby': 'resetPasswordDescription' } }])}
  15. span.sr-only(id='resetPasswordDescription')
  16. | #{translate('reset_password_link')}
  17. .form-group
  18. input.form-control(
  19. type='email',
  20. name='email',
  21. required,
  22. placeholder='email@example.com',
  23. autofocus="true"
  24. )
  25. .form-group
  26. input.form-control(
  27. type='password',
  28. name='password',
  29. required,
  30. placeholder='********',
  31. )
  32. .actions
  33. button.btn-primary.btn(
  34. type='submit',
  35. data-ol-disabled-inflight
  36. )
  37. span(data-ol-inflight="idle") #{translate("login")}
  38. span(hidden data-ol-inflight="pending") #{translate("logging_in")}…
  39. a.pull-right(href='/user/password/reset') #{translate("forgot_your_password")}?