<?php

declare(strict_types=1);

ob_start();

$currentStateId = 0;

foreach ($counties as $countyItem) {
    if (
        (int) $countyItem['id']
        === (int) ($payam['county_id'] ?? 0)
    ) {
        $currentStateId =
            (int) $countyItem['state_id'];

        break;
    }
}

?>

<h2 class="mb-4">Edit Payam</h2>

<div class="row">

    <div class="col-lg-7">

        <div class="card shadow-sm border-0">

            <div class="card-body p-4">

                <?php if (!empty($error)): ?>

                    <div class="alert alert-danger">

                        <?= htmlspecialchars(
                            (string) $error,
                            ENT_QUOTES,
                            'UTF-8'
                        ) ?>

                    </div>

                <?php endif; ?>

                <form
                    method="POST"
                    action="/public/payams/edit">

                    <input
                        type="hidden"
                        name="id"
                        value="<?= (int) ($payam['id'] ?? 0) ?>">

                    <div class="mb-3">

                        <label class="form-label">
                            State / Administrative Area
                        </label>

                        <select
                            id="state_id"
                            class="form-select"
                            required>

                            <?php foreach ($states as $state): ?>

                                <option
                                    value="<?= (int) $state['id'] ?>"
                                    <?= $currentStateId
                                        === (int) $state['id']
                                        ? 'selected'
                                        : '' ?>>

                                    <?= htmlspecialchars(
                                        (string) $state['state_name'],
                                        ENT_QUOTES,
                                        'UTF-8'
                                    ) ?>

                                </option>

                            <?php endforeach; ?>

                        </select>

                    </div>

                    <div class="mb-3">

                        <label class="form-label">
                            County
                        </label>

                        <select
                            name="county_id"
                            id="county_id"
                            class="form-select"
                            required>

                            <?php foreach ($counties as $county): ?>

                                <option
                                    value="<?= (int) $county['id'] ?>"
                                    data-state-id="<?= (int) $county['state_id'] ?>"
                                    <?= (int) (
                                        $payam['county_id'] ?? 0
                                    ) === (int) $county['id']
                                        ? 'selected'
                                        : '' ?>>

                                    <?= htmlspecialchars(
                                        (string) $county['county_name'],
                                        ENT_QUOTES,
                                        'UTF-8'
                                    ) ?>

                                </option>

                            <?php endforeach; ?>

                        </select>

                    </div>

                    <div class="mb-3">

                        <label class="form-label">
                            Payam Code
                        </label>

                        <input
                            type="text"
                            name="payam_code"
                            class="form-control"
                            maxlength="30"
                            value="<?= htmlspecialchars(
                                (string) (
                                    $payam['payam_code'] ?? ''
                                ),
                                ENT_QUOTES,
                                'UTF-8'
                            ) ?>"
                            required>

                    </div>

                    <div class="mb-3">

                        <label class="form-label">
                            Payam Name
                        </label>

                        <input
                            type="text"
                            name="payam_name"
                            class="form-control"
                            maxlength="150"
                            value="<?= htmlspecialchars(
                                (string) (
                                    $payam['payam_name'] ?? ''
                                ),
                                ENT_QUOTES,
                                'UTF-8'
                            ) ?>"
                            required>

                    </div>

                    <div class="mb-4">

                        <div class="form-check form-switch">

                            <input
                                type="checkbox"
                                class="form-check-input"
                                name="status"
                                id="status"
                                value="1"
                                <?= (int) (
                                    $payam['status'] ?? 0
                                ) === 1
                                    ? 'checked'
                                    : '' ?>>

                            <label
                                class="form-check-label"
                                for="status">
                                Active Payam
                            </label>

                        </div>

                    </div>

                    <div class="d-flex justify-content-between">

                        <a
                            href="/public/payams"
                            class="btn btn-light">
                            Cancel
                        </a>

                        <button
                            type="submit"
                            class="btn btn-primary">
                            Save Changes
                        </button>

                    </div>

                </form>

            </div>

        </div>

    </div>

</div>

<script>
document.addEventListener('DOMContentLoaded', function () {
    const stateSelect = document.getElementById('state_id');
    const countySelect = document.getElementById('county_id');
    const options = Array.from(countySelect.options);

    function filterCounties(resetSelection) {
        const stateId = stateSelect.value;

        options.forEach(function (option) {
            option.hidden =
                option.dataset.stateId !== stateId;
        });

        if (resetSelection) {
            countySelect.value = '';
        }
    }

    filterCounties(false);

    stateSelect.addEventListener(
        'change',
        function () {
            filterCounties(true);
        }
    );
});
</script>

<?php

$content = ob_get_clean();

$title = 'Edit Payam';

include APP_PATH
    . '/Modules/Administration/Views/layouts/admin.php';