login.html 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. {{ define "title"}}{{ t "page.login.title" }}{{ end }}
  2. {{ define "page_header"}}{{ end }}
  3. {{ define "content"}}
  4. <section class="login-form">
  5. {{ if not disableLocalAuth }}
  6. <form action="{{ route "checkLogin" }}" method="post">
  7. <input type="hidden" name="csrf" value="{{ .csrf }}">
  8. {{ if .errorMessage }}
  9. <div role="alert" class="alert alert-error">{{ .errorMessage }}</div>
  10. {{ end }}
  11. <label for="form-username">{{ t "form.user.label.username" }}</label>
  12. <input type="text" name="username" id="form-username" value="{{ .form.Username }}" autocomplete="username" required autofocus>
  13. <label for="form-password">{{ t "form.user.label.password" }}</label>
  14. <input type="password" name="password" id="form-password" value="{{ .form.Password }}" autocomplete="current-password" required>
  15. <div class="buttons">
  16. <button type="submit" class="button button-primary" data-label-loading="{{ t "form.submit.loading" }}">{{ t "action.login" }}</button>
  17. </div>
  18. </form>
  19. {{ end }}
  20. {{ if and (not disableLocalAuth) (.webAuthnEnabled) }}
  21. <hr>
  22. {{ end }}
  23. {{ if .webAuthnEnabled }}
  24. <div class="webauthn">
  25. <template id="webauthn-error">
  26. <div role="alert" class="alert alert-error" id="webauthn-error-alert">
  27. <h4>{{ t "page.login.webauthn_login.error" }}</h4>
  28. <p id="webauthn-error-message"></p>
  29. </div>
  30. </template>
  31. <div class="buttons">
  32. <button class="button button-primary" id="webauthn-login" disabled>{{ t "page.login.webauthn_login" }}</button>
  33. </div>
  34. <div class="form-help">
  35. <p>{{ t "page.login.webauthn_login.help" }}</p>
  36. </div>
  37. </div>
  38. {{ end }}
  39. {{ if and (.webAuthnEnabled) (or (hasOAuth2Provider "google") (hasOAuth2Provider "oidc")) }}
  40. <hr>
  41. {{ end }}
  42. {{ if hasOAuth2Provider "google" }}
  43. <div class="oauth2">
  44. <a href="{{ route "oauth2Redirect" "provider" "google" }}">{{ t "page.login.google_signin" }}</a>
  45. </div>
  46. {{ else if hasOAuth2Provider "oidc" }}
  47. <div class="oauth2">
  48. <a href="{{ route "oauth2Redirect" "provider" "oidc" }}">{{ t "page.login.oidc_signin" oidcProviderName }}</a>
  49. </div>
  50. {{ end }}
  51. </section>
  52. <footer id="prompt-home-screen">
  53. <button id="btn-add-to-home-screen">{{ icon "home" }}<span class="icon-label">{{ t "action.home_screen" }}</span></button>
  54. </footer>
  55. {{ end }}