95 lines
3.1 KiB
HTML
95 lines
3.1 KiB
HTML
{% extends "/shared/_base.html" %} {% block content %} {% if login_error %}
|
|
|
|
<div class="flex bg-gray-100">
|
|
<div
|
|
class="flex w-full items-center p-4 mb-4 text-sm text-red-800 border border-red-300 rounded-lg bg-red-50 dark:bg-gray-800 dark:text-red-400 dark:border-red-800"
|
|
role="alert"
|
|
>
|
|
<svg
|
|
class="shrink-0 inline w-4 h-4 me-3"
|
|
aria-hidden="true"
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
fill="currentColor"
|
|
viewBox="0 0 20 20"
|
|
>
|
|
<path
|
|
d="M10 .5a9.5 9.5 0 1 0 9.5 9.5A9.51 9.51 0 0 0 10 .5ZM9.5 4a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3ZM12 15H8a1 1 0 0 1 0-2h1v-3H8a1 1 0 0 1 0-2h2a1 1 0 0 1 1 1v4h1a1 1 0 0 1 0 2Z"
|
|
/>
|
|
</svg>
|
|
<span class="sr-only">Info</span>
|
|
<div>
|
|
<span class="font-medium">{{ login_error.title }}</span>
|
|
{{login_error.message}}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
|
|
<div class="min-h-screen bg-gray-100 flex items-center justify-center p-4">
|
|
<div class="max-w-md w-full bg-white rounded-xl shadow-lg p-8">
|
|
<h2 class="text-2xl font-bold text-gray-900 mb-6 text-center">Sign In</h2>
|
|
<form class="space-y-4" action="/login" method="POST">
|
|
<div>
|
|
<label class="block text-sm font-medium text-gray-700 mb-1"
|
|
>Username</label
|
|
>
|
|
<input
|
|
type="text"
|
|
name="username"
|
|
class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none transition-all"
|
|
placeholder="Username"
|
|
autocomplete="username"
|
|
required=""
|
|
/>
|
|
</div>
|
|
|
|
<div>
|
|
<label class="block text-sm font-medium text-gray-700 mb-1"
|
|
>Password</label
|
|
>
|
|
<input
|
|
type="password"
|
|
name="password"
|
|
class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none transition-all"
|
|
placeholder="••••••••"
|
|
autocomplete="current-password"
|
|
required=""
|
|
/>
|
|
</div>
|
|
|
|
<button
|
|
class="w-full bg-indigo-600 hover:bg-indigo-700 text-white font-medium py-2.5 rounded-lg transition-colors"
|
|
type="submit"
|
|
>
|
|
Sign In
|
|
</button>
|
|
</form>
|
|
{% if oidc.enabled %}
|
|
<div class="w-full items-center text-center my-4 flex">
|
|
<div
|
|
class="w-full h-[0.125rem] box-border bg-gray-200 dark:bg-gray-700"
|
|
></div>
|
|
<div
|
|
class="px-4 text-lg text-sm font-medium text-gray-500 dark:text-gray-400"
|
|
>
|
|
Or
|
|
</div>
|
|
<div
|
|
class="w-full h-[0.125rem] box-border bg-gray-200 dark:bg-gray-700"
|
|
></div>
|
|
</div>
|
|
<div class="w-full text-center my-4">
|
|
<a href="/oidc/login">
|
|
<button
|
|
class="w-full bg-white hover:bg-gray-100 text-gray-900 border border-gray-300 transition-colors font-medium py-2.5 rounded-lg dark:bg-gray-800 dark:text-gray-400 dark:border-gray-600 dark:hover:text-white dark:hover:bg-gray-700"
|
|
>
|
|
Sign in with {{ oidc.provider_name }}
|
|
</button>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
|
|
{% endblock %}
|
|
</div>
|