templates/base.html.twig line 1

Open in your IDE?
  1. <!DOCTYPE html>
  2. <html lang="en" data-theme="{{ app.user ? app.user.theme : 'default' }}">
  3.     <head>
  4.         <title>
  5.             Evapi ERP
  6.             {% block title %}{% endblock %}
  7.         </title>
  8.         <meta charset="utf-8"/>
  9.         <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
  10.         <meta
  11.         name="viewport" content="width=device-width, initial-scale=1"/>
  12.         <!-- Favicon -->
  13.         {% set faviconRelativePath = 'https://serveur-images.devil-it-applications.fr/evapi/logo/favicon' %}
  14.         {% block stylesheets %}
  15.             <link rel="shortcut icon" href="{{ faviconRelativePath }}/favicon.ico" type="image/x-icon"/>
  16.             <link rel="apple-touch-icon" sizes="180x180" href="{{ faviconRelativePath }}/apple-touch-icon.png"/>
  17.             <link rel="icon" type="image/png" sizes="192x192" href="{{ faviconRelativePath }}/android-chrome-192x192.png"/>
  18.             <link rel="icon" type="image/png" sizes="512x512" href="{{ faviconRelativePath }}/android-chrome-512x512.png"/>
  19.             <link rel="icon" type="image/png" sizes="32x32" href="{{ faviconRelativePath }}/favicon-32x32.png"/>
  20.             <link rel="icon" type="image/png" sizes="16x16" href="{{ faviconRelativePath }}/favicon-16x16.png"/>
  21.             <link rel="manifest" href="{{ faviconRelativePath }}/site.webmanifest"/>
  22.             <link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/smoothness/jquery-ui.css"/>
  23.             <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined"/>
  24.             <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
  25.             <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script>
  26.             <script src="https://cdnjs.cloudflare.com/ajax/libs/js-cookie/3.0.1/js.cookie.min.js"></script>
  27.             <script>
  28.                 // Create a <link> element for each non-critical CSS file
  29. var assetUrl = "{{ asset('') }}"
  30. var cssFiles = [
  31. 'assets/plugins/dropify/dist/css/dropify.min.css',
  32. 'assets/plugins/bootstrap/css/bootstrap.min.css',
  33. 'assets/plugins/perfect-scrollbar/css/perfect-scrollbar.min.css',
  34. 'assets/plugins/select2/dist/css/select2.min.css',
  35. 'assets/plugins/bootstrap-select/bootstrap-select.min.css',
  36. 'assets/plugins/Magnific-Popup-master/dist/magnific-popup.min.css',
  37. 'assets/plugins/jquery-asColorPicker-master/dist/css/asColorPicker.min.css',
  38. 'assets/plugins/datatables/media/css/dataTables.bootstrap4.min.css',
  39. 'assets/plugins/html5-editor/bootstrap-wysihtml5.min.css',
  40. 'assets/plugins/chartist-js/dist/chartist.min.css',
  41. 'assets/plugins/chartist-plugin-tooltip-master/dist/chartist-plugin-tooltip.min.css',
  42. 'assets/plugins/footable/css/footable.bootstrap.min.css',
  43. 'assets/plugins/daterangepicker/daterangepicker.min.css',
  44. 'assets/plugins/dropzone-master/dist/dropzone.min.css',
  45. 'assets/plugins/c3-master/c3.min.css',
  46. 'assets/plugins/toast-master/css/jquery.toast.min.css',
  47. 'assets/plugins/x-editable/dist/bootstrap3-editable/css/bootstrap-editable.min.css',
  48. 'assets/plugins/html5-editor/bootstrap-wysihtml5.min.css',
  49. 'assets/plugins/nestable/nestable.min.css'
  50. ]
  51. // Function to asynchronously load CSS files
  52. function loadCSS(url) {
  53. var link = document.createElement('link')
  54. link.rel = 'stylesheet'
  55. link.href = assetUrl + url
  56. document.head.appendChild(link)
  57. }
  58. // Load each CSS file asynchronously
  59. cssFiles.forEach(function (url) {
  60. loadCSS(url)
  61. })
  62.             </script>
  63.             <!-- Custom Style -->
  64.             <link href="{{ asset('assets/css/style.css') }}" rel="stylesheet"/>
  65.             {# <link href="{{ asset('assets/css/pages/tab-page.css') }}" rel="stylesheet" /> #}
  66.             {# <link href="{{ asset('assets/css/pages/dashboard1.css') }}" rel="stylesheet" /> #}
  67.             {# <link href="{{ asset('assets/css/pages/footable-page.css') }}" rel="stylesheet" /> #}
  68.             {# <link href="{{ asset('assets/css/pages/card-page.css') }}" rel="stylesheet" /> #}
  69.             <link
  70.             href="{{ asset('assets/css/colors/default-dark.css') }}" id="theme" rel="stylesheet"/> <!-- Override Style -->
  71.             <link href="{{ asset('assets/css/overrides/stylesheet.css') }}" rel="stylesheet"/>
  72.             <link href="{{ asset('assets/css/overrides/theme.css') }}" rel="stylesheet"/>
  73.             <script src="{{ asset('assets/plugins/tinymce_7.5.1/tinymce.min.js') }}"></script>
  74.             <script src="{{ asset('assets/plugins/tinymce_7.5.1/langs/fr_FR.js') }}"></script>
  75.             <script src="{{ asset('assets/plugins/Sortable-1.15.6/Sortable.min.js') }}"></script>
  76.         {% endblock %}
  77.     </head>
  78.     {% block body %}
  79.         <body id="{{ app.request.get('_route') ? : 'home' }}">
  80.             <div id="main-wrapper" class=" page">
  81.                 {% block sidebar %}
  82.                     {% include 'layout/sidebar.html.twig' %}
  83.                 {% endblock %}
  84.                 {% block topbar %}
  85.                     <header class="topbar">
  86.                         <div class="container">
  87.                             <div class="topbar__content">
  88.                                 <div class="topbar__col">
  89.                                     <div class="topbar__toggler">
  90.                                         <a class="topbar__toggler-mobile nav-toggler hidden-lg-up" href="javascript:void(0)">
  91.                                             <span class="material-symbols-outlined">menu</span>
  92.                                         </a>
  93.                                         <a class="topbar__toggler-desktop sidebartoggler hidden-lg-down" href="javascript:void(0)">
  94.                                             <span class="material-symbols-outlined">menu_open</span>
  95.                                         </a>
  96.                                     </div>
  97.                                     {% block heading %}{% endblock %}
  98.                                 </div>
  99.                                 <div class="topbar__col">
  100.                                     <div class="tab-actions">
  101.                                         <button id="bulkEditBtn" class="btn btn-primary">
  102.                                             <span class="material-symbols-outlined">edit</span>
  103.                                             Modifier en masse</button>
  104.                                         <div class="bulk-btn-group">
  105.                                             <button id="bulkSaveBtn" type="button" class="btn btn-primary">
  106.                                                 <span class="material-symbols-outlined">save</span>
  107.                                                 Enregistrer Tous</a>
  108.                                             <button id="bulkCancelBtn" type="button" class="btn btn-danger">
  109.                                                 <span class="material-symbols-outlined">cancel</span>
  110.                                                 Annuler
  111.                                             </a>
  112.                                         </div>
  113.                                     </div>
  114.                                     <div class="topbar__language dropdown d-none">
  115.                                         <a class="topbar__language-link" href="#" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
  116.                                             <i class="icon icon__img--fr"></i>
  117.                                         </a>
  118.                                         <div class="dropdown-menu">
  119.                                             <a class="dropdown-item" href="#">
  120.                                                 <i class="icon icon__img--uk"></i>
  121.                                                 English</a>
  122.                                             <a class="dropdown-item" href="#">
  123.                                                 <i class="icon icon__img--fr"></i>
  124.                                                 French</a>
  125.                                         </div>
  126.                                     </div>
  127.                                     <div class="topbar__profile dropdown">
  128.                                         <a class="topbar__profile-link" href="#" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
  129.                                             {% if app.user %}
  130.                                                 {% set initials = (app.user.prenom|first) ~ (app.user.nom|first) %}
  131.                                                 <div class="topbar__profile-initials">{{ initials }}</div>
  132.                                                 <div class="topbar__profile-text">
  133.                                                     <h5 class="topbar__profile-text__name">
  134.                                                         <span>{{ app.user.prenom }}
  135.                                                             {{ app.user.nom }}</span>
  136.                                                         <i class="icon icon--arrow-down"></i>
  137.                                                     </h5>
  138.                                                     <p class="topbar__profile-text__mail">{{ app.user.email }}</p>
  139.                                                 </div>
  140.                                             {% endif %}
  141.                                         </a>
  142.                                         <div class="dropdown-menu">
  143.                                             <ul class="dropdown-user">
  144.                                                 <li class="dropdown-user__item d-none">
  145.                                                     <a class="dropdown-user__link" href="{{ path('app_user_show', { id: user.id }) }}">
  146.                                                         <span class="material-symbols-outlined">person</span>
  147.                                                         My profile</a>
  148.                                                 </li>
  149.                                                 <li>
  150.                                                     <a class="btn btn-outline-primary" href="{{ path('app_logout') }}">
  151.                                                         <span class="material-symbols-outlined">logout</span>
  152.                                                         Déconnexion</a>
  153.                                                 </li>
  154.                                             </ul>
  155.                                         </div>
  156.                                     </div>
  157.                                 </div>
  158.                             </div>
  159.                         </div>
  160.                     </header>
  161.                     <script src="{{ asset('assets/js/components/layout.js') }}"></script>
  162.                 {% endblock %}
  163.                 <div class="page-wrap">
  164.                     <div class="page-grid">
  165.                         <div class="page-content">
  166.                             <div class="container" style="line-height: 1.2;font-size: 0.8rem">
  167.                                 {% block content %}{% endblock %}
  168.                             </div>
  169.                         </div>
  170.                     </div>
  171.                     {% block footer %}
  172.                         {% include 'layout/footer.html.twig' %}
  173.                     {% endblock %}
  174.                 </div>
  175.             </div>
  176.             {% block javascripts %}
  177.                 <!-- CDN scripts -->
  178.                 <script src="https://cdn.jsdelivr.net/npm/sweetalert2@10"></script>
  179.                 <script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.10/clipboard.min.js"></script>
  180.                 <script src="https://cdn.jsdelivr.net/npm/sortablejs@latest/Sortable.min.js"></script>
  181.                 <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjs/9.5.0/math.min.js"></script>
  182.                 <script src="https://cdn.jsdelivr.net/npm/jquery-sortablejs@latest/jquery-sortable.min.js"></script>
  183.                 <!-- Plugin scripts -->
  184.                 <script src="{{ asset('assets/plugins/bootstrap/js/popper.min.js') }}"></script>
  185.                 <script src="{{ asset('assets/plugins/bootstrap/js/bootstrap.bundle.min.js') }}"></script>
  186.                 <script src="{{ asset('assets/plugins/moment/moment.min.js') }}"></script>
  187.                 <script src="{{ asset('assets/plugins/footable/js/footable.min.js') }}"></script>
  188.                 <script src="{{ asset('assets/plugins/dropify/dist/js/dropify.min.js') }}"></script>
  189.                 <script src="{{ asset('assets/plugins/sparkline/jquery.sparkline.min.js') }}"></script>
  190.                 <script src="{{ asset('assets/plugins/chartist-js/dist/chartist.min.js') }}"></script>
  191.                 <script src="{{ asset('assets/plugins/chartist-plugin-tooltip-master/dist/chartist-plugin-tooltip.min.js') }}"></script>
  192.                 <script src="{{ asset('assets/plugins/x-editable/dist/bootstrap3-editable/js/bootstrap-editable.min.js') }}"></script>
  193.                 <script src="{{ asset('assets/plugins/d3/d3.min.js') }}"></script>
  194.                 <script src="{{ asset('assets/plugins/c3-master/c3.min.js') }}"></script>
  195.                 <script src="{{ asset('assets/plugins/dropzone-master/dist/dropzone.min.js') }}"></script>
  196.                 <script src="{{ asset('assets/plugins/daterangepicker/daterangepicker.min.js') }}"></script>
  197.                 <script src="{{ asset('assets/plugins/select2/dist/js/select2.full.min.js') }}"></script>
  198.                 <script src="{{ asset('assets/plugins/multiselect/js/jquery.multi-select.min.js') }}"></script>
  199.                 <script src="{{ asset('assets/plugins/bootstrap-select/bootstrap-select.min.js') }}"></script>
  200.                 <script src="{{ asset('assets/plugins/datatables/datatables.min.js') }}"></script>
  201.                 <script src="{{ asset('assets/plugins/Magnific-Popup-master/dist/jquery.magnific-popup.min.js') }}"></script>
  202.                 <script src="{{ asset('assets/plugins/Magnific-Popup-master/dist/jquery.magnific-popup-init.min.js') }}"></script>
  203.                 <script src="{{ asset('assets/plugins/toast-master/js/jquery.toast.min.js') }}"></script>
  204.                 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.21.0/jquery.validate.min.js" integrity="sha512-KFHXdr2oObHKI9w4Hv1XPKc898mE4kgYx58oqsc/JqqdLMDI4YjOLzom+EMlW8HFUd0QfjfAvxSL6sEq/a42fQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
  205.                 <!-- Custom scripts -->
  206.                 <script src="{{ asset('assets/js/plugins/perfect-scrollbar.jquery.min.js') }}"></script>
  207.                 <script src="{{ asset('assets/js/plugins/validation.js') }}"></script>
  208.                 <script src="{{ asset('assets/js/components/toastr.js') }}"></script>
  209.                 <script src="{{ asset('assets/js/components/clipboard.js') }}"></script>
  210.                 <script src="{{ asset('assets/js/utilities/functions.js') }}"></script>
  211.                 <script src="{{ asset('assets/js/utilities/helpers.js') }}"></script>
  212.                 <script src="{{ asset('assets/js/page/contact.js') }}"></script>
  213.             {% endblock %}
  214.         </body>
  215.     {% endblock %}
  216. </html>