<?php require __DIR__ . '/../../includes/navbar.php'; ?>
<?php require __DIR__ . '/../../includes/modal.php'; ?>

<div class="container my-5">

    <div class="row justify-content-center">

        <div class="col-xl-8 col-lg-9 col-md-10">

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

                <!-- HEADER -->

                <div class="card-header header-dark px-4 py-3">
                    
                    <div class="d-flex justify-content-between align-items-center flex-wrap gap-3">

                        <h4 class="mb-0 title-shadow">
                            <i class="fas fa-user-circle me-2"></i>
                            Datos del Usuario
                        </h4>

                        <a href="index.php?opt=<?= htmlspecialchars($_SESSION['return_opt']) ?>" class="btn btn-soft-secondary text-white">
                            <i class="fas fa-arrow-left me-1"></i> 
                            Volver
                        </a>
                    </div>
                </div>

                <!-- BODY -->

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

                    <!-- MENSAJE SI ES OPERADOR -->

                    <?php if (!$esAdmin): ?>
                        <div class="alert alert-info d-flex align-items-center mb-4" role="alert">
                            <i class="fas fa-info-circle me-3 fs-5"></i>
                            <div>
                                Para modificar sus datos personales, por favor comuníquese con un administrador.
                            </div>
                        </div>
                    <?php endif; ?>

                    <form id="form-datos-usuario" method="POST" action="?opt=<?= 'datos_usuario&id=' . $usuario['id'] ?>" novalidate>

                        <!-- CAMPO OCULTO (para verificación de token) -->

                        <input type="hidden" name="csrf_token" value="<?= $_SESSION['csrf_token'] ?>">
                        
                        <div class="row g-3">

                            <!-- NOMBRE -->

                            <div class="col-md-6">
                                <label class="form-label">Nombre</label>
                                <input
                                    type="text"
                                    class="form-control"
                                    name="nombre"
                                    value="<?= htmlspecialchars($usuario['nombre']) ?>"
                                    <?= $esAdmin ? '' : 'readonly' ?>
                                >
                            </div>

                            <!-- APELLIDO -->
                             
                            <div class="col-md-6">
                                <label class="form-label">Apellido</label>
                                <input
                                    type="text"
                                    class="form-control"
                                    name="apellido"
                                    value="<?= htmlspecialchars($usuario['apellido']) ?>"
                                    <?= $esAdmin ? '' : 'readonly' ?>
                                >
                            </div>

                            <!-- EMAIL -->

                            <div class="col-md-6">
                                <label class="form-label">Email</label>
                                <input
                                    type="email"
                                    class="form-control"
                                    name="email"
                                    value="<?= htmlspecialchars($usuario['email']) ?>"
                                    <?= $esAdmin ? '' : 'readonly' ?>
                                >
                            </div>

                            <!-- TELÉFONO -->

                            <div class="col-md-6">
                                <label class="form-label">Teléfono</label>
                                <input
                                    type="text"
                                    class="form-control"
                                    name="telefono"
                                    value="<?= htmlspecialchars($usuario['telefono']) ?>"
                                    <?= $esAdmin ? '' : 'readonly' ?>
                                >
                            </div>

                            <!-- USUARIO -->

                            <div class="col-md-6">
                                <label class="form-label">Usuario</label>
                                <input
                                    type="text"
                                    class="form-control"
                                    value="<?= htmlspecialchars($usuario['usuario']) ?>"
                                    readonly
                                >

                                <?php if ($esAdmin): ?>

                                    <small class="text-muted">
                                        El nombre de usuario no puede modificarse
                                    </small>

                                <?php endif; ?>
                            </div>

                            <!-- PASSWORD -->

                            <div class="col-6">
                                <label class="form-label">Contraseña</label>
                                <input
                                    type="password"
                                    class="form-control"
                                    name="password"
                                    placeholder="No es mostrada por motivos de seguridad"
                                    <?= $esAdmin ? '' : 'readonly' ?>
                                >

                                <?php if ($esAdmin): ?>

                                <small class="text-muted">
                                    Si no desea modificarla, dejar la casilla en blanco
                                </small>

                                <?php endif; ?>
                            </div>

                            <!-- ROL -->

                            <div class="col-md-6">
                                <label class="form-label">Rol</label>
                                <select name="rol" id="rolSelect" class="form-select"
                                    <?= $_SESSION['user']['rol'] === 'operador' ? 'disabled' : '' ?>>
                                    
                                    <option value="operador" <?= $usuario['rol'] === 'operador' ? 'selected' : '' ?>>
                                        Operador
                                    </option>
                                    <option value="admin" <?= $usuario['rol'] === 'admin' ? 'selected' : '' ?>>
                                        Administrador
                                    </option>
                                </select>
                            </div>

                        </div>

                        <!-- BOTON SUBMIT -->
                         
                        <div class="d-flex justify-content-between mt-4 pt-3 border-top">

                            <?php if ($esAdmin): ?>

                                <button type="submit" class="btn btn-primary">
                                    <i class="fas fa-save me-1"></i> Guardar cambios
                                </button>
                                
                            <?php endif; ?>
                        </div>
                    </form>

                    <!-- Errores provinientes de usuarioController -->

                    <!-- ERROR -->

                    <script>
                        const serverErrors = <?php 
                            if (!empty($_SESSION['flash_error'])) {
                                $errorsArray = explode('<br>', $_SESSION['flash_error']);
                                unset($_SESSION['flash_error']);
                                echo json_encode($errorsArray);
                            } else {
                                echo '[]';
                            }
                        ?>;
                    </script>
                    
                    <!-- SUCCES -->

                    <script>
                        const serverSuccess = <?php
                            if (!empty($_SESSION['flash_success'])) {
                                $successArray = explode('<br>', $_SESSION['flash_success']);
                                unset($_SESSION['flash_success']);
                                echo json_encode($successArray);
                            } else {
                                echo '[]';
                            }
                        ?>;
                    </script>

                    <!-- MODAL -->

                    <script src="js/globalModal.js"></script>

                </div>
            </div>
        </div>
    </div>
</div>

<!-- Validar mediante js -->

<script src="js/usuarios/usuarioValidator.js"></script>

<script>
    document.addEventListener('DOMContentLoaded', () => {

        const readonlyInputs = document.querySelectorAll('input[readonly], textarea[readonly]');

        readonlyInputs.forEach(el => {
            el.classList.add('campo-readonly');
        });

    });
</script>