templates/base_back.html.twig line 1

Open in your IDE?
  1. <!DOCTYPE html>
  2. <html lang="fr">
  3. <head>
  4.     <meta charset="utf-8">
  5.     <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6.     <title>{% block title %}{% endblock %} | Admin</title>
  7.     <!-- Tell the browser to be responsive to screen width -->
  8.     <meta name="viewport" content="width=device-width, initial-scale=1">
  9.     <!-- Font Awesome -->
  10.     <!-- Ionicons -->
  11.     <link rel="stylesheet" href="https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css">
  12.     <!-- Tempusdominus Bbootstrap 4 -->
  13.     <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-eOJMYsd53ii+scO/bJGFsiCZc+5NDVN2yr8+0RDqr0Ql0h+rP48ckxlpbzKgwra6" crossorigin="anonymous">
  14.     <!-- Theme style -->
  15.     <link rel="stylesheet" href="{{ asset('back/css/adminlte.min.css') }}">
  16.     <!-- summernote -->
  17.     <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css">
  18.     <link rel="stylesheet" href="https://cdn.datatables.net/1.10.24/css/dataTables.bootstrap4.min.css">
  19.     <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/css/toastr.min.css">
  20.     <link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,700" rel="stylesheet">
  21.     <link rel="shortcut icon" type="image/ico"
  22.           href="../images/logo_Wersandt.svg"
  23.     />
  24.     {% block style %}{% endblock %}
  25. </head>
  26. <body class="{% if app.session.get('darkmode') == true %}dark-mode{% endif %} hold-transition sidebar-mini layout-fixed">
  27. <div class="wrapper">
  28.     {% if app.request.attributes.get('_route') != 'app_login' %}
  29.         <!-- Navbar -->
  30.         {{ include('back/inc/nav_header.html.twig') }}
  31.         <!-- /.navbar -->
  32.         {{ include('back/inc/sidebar.html.twig') }}
  33.     {% endif %}
  34.     <!-- Content Wrapper. Contains page content -->
  35.     <div class="{% if app.request.attributes.get('_route') != 'app_login' %}content-wrapper{% else%}login-page{% endif %}">
  36.         {% block body %}{% endblock %}
  37.     </div>
  38.     <!-- /.content-wrapper -->
  39.     {% if app.request.attributes.get('_route') != 'app_login' %}
  40.         {{ include('back/inc/footer.html.twig') }}
  41.     {% endif %}
  42.     <!-- Control Sidebar -->
  43.     <aside class="control-sidebar control-sidebar-dark">
  44.         <!-- Control sidebar content goes here -->
  45.     </aside>
  46.     <!-- /.control-sidebar -->
  47. </div>
  48. <!-- ./wrapper -->
  49. <!-- jQuery -->
  50. <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.js"></script>
  51. <!-- jQuery UI 1.11.4 -->
  52. <script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js" integrity="sha512-uto9mlQzrs59VwILcLiRYeLKPPbS/bT71da/OEBYEwcdNUk8jYIy+D176RYoop1Da+f9mvkYrmj5MCLZWEtQuA==" crossorigin="anonymous"></script>
  53. <!-- Resolve conflict in jQuery UI tooltip with Bootstrap tooltip -->
  54. <script nonce="{{ csp_nonce('script') }}">
  55.     $.widget.bridge('uibutton', $.ui.button)
  56. </script>
  57. <!-- Bootstrap 4 -->
  58. <script src="https://cdn.datatables.net/1.10.24/js/jquery.dataTables.min.js"></script>
  59. <script src="https://cdn.datatables.net/1.10.24/js/dataTables.bootstrap4.min.js"></script>
  60. <script src="//cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/js/toastr.min.js"></script>
  61. <script src="{{ asset('back/js/adminlte.min.js') }}"></script>
  62. <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/js/bootstrap.min.js" integrity="sha384-+YQ4JLhjyBLPDQt//I+STsc9iw4uQqACwlvpslubQzn4u2UU2UFM80nGisd026JF" crossorigin="anonymous"></script>
  63. {{ include('back/inc/messages.html.twig') }}
  64. {% block javascript %}{% endblock %}
  65. <script nonce="{{ csp_nonce('script') }}">
  66.     const btnDarkmode = document.getElementById('darkmode');
  67.     btnDarkmode.addEventListener('click', () => {
  68.         fetch("{{ path('back_darkmode') }}")
  69.             .then(response => response.json())
  70.             .then(result =>  {
  71.                 if (result.darkmode) {
  72.                     document.querySelector('body').classList.add('dark-mode');
  73.                     document.getElementById('navbar-header').classList.replace('navbar-white','navbar-dark');
  74.                     document.getElementById('modeChange').textContent = 'Light';
  75.                 } else {
  76.                     document.querySelector('body').classList.remove('dark-mode');
  77.                     document.getElementById('navbar-header').classList.replace('navbar-dark','navbar-white');
  78.                     document.getElementById('modeChange').textContent = 'Dark';
  79.                 }
  80.             });
  81.     });
  82. </script>
  83. </body>
  84. </html>