| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- <?php
- /**
- * Partiel : Barre latérale des outils (extrait de header.php)
- */
- ?>
- <div class="sidebar">
- <nav class="nav flex-column">
- <!-- Outils de dessin -->
- <div class="tool-group">
- <h6><i class="bi bi-brush me-1"></i>Historique</h6>
- <a class="nav-link" href="#" id="header-undoBtn">
- <i class="bi bi-arrow-counterclockwise me-2"></i>Annuler
- </a>
- <a class="nav-link" href="#" id="header-redoBtn">
- <i class="bi bi-arrow-clockwise me-2"></i>Rétablir
- </a>
- <hr>
- <a class="nav-link" href="#" id="selectTool">
- <i class="bi bi-cursor me-2"></i>Sélection
- </a>
- </div>
- <!-- Options de type de tuile (visible quand une tuile est sélectionnée) -->
- <div class="tool-group" id="tile-type-tool" style="display:none;">
- <h6><i class="bi bi-grid-1x2-fill me-1"></i>Type de tuile</h6>
- <div id="tileTypeOptions" class="d-flex flex-column gap-2">
- <?php
- // Récupérer le template depuis les données de la vue
- $template = 'neutral'; // template par défaut
- if (isset($map_data) && isset($map_data['template'])) {
- $template = $map_data['template'];
- } elseif (isset($GLOBALS['view_data']['map_data']['template'])) {
- $template = $GLOBALS['view_data']['map_data']['template'];
- }
- // Charger dynamiquement les SVG depuis mapModels/{template}/assets/
- $assetsDir = __DIR__ . '/../../../mapModels/' . $template . '/assets';
- $svgFiles = glob($assetsDir . '/*.svg');
- if (empty($svgFiles)) {
- // Fallback vers neutral si aucun fichier trouvé
- $assetsDir = __DIR__ . '/../../../mapModels/neutral/assets';
- $svgFiles = glob($assetsDir . '/*.svg');
- }
- foreach ($svgFiles as $svgFile) {
- $filename = basename($svgFile, '.svg');
- $tileType = $filename;
- $svgContent = file_get_contents($svgFile);
- // Modifier les attributs du SVG pour l'adapter à la taille des boutons
- $svgContent = preg_replace('/width="[^"]*"/', 'width="36"', $svgContent);
- $svgContent = preg_replace('/height="[^"]*"/', 'height="24"', $svgContent);
- $svgContent = preg_replace('/viewBox="[^"]*"/', 'viewBox="0 0 36 24"', $svgContent);
- // Capitaliser le nom pour l'affichage
- $displayName = ucfirst(str_replace('-', ' ', $tileType));
- echo '<button type="button" class="btn btn-light tile-type-option d-flex align-items-center gap-2" data-type="' . htmlspecialchars($tileType) . '" title="' . htmlspecialchars($displayName) . '" aria-label="' . htmlspecialchars($displayName) . '">' . "\n";
- echo ' ' . $svgContent . "\n";
- echo ' <span>' . htmlspecialchars($displayName) . '</span>' . "\n";
- echo '</button>' . "\n";
- }
- ?>
- </div>
- </div>
- </nav>
- </div>
|