<?php
session_start();
require_once 'config.php';
require_once 'functions.php';

$isLoggedIn = isset($_SESSION['user_id']) && (int)$_SESSION['user_id'] > 0
           || (isset($_SESSION['auth_method']) && $_SESSION['auth_method'] === 'code');

include 'header.php';
?>

<div class="container mt-4 px-4" style="max-width:800px;">
    <div class="d-flex align-items-center gap-3 mb-4">
        <a href="index.php" class="btn btn-outline-secondary btn-sm">&larr; Retour</a>
        <h5 class="text-info fw-bold mb-0">Centre d'aide</h5>
    </div>

    <!-- NAVIGATION RAPIDE -->
    <div class="d-flex flex-wrap gap-2 mb-4">
        <?php $sections = ['gages','chat','cercles','amis','oracle','forfaits','admin']; ?>
        <?php foreach($sections as $s): ?>
        <a href="#<?= $s ?>" class="btn btn-outline-info btn-sm" style="font-size:0.65rem;"><?= ucfirst($s) ?></a>
        <?php endforeach; ?>
    </div>

    <?php
    $sections = [
        'gages' => [
            'title' => 'Les Gages',
            'color' => 'warning',
            'items' => [
                'Créer un gage' => 'Clique sur le formulaire en haut du dashboard. Choisis ton adversaire, entre la description, les points d\'honneur en jeu et la date limite.',
                'Gage global' => 'Coche "Gage ouvert" pour que n\'importe qui sur le site puisse l\'accepter. Le premier qui clique "Accepter" devient ton adversaire.',
                'Accepter/Refuser' => 'Les gages en attente d\'acceptation apparaissent en jaune. Clique Accepter ou Refuser.',
                'Honorer un gage' => 'Quand un gage est terminé (WON ou LOST), le gagnant peut marquer le gage comme "Honoré" pour confirmer que le perdant a respecté sa promesse.',
                'Voter' => 'Les autres membres du cercle peuvent voter OUI ou NON sur les gages actifs. Les votes ferment automatiquement à la date d\'échéance.',
                'Ajouter des preuves' => 'Clique sur l\'icône photo d\'un gage pour y ajouter des images comme preuve (selon ton forfait).',
            ]
        ],
        'chat' => [
            'title' => 'Le Chat / Mur',
            'color' => 'primary',
            'items' => [
                'Mur du cercle' => 'Le chat en temps réel affiche les 20 derniers messages de ton cercle actif. Les messages se rafraîchissent automatiquement.',
                'Changer de cercle' => 'Utilise le dropdown dans l\'en-tête du chat pour basculer entre tes cercles. Le compteur indique les messages non lus.',
                'Signaler un message' => 'Clique [!] sur un message pour le signaler à l\'Oracle. Tu ne peux pas te signaler toi-même.',
                'Supprimer un message' => 'Les Oracles et Admins voient le bouton [x] pour supprimer n\'importe quel message.',
                'Historique' => 'Accède à l\'historique complet dans L\'Oracle → Historique chat. Tu peux rechercher par mots-clés et filtrer par cercle.',
            ]
        ],
        'cercles' => [
            'title' => 'Les Cercles',
            'color' => 'info',
            'items' => [
                'Créer un cercle' => 'Va dans L\'Oracle → Mes cercles. Selon ton forfait : Free=1, Premium=5, Premium+=20 cercles.',
                'Inviter un membre' => 'Dans Gestion du cercle, entre le nom d\'utilisateur et envoie une invitation. Le membre reçoit une notification avec un lien direct.',
                'Rejoindre un cercle' => 'Tu peux entrer un code d\'invitation sur la page de connexion, ou cliquer le lien dans ta notification.',
                'Cercle actif' => 'Le cercle actif détermine quels gages et messages tu vois. Change-le avec le sélecteur dans Gestion du cercle.',
                'Oracle' => 'L\'Oracle est le modérateur du cercle. Il peut arbitrer les gages, retirer des membres et gérer le chat.',
            ]
        ],
        'amis' => [
            'title' => 'Les Amis',
            'color' => 'success',
            'items' => [
                'Ajouter un ami' => 'Dans la section Amis du dashboard, cherche un membre et clique "+ Ami". L\'autre personne doit accepter.',
                'Statuts' => 'Vert = en ligne (< 10 min), Jaune = actif récemment (< 30 min), Rouge = Ne pas déranger, Gris = Hors ligne.',
                'Favoris' => 'Clique sur un ami pour ouvrir son menu, puis "Ajouter favori". Les favoris apparaissent en haut de la liste avec une étoile.',
                'Poke' => 'Envoie un "poke" à un ami pour lui envoyer un message privé automatique.',
                'Evaluer' => 'Clique "Evaluer ce membre" pour lui donner une note de 1 à 5 étoiles avec commentaire.',
            ]
        ],
        'oracle' => [
            'title' => 'L\'Oracle',
            'color' => 'warning',
            'items' => [
                'Arbitrage' => 'L\'Oracle peut forcer le résultat d\'un gage (Gagné/Perdu/En cours) en cas de litige.',
                'Pas honoré' => 'Si le perdant refuse d\'honorer le gage, l\'Oracle peut le marquer "Pas honoré" ce qui affecte son score de fiabilité.',
                'Nommer un Oracle' => 'Le propriétaire du cercle peut nommer un autre membre comme Oracle depuis la page d\'arbitrage.',
                'Bande défilante' => 'L\'Oracle peut gérer les messages qui défilent en haut du site.',
            ]
        ],
        'forfaits' => [
            'title' => 'Les Forfaits',
            'color' => 'info',
            'items' => [
                'Free' => 'Accès de base : gages, chat, 1 cercle, 1 photo par gage.',
                'Premium (4.99$/mois)' => '5 cercles, 5 photos par gage, couleur dans le chat, icônes premium.',
                'Premium+ (9.99$/mois)' => '20 cercles, photos dans le chat, couleur texte, badge exclusif, support prioritaire.',
                'Changer de forfait' => 'Va dans Forfaits depuis le menu principal. Tu ne peux pas descendre à un forfait inférieur.',
            ]
        ],
        'admin' => [
            'title' => 'Administration',
            'color' => 'danger',
            'items' => [
                'Panneau admin' => 'Accessible seulement aux administrateurs. Gestion complète des membres, gages, événements, boutique.',
                'Impersonation' => 'Les admins peuvent naviguer en tant que n\'importe quel utilisateur pour tester et déboguer.',
                'Apparence' => 'Personnalise les couleurs, polices et thème du site en temps réel.',
                'Serveur' => 'Statistiques d\'utilisation, espace disque, info PHP et progression temporelle.',
                'Bugs' => 'Consulte les bugs rapportés par les utilisateurs et change leur statut.',
            ]
        ],
    ];
    ?>

    <?php foreach ($sections as $id => $section): ?>
    <div class="card bg-dark border-<?= $section['color'] ?> shadow mb-3" id="<?= $id ?>">
        <div class="card-header py-2 text-<?= $section['color'] ?> fw-bold small"><?= $section['title'] ?></div>
        <div class="card-body py-2 px-3">
            <?php foreach ($section['items'] as $titre => $desc): ?>
            <div class="mb-2">
                <span class="text-white fw-bold" style="font-size:0.78rem;"><?= htmlspecialchars($titre) ?></span>
                <p class="text-white mb-0" style="font-size:0.72rem;line-height:1.5;"><?= htmlspecialchars($desc) ?></p>
            </div>
            <?php endforeach; ?>
        </div>
    </div>
    <?php endforeach; ?>

    <div class="text-center mt-3 mb-4">
        <a href="report_bug.php" class="btn btn-outline-danger btn-sm">Rapporter un bug</a>
        <a href="contact.php" class="btn btn-outline-secondary btn-sm ms-2">Nous contacter</a>
    </div>
</div>

<?php include 'footer.php'; ?>
