46 lines
No EOL
2.1 KiB
Text
46 lines
No EOL
2.1 KiB
Text
<div class="container relative mx-auto py-12 flex flex-col justify-center items-center gap-8">
|
|
{% for error in errors %}
|
|
<!-- Login Error -->
|
|
<div class="alert-danger w-full max-w-md" role="alert">
|
|
<i class="ti ti-alert-hexagon-filled text-lg"></i>
|
|
<div class="ms-3 text-sm font-medium">
|
|
{{ error.title }}: {{ error.detail }}
|
|
</div>
|
|
</div>
|
|
{% endfor %}
|
|
<!-- Login Dialoge -->
|
|
<div id="dialoge" class="card w-full max-w-md">
|
|
<div class="p-6 space-y-4 md:space-y-6 sm:p-8">
|
|
<div class="px-4 flex flex-col items-center gap-4">
|
|
<span class="w-full block bg-center bg-no-repeat bg-contain" style="height: var(--login-logo-height); background-image: var(--login-logo-source);">
|
|
<!-- Logo Source from theme.css -->
|
|
</span>
|
|
<h1 class="text-3xl">
|
|
Welcome
|
|
</h1>
|
|
<h4 class="text-sm">
|
|
Sign In to User-Portal
|
|
</h4>
|
|
</div>
|
|
<form class="space-y-4 md:space-y-6" hx-post="/htmx/authForm" hx-target="#app">
|
|
<div>
|
|
<label for="username" class="block mb-2 text-sm font-medium">
|
|
Username
|
|
</label>
|
|
<input type="text" name="username" class="w-full" placeholder="john-doe" required="">
|
|
</div>
|
|
<div>
|
|
<label for="password" class="block mb-2 text-sm font-medium">
|
|
Password
|
|
</label>
|
|
<input type="password" name="password" class="w-full" placeholder="••••••••" required="">
|
|
</div>
|
|
<div class="flex items-center justify-end">
|
|
<a href="#" class="text-sm font-medium hover:underline">Forgot password?</a>
|
|
</div>
|
|
<button type="submit" class="w-full button primary-fill">Sign in</button>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
<!-- / -->
|
|
</div> |