<?php

declare(strict_types=1);

require_once __DIR__ . '/../app/config/bootstrap.php';
require_once __DIR__ . '/../app/models/User.php';
require_once __DIR__ . '/../app/core/Csrf.php';
require_once __DIR__ . '/../app/core/DijikalaLayout.php';

$error = null;
$ok = null;
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    if (!Csrf::validate($_POST['_csrf'] ?? null)) {
        $error = 'توکن امنیتی نامعتبر است.';
    } else {
        $fullName = trim((string) ($_POST['full_name'] ?? ''));
        $username = trim((string) ($_POST['username'] ?? ''));
        $password = (string) ($_POST['password'] ?? '');
        if ($fullName === '' || $username === '' || $password === '') {
            $error = 'تمام فیلدها الزامی است.';
        } elseif ((new User())->findByUsername($username)) {
            $error = 'این نام کاربری قبلا ثبت شده است.';
        } else {
            (new User())->create($fullName, $username, $password, 'customer');
            $ok = 'ثبت نام انجام شد. حالا وارد شوید.';
        }
    }
}

renderDijikalaShellStart('ثبت‌نام | ' . APP_NAME, ['noindex' => true], '');
?>

<div class="semi-modal-layout" style="min-height:50vh;">
    <div class="o-page o-page--account-box">
        <div class="c-account-box">
            <a href="<?= htmlspecialchars(appPath('/public/home.php')) ?>" class="c-account-box__logo"><?= htmlspecialchars(APP_NAME) ?></a>
            <div class="c-account-box__headline">ثبت‌نام</div>
            <div class="c-account-box__content">
                <?php if ($error): ?>
                    <p style="color:#b91c1c;margin-bottom:12px;"><?= htmlspecialchars($error) ?></p>
                <?php endif; ?>
                <?php if ($ok): ?>
                    <p style="color:#047857;margin-bottom:12px;"><?= htmlspecialchars($ok) ?></p>
                <?php endif; ?>
                <form class="c-form-account" method="post">
                    <input type="hidden" name="_csrf" value="<?= htmlspecialchars(Csrf::token()) ?>">
                    <div class="c-form-account__title">نام و نام خانوادگی</div>
                    <div class="c-form-account__row">
                        <label class="c-ui-input">
                            <input class="c-ui-input__field c-ui-input__field--right-placeholder" name="full_name" required placeholder="نام کامل">
                        </label>
                    </div>
                    <div class="c-form-account__title">نام کاربری</div>
                    <div class="c-form-account__row">
                        <label class="c-ui-input">
                            <input class="c-ui-input__field c-ui-input__field--right-placeholder" name="username" required placeholder="نام کاربری">
                        </label>
                    </div>
                    <div class="c-form-account__title">رمز عبور</div>
                    <div class="c-form-account__row">
                        <label class="c-ui-input">
                            <input class="c-ui-input__field c-ui-input__field--right-placeholder" name="password" type="password" required placeholder="رمز عبور">
                        </label>
                    </div>
                    <div class="c-form-account__row c-form-account__row--submit">
                        <button class="btn-login" type="submit">ثبت‌نام</button>
                    </div>
                </form>
            </div>
            <div class="c-account-box__footer is-highlighted">
                <span>قبلاً ثبت‌نام کرده‌اید؟</span>
                <a href="<?= htmlspecialchars(appPath('/public/login.php')) ?>" class="btn-link-spoiler">ورود</a>
            </div>
        </div>
    </div>
</div>

<?php
renderDijikalaShellEnd('register', 'minimal');
Performance::finish('public.register');
