106 lines
3.3 KiB
HTML
106 lines
3.3 KiB
HTML
|
||
<!DOCTYPE html>
|
||
<html lang="en">
|
||
|
||
<head>
|
||
<meta name="description" content="{{config('DESCRIPTION')}}">
|
||
<meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-inline'; connect-src 'self'; object-src 'none';">
|
||
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||
|
||
<meta name="author" content="">
|
||
|
||
<title>2-Step Login - {{SITE_NAME}}</title>
|
||
|
||
<style>:root{--primary:#{{config('DEFAULT_COLOR')}}</style>
|
||
<link rel="stylesheet" href="/assets/css/main.css?v=205"><link rel="stylesheet" href="/assets/css/{{config('DEFAULT_THEME')}}.css?v=40">
|
||
|
||
</head>
|
||
|
||
<body id="login">
|
||
|
||
<nav class="navbar navbar-expand-lg navbar-dark bg-transparent fixed-top border-0">
|
||
<div class="container-fluid">
|
||
<button class="navbar-toggler d-none" role="button" data-bs-toggle="collapse" data-bs-target="#navbarResponsive"
|
||
aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
|
||
<span class="navbar-toggler-icon"></span>
|
||
</button>
|
||
</div>
|
||
</nav>
|
||
|
||
<div class="container-fluid position-absolute h-100 p-0 overflow-auto">
|
||
<div class="row no-gutters h-100">
|
||
|
||
<div class="col-12 col-md-6 my-auto p-3">
|
||
|
||
<div class="row justify-content-center">
|
||
|
||
<div class="col-10 col-md-7">
|
||
|
||
<div class="mb-5">
|
||
<a href="/" class="text-decoration-none"><span class="h3 text-primary"></span></a>
|
||
</div>
|
||
|
||
<div id="login-form" class="">
|
||
|
||
<h1 class="h2">Two-step login</h1>
|
||
|
||
<p class="text-muted mb-md-5">To login, please enter the 6-digit verification code generated in your authenticator app.</p>
|
||
|
||
{% if failed %}
|
||
<div class="alert alert-danger alert-dismissible fade show d-flex my-3" role="alert">
|
||
<i class="fas fa-exclamation-circle my-auto"></i>
|
||
<div>
|
||
Invalid verification code. Please try again.
|
||
</div>
|
||
<button class="close" data-bs-dismiss="alert" aria-label="Close">
|
||
<span aria-hidden="true">×</span>
|
||
</button>
|
||
</div>
|
||
{% endif %}
|
||
|
||
<form action="/login" method="post" class="mt-md-3" id="login">
|
||
|
||
<input type="hidden" name="username" value="{{v.username}}">
|
||
<input type="hidden" name="redirect" value="{{redirect}}">
|
||
|
||
<input type="hidden" name="time" value="{{time}}">
|
||
<input type="hidden" name="hash" value="{{hash}}">
|
||
|
||
<label for="2fa_token" class="mt-3">Your verification code</label>
|
||
|
||
<input autocomplete="off" class="form-control" id="2fa_token" name="2fa_token" type="text" placeholder="6-digit code">
|
||
<small><a href="/lost_2fa">Lost your 2FA device?</a></small>
|
||
|
||
<button class="btn btn-primary login w-100 mt-3" id="login_button">Sign in</button>
|
||
|
||
</form>
|
||
|
||
|
||
</div>
|
||
|
||
</div>
|
||
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="col-12 col-md-6 d-none d-md-block">
|
||
|
||
<div class="splash-wrapper">
|
||
|
||
<div class="splash-overlay"></div>
|
||
|
||
<img alt="cover" loading="lazy" class="splash-img" src="/assets/images/{{SITE_NAME}}/cover.webp?v=1011"></img>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
|
||
</body>
|
||
|
||
</html>
|