<?php

declare(strict_types=1);

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

$pageTitle = 'Inscripciones';
$currentNav = 'inscripciones';

if ($_SERVER['REQUEST_METHOD'] === 'POST' && can_manage_data()) {
    verify_csrf();
    $action = $_POST['action'] ?? '';
    if ($action === 'delete') {
        db()->prepare('DELETE FROM campeonato_equipo WHERE id = ?')->execute([(int) ($_POST['id'] ?? 0)]);
        flash('ok', 'Inscripción eliminada.');
        redirect('/pages/inscripciones.php');
    }
    if ($action === 'add') {
        $cid = (int) ($_POST['campeonato_id'] ?? 0);
        $eid = (int) ($_POST['equipo_id'] ?? 0);
        $grupo = trim((string) ($_POST['grupo_codigo'] ?? ''));
        if ($cid && $eid) {
            try {
                db()->prepare(
                    'INSERT INTO campeonato_equipo (campeonato_id, equipo_id, grupo_codigo, estado) VALUES (?,?,?,?)'
                )->execute([$cid, $eid, $grupo ?: null, 'activo']);
                flash('ok', 'Equipo inscrito en el campeonato.');
            } catch (Throwable $e) {
                flash('err', 'No se pudo inscribir (¿equipo ya inscrito?).');
            }
        }
        redirect('/pages/inscripciones.php');
    }
}

$campeonatos = db()->query('SELECT id, nombre FROM campeonatos ORDER BY nombre')->fetchAll();
$equipos = db()->query('SELECT id, nombre FROM equipos WHERE activo = 1 ORDER BY nombre')->fetchAll();

$sql = 'SELECT ce.id, ce.grupo_codigo, ce.estado, c.nombre AS campeonato, e.nombre AS equipo
        FROM campeonato_equipo ce
        INNER JOIN campeonatos c ON c.id = ce.campeonato_id
        INNER JOIN equipos e ON e.id = ce.equipo_id
        ORDER BY c.nombre, e.nombre';
$lista = db()->query($sql)->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 (flash('err')) : ?>
  <div class="alert alert-error"><?= h((string) flash('err')) ?></div>
<?php endif; ?>

<?php if (can_manage_data()) : ?>
<div class="card" style="margin-bottom:1.5rem;">
  <div class="card-header"><h2>Inscribir equipo en campeonato</h2></div>
  <form method="post" class="form-grid cols-2">
    <?= csrf_field() ?>
    <input type="hidden" name="action" value="add">
    <div>
      <label class="field" for="campeonato_id">Campeonato</label>
      <select id="campeonato_id" name="campeonato_id" required>
        <option value="">— Elegir —</option>
        <?php foreach ($campeonatos as $c) : ?>
          <option value="<?= (int) $c['id'] ?>"><?= h($c['nombre']) ?></option>
        <?php endforeach; ?>
      </select>
    </div>
    <div>
      <label class="field" for="equipo_id">Equipo</label>
      <select id="equipo_id" name="equipo_id" required>
        <option value="">— Elegir —</option>
        <?php foreach ($equipos as $e) : ?>
          <option value="<?= (int) $e['id'] ?>"><?= h($e['nombre']) ?></option>
        <?php endforeach; ?>
      </select>
    </div>
    <div>
      <label class="field" for="grupo_codigo">Grupo (opcional)</label>
      <input type="text" id="grupo_codigo" name="grupo_codigo" maxlength="16" placeholder="A, B…">
    </div>
    <div class="form-actions" style="grid-column:1/-1;align-items:flex-end;">
      <button type="submit" class="btn btn-primary">Inscribir</button>
    </div>
  </form>
</div>
<?php endif; ?>

<div class="card">
  <div class="card-header"><h2>Inscripciones</h2></div>
  <div class="table-wrap">
    <table class="data-table">
      <thead>
        <tr>
          <th>Campeonato</th>
          <th>Equipo</th>
          <th>Grupo</th>
          <th>Estado</th>
          <th></th>
        </tr>
      </thead>
      <tbody>
        <?php foreach ($lista as $row) : ?>
          <tr>
            <td><?= h($row['campeonato']) ?></td>
            <td><?= h($row['equipo']) ?></td>
            <td><?= h($row['grupo_codigo'] ?? '—') ?></td>
            <td><span class="badge badge-muted"><?= h($row['estado']) ?></span></td>
            <td>
              <?php if (can_manage_data()) : ?>
                <form method="post" style="display:inline;" onsubmit="return confirm('¿Quitar inscripción?');">
                  <?= 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;">Quitar</button>
                </form>
              <?php endif; ?>
            </td>
          </tr>
        <?php endforeach; ?>
      </tbody>
    </table>
  </div>
  <?php if (!$lista) : ?><div class="empty-state">No hay inscripciones.</div><?php endif; ?>
</div>

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