templates/admin/base.html.twig line 1

Open in your IDE?
  1. <!DOCTYPE html>
  2. <html lang="fr">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6.     <title>{% block title %}Administration{% endblock %} - ActuFake</title>
  7.     
  8.     <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css">
  9.     <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
  10.     
  11.     <style>
  12.         .sidebar {
  13.             min-height: 100vh;
  14.             background: #212529;
  15.         }
  16.         
  17.         .sidebar .nav-link {
  18.             color: #adb5bd;
  19.             padding: 10px 20px;
  20.         }
  21.         
  22.         .sidebar .nav-link:hover,
  23.         .sidebar .nav-link.active {
  24.             color: #fff;
  25.             background: #343a40;
  26.         }
  27.         
  28.         .main-content {
  29.             min-height: 100vh;
  30.             background: #f8f9fa;
  31.         }
  32.         
  33.         .stat-card {
  34.             border-left: 4px solid #0d6efd;
  35.         }
  36.         
  37.         .stat-card.success {
  38.             border-left-color: #198754;
  39.         }
  40.         
  41.         .stat-card.warning {
  42.             border-left-color: #ffc107;
  43.         }
  44.         
  45.         .stat-card.danger {
  46.             border-left-color: #dc3545;
  47.         }
  48.     </style>
  49.     
  50.     {% block stylesheets %}{% endblock %}
  51. </head>
  52. <body>
  53.     <div class="container-fluid">
  54.         <div class="row">
  55.             <nav class="col-md-2 d-md-block sidebar">
  56.                 <div class="position-sticky pt-3">
  57.                     <div class="text-center mb-4">
  58.                         <a href="{{ path('admin_dashboard') }}" class="text-white text-decoration-none">
  59.                             <h4><i class="fas fa-newspaper"></i> ActuFake</h4>
  60.                             <small class="text-muted">Administration</small>
  61.                         </a>
  62.                     </div>
  63.                     
  64.                     <ul class="nav flex-column">
  65.                         <li class="nav-item">
  66.                             <a class="nav-link {% if app.request.get('_route') starts with 'admin_dashboard' %}active{% endif %}" 
  67.                                href="{{ path('admin_dashboard') }}">
  68.                                 <i class="fas fa-chart-line"></i> Tableau de bord
  69.                             </a>
  70.                         </li>
  71.                         <li class="nav-item">
  72.                             <a class="nav-link {% if app.request.get('_route') starts with 'admin_article' %}active{% endif %}" 
  73.                                href="{{ path('admin_articles') }}">
  74.                                 <i class="fas fa-newspaper"></i> Articles
  75.                             </a>
  76.                         </li>
  77.                         <li class="nav-item">
  78.                             <a class="nav-link {% if app.request.get('_route') starts with 'admin_generation' %}active{% endif %}" 
  79.                                href="{{ path('admin_generation') }}">
  80.                                 <i class="fas fa-robot"></i> Génération IA
  81.                             </a>
  82.                         </li>
  83.                         <li class="nav-item">
  84.                             <a class="nav-link {% if app.request.get('_route') starts with 'admin_prompt' %}active{% endif %}" 
  85.                                href="{{ path('admin_prompts') }}">
  86.                                 <i class="fas fa-comments"></i> Prompts
  87.                             </a>
  88.                         </li>
  89.                         <li class="nav-item">
  90.                             <a class="nav-link {% if app.request.get('_route') starts with 'admin_categor' %}active{% endif %}" 
  91.                                href="{{ path('admin_categories') }}">
  92.                                 <i class="fas fa-folder"></i> Catégories
  93.                             </a>
  94.                         </li>
  95.                         <li class="nav-item">
  96.                             <a class="nav-link {% if app.request.get('_route') starts with 'admin_contact' %}active{% endif %}" 
  97.                                href="{{ path('admin_contact_index') }}">
  98.                                 <i class="fas fa-inbox"></i> Messages de contact
  99.                                 <span id="unread-contact-badge" class="badge bg-danger ms-1" style="display: none;">0</span>
  100.                             </a>
  101.                         </li>
  102.                         <li class="nav-item">
  103.                             <a class="nav-link {% if app.request.get('_route') starts with 'admin_social' %}active{% endif %}" 
  104.                                href="{{ path('admin_social') }}">
  105.                                 <i class="fas fa-share-alt"></i> Réseaux sociaux
  106.                             </a>
  107.                         </li>
  108.                         <li class="nav-item">
  109.                             <a class="nav-link {% if app.request.get('_route') starts with 'admin_settings' %}active{% endif %}" 
  110.                                href="{{ path('admin_settings') }}">
  111.                                 <i class="fas fa-cog"></i> Paramètres du site
  112.                             </a>
  113.                         </li>
  114.                         <li class="nav-item">
  115.                             <a class="nav-link {% if app.request.get('_route') starts with 'admin_console' %}active{% endif %}" 
  116.                                href="{{ path('admin_console') }}">
  117.                                 <i class="fas fa-terminal"></i> Console Symfony
  118.                             </a>
  119.                         </li>
  120.                         <li class="nav-item mt-4">
  121.                             <a class="nav-link" href="{{ path('home') }}" target="_blank">
  122.                                 <i class="fas fa-external-link-alt"></i> Voir le site
  123.                             </a>
  124.                         </li>
  125.                     </ul>
  126.                 </div>
  127.             </nav>
  128.             <main class="col-md-10 ms-sm-auto main-content">
  129.                 <div class="p-4">
  130.                     {% for type, messages in app.flashes %}
  131.                         {% for message in messages %}
  132.                             <div class="alert alert-{{ type == 'error' ? 'danger' : type }} alert-dismissible fade show">
  133.                                 {{ message }}
  134.                                 <button type="button" class="btn-close" data-bs-dismiss="alert"></button>
  135.                             </div>
  136.                         {% endfor %}
  137.                     {% endfor %}
  138.                     {% block body %}{% endblock %}
  139.                 </div>
  140.             </main>
  141.         </div>
  142.     </div>
  143.     <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
  144.     {% block javascripts %}{% endblock %}
  145. </body>
  146. </html>