<?php
/**
 * setup.php — Création du premier compte administrateur.
 * Cette page est désactivée dès qu'un utilisateur existe dans la base.
 */

require_once __DIR__ . '/../lib/init.php';

// Désactiver si des utilisateurs existent déjà
if (Auth::countUsers() > 0) {
    header('Location: index.php');
    exit;
}

$errors  = [];
$success = false;

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $username  = trim($_POST['username'] ?? '');
    $password  = $_POST['password'] ?? '';
    $password2 = $_POST['password2'] ?? '';

    if (strlen($username) < 3) {
        $errors[] = 'Le nom d\'utilisateur doit comporter au moins 3 caractères.';
    }
    if (!preg_match('/^[a-zA-Z0-9_\-]+$/', $username)) {
        $errors[] = 'Nom d\'utilisateur invalide (lettres, chiffres, _ et - uniquement).';
    }
    if (strlen($password) < 6) {
        $errors[] = 'Le mot de passe doit comporter au moins 6 caractères.';
    }
    if ($password !== $password2) {
        $errors[] = 'Les mots de passe ne correspondent pas.';
    }

    if (!$errors) {
        Auth::createUser($username, $password, 'admin');
        $success = true;
    }
}
?>
<!DOCTYPE html>
<html lang="fr">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>DHCPMan — Configuration initiale</title>
    <link rel="stylesheet" href="assets/css/bootstrap.min.css">
    <link rel="stylesheet" href="assets/css/app.css">
</head>
<body>
<div class="login-wrapper">
    <div class="login-card card p-4" style="width:420px">
        <div class="login-logo">&#9881;</div>
        <h4 class="text-center mb-1 fw-bold">Configuration initiale</h4>
        <p class="text-center text-muted small mb-4">Créer le premier compte administrateur</p>

        <?php if ($success): ?>
            <div class="alert alert-success">
                <i class="bi bi-check-circle"></i>
                Compte créé avec succès.
                <a href="index.php" class="alert-link">Se connecter</a>
            </div>
        <?php else: ?>
            <?php foreach ($errors as $e): ?>
                <div class="alert alert-danger py-2"><?= h($e) ?></div>
            <?php endforeach; ?>
            <form method="post">
                <div class="mb-3">
                    <label class="form-label fw-semibold">Nom d'utilisateur</label>
                    <input type="text" name="username" class="form-control"
                           value="<?= h($_POST['username'] ?? '') ?>" autofocus required>
                </div>
                <div class="mb-3">
                    <label class="form-label fw-semibold">Mot de passe</label>
                    <input type="password" name="password" class="form-control" required>
                </div>
                <div class="mb-4">
                    <label class="form-label fw-semibold">Confirmer le mot de passe</label>
                    <input type="password" name="password2" class="form-control" required>
                </div>
                <button type="submit" class="btn btn-primary w-100 fw-semibold">
                    Créer le compte
                </button>
            </form>
        <?php endif; ?>
    </div>
</div>
</body>
</html>
