<!doctype html>
<html lang="es">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Recuperar credenciales administrador</title>
    @vite(['resources/css/app.css', 'resources/js/app.js'])
</head>
<body class="bg-light">
    <main class="container py-5">
        <div class="row justify-content-center">
            <div class="col-12 col-sm-10 col-md-8 col-lg-5">
                <div class="card shadow-sm border-0">
                    <div class="card-body p-4 p-md-5">
                        <h1 class="h4 mb-1 text-center">Recuperar credenciales administrador</h1>
                        <p class="text-muted text-center small mb-4">Completá todos los datos con los que está registrado en el sistema</p>

                        @if(session('recuperar_success'))
                            <div class="alert alert-success" role="alert">
                                {{ session('recuperar_success') }}
                            </div>
                        @endif

                        @if(session('recuperar_error'))
                            <div class="alert alert-danger" role="alert">
                                {{ session('recuperar_error') }}
                            </div>
                        @endif

                        @if($errors->any())
                            <div class="alert alert-danger" role="alert">
                                <ul class="mb-0 ps-3">
                                    @foreach($errors->all() as $error)
                                        <li>{{ $error }}</li>
                                    @endforeach
                                </ul>
                            </div>
                        @endif

                        <div class="alert alert-warning py-2" role="alert">
                            <strong>Intentos restantes:</strong> {{ $intentosRestantes ?? 5 }} de {{ $intentosMaximos ?? 5 }}
                        </div>

                        <form method="POST" action="/admin/recuperar-credenciales" class="d-grid gap-3">
                            @csrf
                            <div>
                                <label class="form-label" for="celular">Número de celular</label>
                                <input class="form-control" id="celular" name="celular" type="text" value="{{ old('celular') }}" required autofocus>
                            </div>
                            <div>
                                <label class="form-label" for="nombre">Nombre</label>
                                <input class="form-control" id="nombre" name="nombre" type="text" value="{{ old('nombre') }}" required>
                            </div>
                            <div>
                                <label class="form-label" for="apellido">Apellido</label>
                                <input class="form-control" id="apellido" name="apellido" type="text" value="{{ old('apellido') }}" required>
                            </div>
                            <div>
                                <label class="form-label" for="correo">Correo electrónico</label>
                                <input class="form-control" id="correo" name="correo" type="email" value="{{ old('correo') }}" required>
                            </div>
                            <div>
                                <label class="form-label" for="pregunta_secreta">Pregunta secreta</label>
                                <input class="form-control" id="pregunta_secreta" name="pregunta_secreta" type="text" value="{{ old('pregunta_secreta') }}" placeholder="Ingresá el correo para visualizar la pregunta" readonly>
                                <div id="pregunta-secreta-ayuda" class="form-text">La pregunta se mostrará automáticamente según el correo ingresado.</div>
                            </div>
                            <div>
                                <label class="form-label" for="respuesta_secreta">Respuesta secreta</label>
                                <input class="form-control" id="respuesta_secreta" name="respuesta_secreta" type="text" value="{{ old('respuesta_secreta') }}" required>
                            </div>
                            <div style="position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;" aria-hidden="true">
                                <label class="form-label" for="website">No completar este campo</label>
                                <input class="form-control" id="website" name="website" type="text" value="{{ old('website') }}" tabindex="-1" autocomplete="off">
                            </div>
                            <button class="btn btn-primary" type="submit">Enviar enlace</button>
                        </form>

                        <hr class="my-4">
                        <div class="d-grid">
                            <a href="/login/personal" class="btn btn-outline-secondary">Volver al login</a>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </main>

    <script>
        document.addEventListener('DOMContentLoaded', function () {
            const correoInput = document.getElementById('correo');
            const preguntaInput = document.getElementById('pregunta_secreta');
            const ayuda = document.getElementById('pregunta-secreta-ayuda');

            if (!correoInput || !preguntaInput || !ayuda) {
                return;
            }

            const limpiarPregunta = (mensaje = 'La pregunta se mostrará automáticamente según el correo ingresado.') => {
                preguntaInput.value = '';
                ayuda.textContent = mensaje;
            };

            const cargarPregunta = async () => {
                const correo = correoInput.value.trim();

                if (correo === '') {
                    limpiarPregunta();
                    return;
                }

                ayuda.textContent = 'Buscando pregunta secreta...';

                try {
                    const response = await fetch('/admin/recuperar-credenciales/pregunta?correo=' + encodeURIComponent(correo), {
                        headers: {
                            'X-Requested-With': 'XMLHttpRequest'
                        }
                    });

                    const data = await response.json();

                    if (data.encontrada && data.pregunta) {
                        preguntaInput.value = data.pregunta;
                        ayuda.textContent = 'Respondé la pregunta secreta para continuar.';
                    } else {
                        limpiarPregunta('No se encontró una pregunta secreta visible para ese correo.');
                    }
                } catch (error) {
                    limpiarPregunta('No se pudo cargar la pregunta secreta. Intentá nuevamente.');
                }
            };

            correoInput.addEventListener('blur', cargarPregunta);
            correoInput.addEventListener('change', cargarPregunta);

            if (correoInput.value.trim() !== '') {
                cargarPregunta();
            }
        });
    </script>
</body>
</html>
