setup.html

49 lines
1 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 41 42 43 44 45 46 47 48 49
<!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>Setup — 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-md">
        <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-14 h-14 rounded-xl bg-indigo-600 mb-3">
                    <svg xmlns="http://www.w3.org/2000/svg" class="w-7 h-7 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-xl font-bold text-slate-800">Welcome to Congo Dev</h1>
                <p class="text-sm text-slate-400 mt-0.5">Set up your development workbench</p>
            </div>

            <form hx-post="/setup" hx-target="body" class="space-y-3">
                <div class="floating-label">
                    <span>Setup Token</span>
                    <input type="text" name="token" class="input input-bordered w-full" placeholder="From server console" />
                </div>
                <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="new-password" />
                </div>
                <div class="floating-label">
                    <span>Confirm Password</span>
                    <input type="password" name="confirm" class="input input-bordered w-full" placeholder="********" required autocomplete="new-password" />
                </div>
                <div class="floating-label">
                    <span>Domain (optional)</span>
                    <input type="text" name="domain" class="input input-bordered w-full" placeholder="dev.example.com" autocomplete="off" />
                </div>
                <p class="text-xs text-slate-400 -mt-1 ml-1">Point a domain to this server's IP. TLS auto-provisioned.</p>
                <button type="submit" class="btn btn-primary w-full mt-1">Create Account</button>
            </form>
        </div>
    </div>
</body>
</html>