<?php
require __DIR__ . '/../includes/bootstrap.php';
require __DIR__ . '/../includes/admin-helpers.php';
require __DIR__ . '/../includes/transfers.php';
$pageTitle = 'Transfers';

$q      = in_str('q', $_GET);
$team   = in_int('team', $_GET);
$season = in_int('season', $_GET);
$type   = in_enum('type', array_keys(TRANSFER_TYPES), null, $_GET);
$dir    = in_enum('dir', ['in', 'out'], null, $_GET);

$where  = ['1=1'];
$params = [];
if ($q !== null) { $where[] = '(p.known_as LIKE ? OR p.last_name LIKE ?)'; array_push($params, "%$q%", "%$q%"); }
if ($team) {
    if ($dir === 'in')      { $where[] = 't.to_team_id = ?';   $params[] = $team; }
    elseif ($dir === 'out') { $where[] = 't.from_team_id = ?'; $params[] = $team; }
    else                    { $where[] = '(t.to_team_id = ? OR t.from_team_id = ?)'; array_push($params, $team, $team); }
}
if ($season) { $where[] = 't.season_id = ?';     $params[] = $season; }
if ($type)   { $where[] = 't.transfer_type = ?'; $params[] = $type; }
$whereSql = implode(' AND ', $where);

$from = 'FROM transfers t JOIN people p ON p.id = t.person_id';
$p = paginate((int)db_value("SELECT COUNT(*) $from WHERE $whereSql", $params));
$rows = db_all(
    "SELECT t.*, p.known_as, p.position_group, f.name AS from_team, tt.name AS to_team, s.name AS season
     $from
     LEFT JOIN teams f   ON f.id = t.from_team_id
     LEFT JOIN teams tt  ON tt.id = t.to_team_id
     LEFT JOIN seasons s ON s.id = t.season_id
     WHERE $whereSql
     ORDER BY t.transfer_date DESC, t.id DESC
     LIMIT {$p['limit']} OFFSET {$p['offset']}",
    $params
);
$seasons = db_all('SELECT id, name FROM seasons WHERE name LIKE "%/%" ORDER BY start_date DESC');

require __DIR__ . '/partials/header.php';
?>
<div class="d-flex justify-content-between align-items-center mb-3">
  <h1 class="h3 mb-0">Transfers <span class="text-muted fs-6">(<?= $p['total'] ?>)</span></h1>
  <a class="btn btn-success" href="<?= url('admin/transfer-edit.php') ?>">Record transfer</a>
</div>

<form class="row g-2 mb-3" method="get">
  <div class="col-md-3"><input name="q" class="form-control" placeholder="Player name" value="<?= e($q) ?>"></div>
  <div class="col-md-3"><select name="team" class="form-select"><?= options(lookup_teams('club'), $team, 'Any club') ?></select></div>
  <div class="col-6 col-md-1"><select name="dir" class="form-select"><?= enum_options(['in' => 'In', 'out' => 'Out'], $dir, 'In/out') ?></select></div>
  <div class="col-6 col-md-2"><select name="season" class="form-select"><?= options($seasons, $season, 'Any season') ?></select></div>
  <div class="col-6 col-md-2"><select name="type" class="form-select"><?= enum_options(TRANSFER_TYPES, $type, 'Any type') ?></select></div>
  <div class="col-auto"><button class="btn btn-outline-secondary">Filter</button></div>
</form>

<?php if (!$rows): ?>
  <p class="text-muted">No transfers match. Clear the filters or record one.</p>
<?php else: ?>
<div class="table-responsive bg-white border rounded">
  <table class="table table-hover mb-0 align-middle">
    <thead><tr><th>Date</th><th>Player</th><th>From</th><th>To</th><th>Type</th><th class="text-end">Fee</th><th></th></tr></thead>
    <tbody>
    <?php foreach ($rows as $r): ?>
      <tr>
        <td class="text-nowrap"><?= e($r['transfer_date']) ?><div class="small text-muted"><?= e($r['season']) ?></div></td>
        <td><a href="<?= url('admin/person-edit.php?id=' . $r['person_id']) ?>"><?= e($r['known_as']) ?></a> <span class="small text-muted"><?= e($r['position_group']) ?></span></td>
        <td><?= e($r['from_team'] ?? '—') ?></td>
        <td><?= e($r['to_team'] ?? '—') ?></td>
        <td><span class="badge <?= in_array($r['transfer_type'], ['loan', 'loan_return'], true) ? 'text-bg-info' : 'text-bg-light border' ?>"><?= e(TRANSFER_TYPES[$r['transfer_type']]) ?></span></td>
        <td class="text-end text-nowrap"><?= e(format_fee($r)) ?></td>
        <td class="text-end"><a class="btn btn-sm btn-outline-primary" href="<?= url('admin/transfer-edit.php?id=' . $r['id']) ?>">Edit</a></td>
      </tr>
    <?php endforeach; ?>
    </tbody>
  </table>
</div>
<?= pager($p) ?>
<?php endif; ?>
<?php require __DIR__ . '/partials/footer.php'; ?>
