<?php

declare(strict_types=1);

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

$pageTitle = 'Estadios';
$currentNav = 'estadios';

$editRow = null;
if (isset($_GET['edit'])) {
    $st = db()->prepare('SELECT * FROM estadios 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 estadios WHERE id = ?')->execute([(int) ($_POST['id'] ?? 0)]);
        flash('ok', 'Estadio eliminado.');
        redirect('/pages/estadios.php');
    }
    if ($action === 'save') {
        $id = (int) ($_POST['id'] ?? 0);
        $nombre = trim((string) ($_POST['nombre'] ?? ''));
        $dir = trim((string) ($_POST['direccion'] ?? ''));
        $ciu = trim((string) ($_POST['ciudad'] ?? ''));
        $cap = ($_POST['capacidad'] ?? '') !== '' ? (int) $_POST['capacidad'] : null;
        if ($nombre !== '') {
            if ($id > 0) {
                db()->prepare('UPDATE estadios SET nombre=?, direccion=?, ciudad=?, capacidad=? WHERE id=?')
                    ->execute([$nombre, $dir ?: null, $ciu ?: null, $cap, $id]);
                flash('ok', 'Estadio actualizado.');
            } else {
                db()->prepare('INSERT INTO estadios (nombre, direccion, ciudad, capacidad) VALUES (?,?,?,?)')
                    ->execute([$nombre, $dir ?: null, $ciu ?: null, $cap]);
                flash('ok', 'Estadio creado.');
            }
            redirect('/pages/estadios.php');
        }
    }
}

$lista = db()->query('SELECT * FROM estadios ORDER BY 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 estadio' : 'Nuevo estadio' ?></h2>
    <?php if ($editRow) : ?>
      <a class="btn btn-ghost" href="<?= h(url('pages/estadios.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="ciudad">Ciudad</label>
      <input type="text" id="ciudad" name="ciudad" value="<?= h($editRow['ciudad'] ?? '') ?>">
    </div>
    <div style="grid-column:1/-1;">
      <label class="field" for="direccion">Dirección</label>
      <input type="text" id="direccion" name="direccion" value="<?= h($editRow['direccion'] ?? '') ?>">
    </div>
    <div>
      <label class="field" for="capacidad">Capacidad</label>
      <input type="number" id="capacidad" name="capacidad" min="0" value="<?= h((string) ($editRow['capacidad'] ?? '')) ?>">
    </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>Listado</h2></div>
  <div class="table-wrap">
    <table class="data-table">
      <thead>
        <tr>
          <th>Nombre</th>
          <th>Ciudad</th>
          <th>Capacidad</th>
          <th></th>
        </tr>
      </thead>
      <tbody>
        <?php foreach ($lista as $row) : ?>
          <tr>
            <td><?= h($row['nombre']) ?></td>
            <td><?= h($row['ciudad'] ?? '—') ?></td>
            <td><?= $row['capacidad'] !== null ? (int) $row['capacidad'] : '—' ?></td>
            <td>
              <?php if (can_manage_data()) : ?>
                <a href="<?= h(url('pages/estadios.php?edit=' . (int) $row['id'])) ?>">Editar</a>
                <form method="post" style="display:inline;margin-left:0.5rem;" onsubmit="return confirm('¿Eliminar?');">
                  <?= 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">Crea al menos un estadio para asignarlo al programar partidos.</div>
  <?php endif; ?>
</div>

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