<?php
/**
 * @var Laminas\View\Renderer\PhpRenderer $this
 * @var \Tour\Entity\Team                 $team
 * @var \Tour\Entity\Show[]               $shows
 * @var \User\Entity\User[]               $users
 * @var \User\Entity\User|null            $user
 */
$this->headTitle($team->getName());
$isAdmin = $user && $user->getIsAdmin();
?>

<?php if ($isAdmin): ?>
<div class="d-flex gap-2 mb-4">
    <a href="<?= $this->url('teams', ['action' => 'edit', 'id' => $team->getId()]) ?>" class="btn btn-app">
        <i class="bi bi-pencil me-1"></i>Modifier
    </a>
    <a href="<?= $this->url('teams', ['action' => 'delete', 'id' => $team->getId()]) ?>"
       class="btn btn-outline-danger"
       onclick="return confirm('Supprimer cette équipe ?')">
        <i class="bi bi-trash me-1"></i>Supprimer
    </a>
</div>
<?php endif; ?>

<!-- Infos -->
<div class="card-app mb-3">
    <div class="d-flex align-items-center gap-3 mb-3">
        <?php if ($team->getColor()): ?>
        <span style="width:16px;height:16px;border-radius:50%;background:<?= $this->escapeHtml($team->getColor()) ?>;flex-shrink:0"></span>
        <?php endif; ?>
        <div class="settings-section-title mb-0"><i class="bi bi-info-circle me-2"></i>Informations</div>
    </div>
    <dl class="mb-0 row g-0" style="row-gap:var(--space-sm)">
        <?php if ($team->getDescription()): ?>
        <dt class="col-4 text-muted" style="font-size:.8rem">Description</dt>
        <dd class="col-8 mb-0" style="font-size:.875rem"><?= $this->escapeHtml($team->getDescription()) ?></dd>
        <?php endif; ?>
        <dt class="col-4 text-muted" style="font-size:.8rem">Créée le</dt>
        <dd class="col-8 mb-0 text-muted" style="font-size:.8rem"><?= $team->getCreatedAt()->format('d/m/Y') ?></dd>
    </dl>
</div>

<!-- Membres -->
<div class="card-app">
    <div class="d-flex justify-content-between align-items-center mb-3">
        <div class="settings-section-title mb-0">
            <i class="bi bi-person me-2"></i>Membres
            <span class="badge ms-1" style="background:var(--color-surface-2);color:var(--color-text-muted);font-size:.7rem"><?= $team->getMembers()->count() ?></span>
        </div>
    </div>

    <?php if ($team->getMembers()->count() > 0): ?>
    <div class="d-flex flex-column gap-2 mb-4">
        <?php foreach ($team->getMembers() as $member): ?>
        <div class="d-flex align-items-center gap-3 p-2" style="background:var(--color-surface-2);border-radius:var(--radius-sm)">
            <div class="user-avatar">
                <?= mb_strtoupper(mb_substr($member->getUser()->getFirstName(), 0, 1) . mb_substr($member->getUser()->getLastName(), 0, 1)) ?>
            </div>
            <div class="flex-grow-1 min-w-0">
                <div class="fw-semibold text-truncate" style="font-size:.875rem"><?= $this->escapeHtml($member->getUser()->getDisplayName()) ?></div>
                <?php if ($member->getRole()): ?>
                <div class="text-muted" style="font-size:.75rem"><?= $this->escapeHtml($member->getRole()) ?></div>
                <?php endif; ?>
            </div>
            <?php if ($isAdmin): ?>
            <a href="<?= $this->url('teams', ['action' => 'removeMember', 'id' => $team->getId()], ['query' => ['member' => $member->getId()]]) ?>"
               class="btn btn-sm btn-outline-danger flex-shrink-0"
               style="font-size:.75rem;padding:3px 8px"
               onclick="return confirm('Retirer ce membre ?')">
                <i class="bi bi-x"></i>
            </a>
            <?php endif; ?>
        </div>
        <?php endforeach; ?>
    </div>
    <?php else: ?>
    <p class="text-muted mb-4" style="font-size:.875rem">Aucun membre dans cette équipe.</p>
    <?php endif; ?>

    <?php if ($isAdmin): ?>
    <form method="post" action="<?= $this->url('teams', ['action' => 'addMember', 'id' => $team->getId()]) ?>" class="d-flex gap-2 flex-wrap">
        <select name="user_id" class="form-select" required style="max-width:220px">
            <option value="">Ajouter un membre…</option>
            <?php foreach ($users as $u): ?>
            <option value="<?= $u->getId() ?>"><?= $this->escapeHtml($u->getDisplayName()) ?></option>
            <?php endforeach; ?>
        </select>
        <input type="text" name="role" class="form-control" placeholder="Rôle (optionnel)" style="max-width:160px">
        <button type="submit" class="btn btn-app"><i class="bi bi-plus-lg me-1"></i>Ajouter</button>
    </form>
    <?php endif; ?>
</div>

<!-- Shows -->
<div class="card-app mt-3">
    <div class="settings-section-title mb-3">
        <i class="bi bi-calendar3-event me-2"></i>Shows
        <span class="badge ms-1" style="background:var(--color-surface-2);color:var(--color-text-muted);font-size:.7rem"><?= count($shows) ?></span>
    </div>

    <?php if (!empty($shows)): ?>
    <div class="d-flex flex-column gap-2">
        <?php foreach ($shows as $show): ?>
        <a href="<?= $this->url('shows', ['action' => 'view', 'id' => $show->getId()]) ?>" class="card-app d-flex align-items-center gap-3 p-2" style="background:var(--color-surface-2);border-radius:var(--radius-sm)">
            <div class="show-date-chip" style="min-width:40px">
                <span class="show-date-day"><?= $show->getDate() ? $show->getDate()->format('d') : '—' ?></span>
                <span class="show-date-month"><?= $show->getDate() ? mb_strtoupper($show->getDate()->format('M')) : '' ?></span>
            </div>
            <div class="flex-grow-1 min-w-0">
                <div class="fw-semibold text-truncate" style="font-size:.875rem"><?= $this->escapeHtml($show->getTitle()) ?></div>
                <div class="text-muted" style="font-size:.75rem">
                    <?= $show->getCity() ? '<i class="bi bi-geo-alt"></i> ' . $this->escapeHtml($show->getCity()) : '' ?>
                    <?= $show->getVenue() ? ' · ' . $this->escapeHtml($show->getVenue()) : '' ?>
                    <?= $show->getDate() ? ' · ' . $show->getDate()->format('H:i') : '' ?>
                </div>
            </div>
            <i class="bi bi-chevron-right text-muted flex-shrink-0" style="font-size:.875rem"></i>
        </a>
        <?php endforeach; ?>
    </div>
    <?php else: ?>
    <p class="text-muted mb-0" style="font-size:.875rem">Aucun show associé à cette équipe.</p>
    <?php endif; ?>
</div>
