mirror of
https://github.com/TriliumNext/Notes.git
synced 2025-07-27 10:02:59 +08:00
84 lines
3.6 KiB
Plaintext
84 lines
3.6 KiB
Plaintext
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
|
<title><%= t("login.title") %></title>
|
|
<link rel="apple-touch-icon" sizes="180x180" href="<%= assetPath %>/images/app-icons/ios/apple-touch-icon.png">
|
|
<link rel="shortcut icon" href="favicon.ico">
|
|
<style>
|
|
.login-page {
|
|
/* Prevent the content from being rendered before the main stylesheet loads */
|
|
display: none;
|
|
}
|
|
</style>
|
|
<% // TriliumNextTODO: move the css file to ${assetPath}/stylesheets/ %>
|
|
<link rel="stylesheet" href="<%= appPath %>/bootstrap.css">
|
|
<link rel="stylesheet" href="<%= assetPath %>/stylesheets/theme-light.css">
|
|
<link rel="stylesheet" href="<%= assetPath %>/stylesheets/theme-next.css">
|
|
<link rel="stylesheet" href="<%= assetPath %>/stylesheets/style.css">
|
|
</head>
|
|
<body>
|
|
<div class="container login-page">
|
|
<div class="col-xs-12 col-sm-10 col-md-6 col-lg-4 col-xl-4 mx-auto pt-4">
|
|
<img class="img-fluid d-block mx-auto" style="height: 8rem;" src="<%= assetPathFragment %>/images/icon-color.svg" aria-hidden="true" draggable="false" >
|
|
<h1 class="text-center"><%= t("login.heading") %></h1>
|
|
|
|
<% if (ssoEnabled) { %>
|
|
<a href="/authenticate" class="google-login-btn">
|
|
<img src="<%= assetPath %>/images/google-logo.svg" alt="Google logo">
|
|
<%= t("login.sign_in_with_google") %>
|
|
</a>
|
|
<% } else { %>
|
|
<form action="login" method="POST">
|
|
<div class="form-group">
|
|
<label for="password"><%= t("login.password") %></label>
|
|
<div class="controls">
|
|
<input id="password" name="password" placeholder="" class="form-control" type="password" autocomplete="current-password" autofocus>
|
|
</div>
|
|
</div>
|
|
<% if( totpEnabled ) { %>
|
|
<div class="form-group">
|
|
<label for="totpToken">TOTP Token</label>
|
|
<div class="controls">
|
|
<input id="totpToken" name="totpToken" placeholder="" class="form-control" type="text" autocomplete="one-time-code" required />
|
|
</div>
|
|
</div>
|
|
<% } %>
|
|
|
|
<% if ( wrongPassword ) { %>
|
|
<div class="alert alert-warning">
|
|
<%= t("login.incorrect-password") %>
|
|
</div>
|
|
<% } %>
|
|
<% if ( totpEnabled ) { %>
|
|
<% if( wrongTotp ) { %>
|
|
<div class="alert alert-warning">
|
|
<%= t("login.incorrect-totp") %>
|
|
</div>
|
|
<% } %>
|
|
<% } %>
|
|
|
|
|
|
<div class="form-group">
|
|
<div class="checkbox">
|
|
<label class="tn-checkbox">
|
|
<input id="remember-me" name="rememberMe" value="1" type="checkbox">
|
|
<%= t("login.remember-me") %>
|
|
</label>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<button class="btn btn-success"><%= t("login.button") %></button>
|
|
</div>
|
|
</form>
|
|
<% } %>
|
|
</div>
|
|
</div>
|
|
|
|
<script src="<%= appPath %>/runtime.js" crossorigin type="module"></script>
|
|
<script src="<%= appPath %>/login.js" crossorigin type="module"></script>
|
|
|
|
</body>
|
|
</html>
|