login.html
40 lines1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<!DOCTYPE html>
<html lang="en" data-theme="light">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Login — Congo Dev</title>
<link href="https://cdn.jsdelivr.net/npm/daisyui@5" rel="stylesheet" type="text/css" />
<script src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4"></script>
<script src="https://cdn.jsdelivr.net/npm/htmx.org@2.0.8/dist/htmx.min.js"></script>
</head>
<body class="min-h-screen bg-slate-50 flex items-center justify-center p-4">
<div class="w-full max-w-sm">
<div class="bg-white rounded-xl border border-slate-200 shadow-sm p-7">
<div class="text-center mb-6">
<div class="inline-flex items-center justify-center w-12 h-12 rounded-xl bg-indigo-600 mb-3">
<svg xmlns="http://www.w3.org/2000/svg" class="w-6 h-6 text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4" /></svg>
</div>
<h1 class="text-lg font-bold text-slate-800">Congo Dev</h1>
<p class="text-xs text-slate-400 mt-0.5">Sign in to your workbench</p>
</div>
{{if auth.HasError}}
<div class="rounded-lg bg-red-50 border border-red-100 px-3 py-2 text-sm text-red-600 mb-4">Invalid username or password</div>
{{end}}
<form method="POST" action="/login" class="space-y-3">
<div class="floating-label">
<span>Username</span>
<input type="text" name="username" class="input input-bordered w-full" placeholder="admin" required autocomplete="username" />
</div>
<div class="floating-label">
<span>Password</span>
<input type="password" name="password" class="input input-bordered w-full" placeholder="********" required autocomplete="current-password" />
</div>
<button type="submit" class="btn btn-primary w-full mt-1">Sign In</button>
</form>
</div>
</div>
</body>
</html>