<?php
/**
 * @var Laminas\View\Renderer\PhpRenderer $this
 * @var \Tour\Entity\Structure $structure
 * @var \User\Entity\User[] $users
 * @var \Tour\Entity\Invitation[] $pendingInvitations
 */
$this->headTitle($structure->getName());
?>
<div class="page-header">
    <h1>🏢 <?= $this->escapeHtml($structure->getName()) ?></h1>
    <div>
        <a href="<?= $this->url('structures') ?>" class="btn btn-secondary">← Toutes les structures</a>
    </div>
</div>

<div class="row">
    <div class="col-md-6">
        <!-- Membres -->
        <div class="card shadow mb-4">
            <div class="card-header bg-dark text-white d-flex justify-content-between align-items-center">
                <h4 class="mb-0">👤 Membres</h4>
                <button type="button" class="btn btn-sm btn-success" data-bs-toggle="modal" data-bs-target="#addMemberModal">
                    + Ajouter
                </button>
            </div>
            <div class="card-body">
                <?php $members = $structure->getMembers(); ?>
                <?php if (count($members) > 0): ?>
                    <ul class="list-group">
                        <?php foreach ($members as $member): ?>
                            <li class="list-group-item d-flex justify-content-between align-items-center">
                                <?= $this->escapeHtml($member->getUser()->getDisplayName()) ?>
                                <span>
                                    <span class="badge bg-<?= $member->getRole() === 'admin' ? 'warning' : 'info' ?> me-2">
                                        <?= $this->escapeHtml($member->getRole()) ?>
                                    </span>
                                    <a href="<?= $this->url('structures', ['action' => 'removeMember', 'id' => $structure->getId()], ['query' => ['member' => $member->getId()]]) ?>"
                                       class="btn btn-sm btn-outline-danger"
                                       onclick="return confirm('Retirer ce membre ?')">✕</a>
                                </span>
                            </li>
                        <?php endforeach; ?>
                    </ul>
                <?php else: ?>
                    <p class="text-muted mb-0">Aucun membre.</p>
                <?php endif; ?>
            </div>
        </div>
    </div>

    <div class="col-md-6">
        <!-- Invitations en attente -->
        <div class="card shadow mb-4">
            <div class="card-header bg-dark text-white d-flex justify-content-between align-items-center">
                <h4 class="mb-0">✉️ Demandes en attente</h4>
                <button type="button" class="btn btn-sm btn-primary" data-bs-toggle="modal" data-bs-target="#inviteModal">
                    + Inviter
                </button>
            </div>
            <div class="card-body">
                <?php if (count($pendingInvitations) > 0): ?>
                    <ul class="list-group">
                        <?php foreach ($pendingInvitations as $inv): ?>
                            <li class="list-group-item d-flex justify-content-between align-items-center">
                                <?php if ($inv->getIsInvitation()): ?>
                                    Invitation pour <?= $this->escapeHtml($inv->getToUser()->getDisplayName()) ?>
                                <?php else: ?>
                                    Demande de <?= $this->escapeHtml($inv->getFromUser()->getDisplayName()) ?>
                                <?php endif; ?>
                                <span>
                                    <a href="<?= $this->url('structures', ['action' => 'respondInvitation', 'id' => $inv->getId()], ['query' => ['action' => 'accept']]) ?>"
                                       class="btn btn-sm btn-success">✓</a>
                                    <a href="<?= $this->url('structures', ['action' => 'respondInvitation', 'id' => $inv->getId()], ['query' => ['action' => 'decline']]) ?>"
                                       class="btn btn-sm btn-danger">✕</a>
                                </span>
                            </li>
                        <?php endforeach; ?>
                    </ul>
                <?php else: ?>
                    <p class="text-muted mb-0">Aucune demande en attente.</p>
                <?php endif; ?>
            </div>
        </div>
    </div>
</div>

<!-- Modal Ajouter un membre -->
<div class="modal fade" id="addMemberModal" tabindex="-1">
    <div class="modal-dialog">
        <div class="modal-content">
            <form method="post" action="<?= $this->url('structures', ['action' => 'addMember', 'id' => $structure->getId()]) ?>">
                <div class="modal-header">
                    <h5 class="modal-title">Ajouter un membre</h5>
                    <button type="button" class="btn-close" data-bs-dismiss="modal"></button>
                </div>
                <div class="modal-body">
                    <div class="mb-3">
                        <label class="form-label">Code de l'utilisateur</label>
                        <input type="text" name="code" class="form-control" placeholder="Ex: ABC12345" required maxlength="8" style="text-transform: uppercase">
                    </div>
                    <div class="mb-3">
                        <label class="form-label">Rôle</label>
                        <select name="role" class="form-select">
                            <option value="member">Membre</option>
                            <option value="admin">Admin</option>
                        </select>
                    </div>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Annuler</button>
                    <button type="submit" class="btn btn-success">Ajouter</button>
                </div>
            </form>
        </div>
    </div>
</div>

<!-- Modal Inviter un utilisateur -->
<div class="modal fade" id="inviteModal" tabindex="-1">
    <div class="modal-dialog">
        <div class="modal-content">
            <form method="post" action="<?= $this->url('structures', ['action' => 'inviteUser', 'id' => $structure->getId()]) ?>">
                <div class="modal-header">
                    <h5 class="modal-title">Inviter un utilisateur</h5>
                    <button type="button" class="btn-close" data-bs-dismiss="modal"></button>
                </div>
                <div class="modal-body">
                    <div class="mb-3">
                        <label class="form-label">Code de l'utilisateur</label>
                        <input type="text" name="code" class="form-control" placeholder="Ex: ABC12345" required maxlength="8" style="text-transform: uppercase">
                    </div>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Annuler</button>
                    <button type="submit" class="btn btn-primary">Inviter</button>
                </div>
            </form>
        </div>
    </div>
</div>
