Files
contribv2AI/templates/base.html.twig
Freedyx29 4ffa0efb5a version 1
2025-10-24 16:18:08 +02:00

81 lines
4.8 KiB
Twig

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>{% block title %}Welcome!{% endblock %}</title>
<link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 128 128%22><text y=%221.2em%22 font-size=%2296%22>⚫️</text><text y=%221.3em%22 x=%220.2em%22 font-size=%2276%22 fill=%22%23fff%22>sf</text></svg>">
{% block stylesheets %}
{# Bootstrap CSS via CDN (par défaut) - les templates enfants peuvent ajouter leurs propres styles ici #}
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="" crossorigin="anonymous">
{% endblock %}
{% block javascripts %}
{# Importmap (si utilisé) placé dans le head par défaut #}
{% block importmap %}{{ importmap('app') }}{% endblock %}
{% endblock %}
</head>
<body>
{# Navbar global #}
<nav class="navbar navbar-expand-lg navbar-light bg-light mb-3">
<div class="container-fluid">
<a class="navbar-brand" href="{{ path('projet_index') }}">ContribV2</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
<li class="nav-item"><a class="nav-link" href="{{ path('projet_index') }}">Projets</a></li>
<li class="nav-item"><a class="nav-link" href="{{ path('dashboard') }}">Dashboard</a></li>
<li class="nav-item"><a class="nav-link" href="{{ path('membre_index') }}">Utilisateurs</a></li>
<li class="nav-item"><a class="nav-link" href="{{ path('assistant_ia_index') }}">Assistants IA</a></li>
</ul>
<div class="d-flex">
<button class="btn btn-outline-secondary" data-bs-toggle="modal" data-bs-target="#helpModal">Aide</button>
</div>
</div>
</div>
</nav>
<div class="container my-4">
{# messages flash #}
{% for label, messages in app.flashes %}
{% for message in messages %}
<div class="alert alert-{{ label == 'danger' ? 'danger' : (label == 'warning' ? 'warning' : (label == 'success' ? 'success' : 'info')) }} alert-dismissible fade show" role="alert">
{{ message }}
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</div>
{% endfor %}
{% endfor %}
{% block body %}{% endblock %}
</div>
{# Modale d'aide globale #}
<div class="modal fade" id="helpModal" tabindex="-1" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Aide</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<p>Cette application permet de gérer des projets et leurs contributions. Depuis la liste des projets vous pouvez accéder aux détails d'un projet, ajouter/modifier/supprimer des contributions, et gérer les assistants IA.</p>
<ul>
<li>Sur la page projet : ajouter des contributions, indiquer si une contribution a utilisé un assistant IA.</li>
<li>Suppression de projet : si le projet contient des contributions, une confirmation supplémentaire est requise.</li>
<li>Utilisez les boutons « Détails », « Modifier » et « Supprimer » pour gérer les éléments.</li>
</ul>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Fermer</button>
</div>
</div>
</div>
</div>
{# Scripts JS à la fin du body pour de meilleures performances. Les templates enfants peuvent étendre ce bloc. #}
{% block bottom_javascripts %}
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js" integrity="" crossorigin="anonymous"></script>
{% endblock %}
</body>
</html>