<?php

declare(strict_types=1);

require_once dirname(__DIR__) . '/includes/bootstrap.php';
require_login();

$pageTitle = 'Jugadores';
$currentNav = 'jugadores';

$editRow = null;
if (isset($_GET['edit'])) {
    $st = db()->prepare('SELECT * FROM jugadores WHERE id = ?');
    $st->execute([(int) $_GET['edit']]);
    $editRow = $st->fetch();
}

if ($_SERVER['REQUEST_METHOD'] === 'POST' && can_manage_data()) {
    verify_csrf();
    $action = $_POST['action'] ?? '';
    if ($action === 'delete') {
        db()->prepare('DELETE FROM jugadores WHERE id = ?')->execute([(int) ($_POST['id'] ?? 0)]);
        flash('ok', 'Jugador eliminado.');
        redirect('/pages/jugadores.php');
    }
    if ($action === 'save') {
        $id = (int) ($_POST['id'] ?? 0);
        $nom = trim((string) ($_POST['nombre'] ?? ''));
        $ape = trim((string) ($_POST['apellidos'] ?? ''));
        $doc = trim((string) ($_POST['documento'] ?? ''));
        $fn = (string) ($_POST['fecha_nacimiento'] ?? '');
        $nac = trim((string) ($_POST['nacionalidad'] ?? ''));
        if ($nom !== '' && $ape !== '') {
            if ($id > 0) {
                db()->prepare(
                    'UPDATE jugadores SET nombre=?, apellidos=?, documento=?, fecha_nacimiento=?, nacionalidad=? WHERE id=?'
                )->execute([
                    $nom, $ape, $doc ?: null, $fn ?: null, $nac ?: null, $id,
                ]);
                flash('ok', 'Jugador actualizado.');
            } else {
                db()->prepare(
                    'INSERT INTO jugadores (nombre, apellidos, documento, fecha_nacimiento, nacionalidad) VALUES (?,?,?,?,?)'
                )->execute([$nom, $ape, $doc ?: null, $fn ?: null, $nac ?: null]);
                flash('ok', 'Jugador registrado.');
            }
            redirect('/pages/jugadores.php');
        }
    }
}

$lista = db()->query('SELECT * FROM jugadores ORDER BY apellidos, nombre')->fetchAll();

require dirname(__DIR__) . '/includes/layout/header.php';
?>

<?php if (flash('ok')) : ?>
  <div class="alert alert-success"><?= h((string) flash('ok')) ?></div>
<?php endif; ?>

<?php if (can_manage_data()) : ?>
<div class="card" style="margin-bottom:1.5rem;">
  <div class="card-header">
    <h2><?= $editRow ? 'Editar jugador' : 'Nuevo jugador' ?></h2>
    <?php if ($editRow) : ?>
      <a class="btn btn-ghost" href="<?= h(url('pages/jugadores.php')) ?>">Cancelar</a>
    <?php endif; ?>
  </div>
  <form method="post" class="form-grid cols-2">
    <?= csrf_field() ?>
    <input type="hidden" name="action" value="save">
    <input type="hidden" name="id" value="<?= (int) ($editRow['id'] ?? 0) ?>">
    <div>
      <label class="field" for="nombre">Nombre</label>
      <input type="text" id="nombre" name="nombre" required value="<?= h($editRow['nombre'] ?? '') ?>">
    </div>
    <div>
      <label class="field" for="apellidos">Apellidos</label>
      <input type="text" id="apellidos" name="apellidos" required value="<?= h($editRow['apellidos'] ?? '') ?>">
    </div>
    <div>
      <label class="field" for="documento">Documento</label>
      <input type="text" id="documento" name="documento" value="<?= h($editRow['documento'] ?? '') ?>">
    </div>
    <div>
      <label class="field" for="fecha_nacimiento">Fecha nacimiento</label>
      <input type="date" id="fecha_nacimiento" name="fecha_nacimiento" value="<?= h(isset($editRow['fecha_nacimiento']) ? substr((string) $editRow['fecha_nacimiento'], 0, 10) : '') ?>">
    </div>
    <div>
      <label class="field" for="nacionalidad">Nacionalidad</label>
      <input type="text" id="nacionalidad" name="nacionalidad" value="<?= h($editRow['nacionalidad'] ?? '') ?>">
    </div>
    <div class="form-actions" style="grid-column:1/-1;">
      <button type="submit" class="btn btn-primary">Guardar</button>
    </div>
  </form>
</div>
<?php endif; ?>

<div class="card">
  <div class="card-header"><h2>Plantel global</h2></div>
  <div class="table-wrap">
    <table class="data-table">
      <thead>
        <tr>
          <th>Apellidos</th>
          <th>Nombre</th>
          <th>Documento</th>
          <th>Nac.</th>
          <th></th>
        </tr>
      </thead>
      <tbody>
        <?php foreach ($lista as $row) : ?>
          <tr>
            <td><?= h($row['apellidos']) ?></td>
            <td><?= h($row['nombre']) ?></td>
            <td><?= h($row['documento'] ?? '—') ?></td>
            <td><?= h($row['fecha_nacimiento'] ?? '—') ?></td>
            <td>
              <?php if (can_manage_data()) : ?>
                <a href="<?= h(url('pages/jugadores.php?edit=' . (int) $row['id'])) ?>">Editar</a>
                <form method="post" style="display:inline;margin-left:0.5rem;" onsubmit="return confirm('¿Eliminar jugador?');">
                  <?= csrf_field() ?>
                  <input type="hidden" name="action" value="delete">
                  <input type="hidden" name="id" value="<?= (int) $row['id'] ?>">
                  <button type="submit" class="btn btn-danger" style="padding:0.25rem 0.5rem;font-size:0.8rem;">Eliminar</button>
                </form>
              <?php endif; ?>
            </td>
          </tr>
        <?php endforeach; ?>
      </tbody>
    </table>
  </div>
  <?php if (!$lista) : ?><div class="empty-state">No hay jugadores.</div><?php endif; ?>
</div>

<?php require dirname(__DIR__) . '/includes/layout/footer.php'; ?>
