templates/backoffice.base.html.twig line 1

Open in your IDE?
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.     <meta charset="utf-8">
  5.     <link rel="shortcut icon" href="{{ absolute_url('assets/media/logos/mazego5.png') }}">
  6.     <title>{% block title %}Welcome!{% endblock %}</title>
  7.     <meta name="description" content="Metronic admin dashboard live demo. Check out all the features of the admin panel. A large number of settings, additional services and widgets." />
  8.     <meta name="keywords" content="Metronic, bootstrap, bootstrap 5, Angular 11, VueJs, React, Laravel, admin themes, web design, figma, web development, ree admin themes, bootstrap admin, bootstrap dashboard" />
  9.     <link rel="canonical" href="https://preview.keenthemes.com/metronic8" />
  10.     <meta name="viewport" content="width=device-width, initial-scale=1" />
  11.     <link rel="stylesheet" href="https://unpkg.com/select2@4.1.0-rc.0/dist/css/select2.min.css">
  12.     <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Poppins:300,400,500,600,700" />
  13.     <link href="{{ asset('/metronic/assets/plugins/global/plugins.bundle.css') }}" rel="stylesheet" type="text/css" />
  14.     <link href="{{ asset('/metronic/assets/css/style.bundle.css') }}" rel="stylesheet" type="text/css" />
  15.     <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> 
  16.     <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/bootstrap-icons.css">
  17.     <link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
  18.  
  19.  
  20.  
  21.     <!-- Load jQuery and jQuery UI -->
  22.     <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
  23.     <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
  24.     <script async src="https://www.googletagmanager.com/gtag/js?id=G-GHTG0WQV2J"></script>
  25.     
  26.     <script>
  27.         window.dataLayer = window.dataLayer || [];
  28.         function gtag(){dataLayer.push(arguments);}
  29.         gtag('js', new Date());
  30.         gtag('config', 'G-GHTG0WQV2J');
  31.     </script>
  32.     <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
  33.     {% block theStylesheet %}{% endblock %}
  34.     {% block javascripts %}{% endblock %}
  35. </head>
  36.     <body class="header-fixed header-tablet-and-mobile-fixed toolbar-enabled toolbar-fixed toolbar-tablet-and-mobile-fixed aside-enabled aside-fixed" style="--kt-toolbar-height:55px;--kt-toolbar-height-tablet-and-mobile:55px">
  37.          
  38.         {% block body %}{% endblock %}
  39.         {% block content %}{% endblock %}
  40.       
  41.         <script src="{{ asset('/metronic/assets/plugins/global/plugins.bundle.js') }}"></script>
  42.         <script src="{{ asset('/metronic/assets/js/scripts.bundle.js') }}"></script>
  43.          
  44.         <script src="{{ asset('/metronic/assets/js/custom/widgets.js') }}"></script>
  45.         <script src="{{ asset('/metronic/assets/js/custom/apps/chat/chat.js') }}"></script>
  46.         <script src="{{ asset('/metronic/assets/js/custom/modals/create-app.js') }}"></script>
  47.         <script src="{{ asset('/metronic/assets/js/custom/modals/upgrade-plan.js') }}"></script>
  48.         <style>
  49.                 form.pull-right.hidden {
  50.             width: 95%;
  51.                }
  52.                th[scope="row"] {
  53.                 padding-left: 10px!important;
  54.                 }
  55.                 th[scope="col"] {
  56.                 padding-left: 9px!important;
  57.                 }
  58.                 .table td:first-child {
  59.                 padding-left: 10px;
  60.                 }
  61.                 td {
  62.                 font-size: 11px!important;
  63.                 }
  64.                 .table td:first-child, .table th:first-child, .table tr:first-child {
  65.                 padding-left: 9px;
  66.                 }
  67.                   .modal {
  68.                      z-index: 1050; 
  69.                 }
  70.  
  71.                 .modal-backdrop {
  72.                 z-index: 1040;  
  73.                 }
  74.                 .btn-to-google {
  75.                     display: flex;
  76.                     align-items: center;
  77.                     padding: 0 0 0 17px;
  78.                     width: 100%;
  79.                     height: 100%;
  80.                     background: #f4f5f9;
  81.                     border-radius: 10px;
  82.                     font-size: 16px;
  83.                     font-weight: 500;
  84.                     color: #1a1b1c;
  85.                     line-height: 19px;
  86.                     cursor: pointer;
  87.                     transition: all .3s;
  88.                     }
  89.                     #kt_app_toolbar {
  90.                     margin: 33px !important;
  91.                     }
  92.                     .dashboard-card.card.shadow-sm {
  93.                     margin: 8px !important;
  94.                     }
  95.                     .row.forced-mb {
  96.                     margin: 0px !important;
  97.                     }
  98.         </style>
  99.            
  100.         {% block pJavascript %}{% endblock %}
  101.     </body>
  102.    
  103.     <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.3/jquery.min.js"></script>
  104.     <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
  105.     <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
  106.     {% block jspositionimportant %}{% endblock %}
  107.     <script>
  108.             $(document).ready(function() {
  109.                 $('#kt_modal_add_customer').on('shown.bs.modal', function() {
  110.                     console.log('Modal shown, initializing Select2');
  111.                     $('.select2-autocomplete').select2({
  112.                         ajax: {
  113.                             url: function() {
  114.                                 return $(this).data('autocomplete-url');
  115.                             },
  116.                             dataType: 'json',
  117.                             delay: 250,
  118.                             data: function(params) {
  119.                                 return {
  120.                                     q: params.term
  121.                                 };
  122.                             },
  123.                             processResults: function(data) {
  124.                                 return {
  125.                                     results: data.results
  126.                                 };
  127.                             },
  128.                             cache: true
  129.                         },
  130.                         minimumInputLength: 2,
  131.                         placeholder: 'Rechercher un produit...'
  132.                     });
  133.                     console.log('Select2 initialized');
  134.                 });
  135.             }); 
  136.     </script>
  137.    <style>
  138.             /* Layout amélioré avec contraintes */
  139.             .dashboard-container {
  140.                 display: grid;
  141.                 grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  142.                 gap: 2rem;
  143.                 margin-bottom: 3rem;
  144.             }
  145.             
  146.             .dashboard-card {
  147.                 height: 100%;
  148.                 display: flex;
  149.                 flex-direction: column;
  150.                 transition: all 0.3s ease;
  151.                 border-radius: 16px;
  152.                 overflow: hidden;
  153.                 box-shadow: 0 6px 18px rgba(0,0,0,0.1);
  154.                 border: none;
  155.                 background: white;
  156.             }
  157.             
  158.             .dashboard-card:hover {
  159.                 transform: translateY(-8px);
  160.                 box-shadow: 0 15px 30px rgba(0,0,0,0.15);
  161.             }
  162.             
  163.             .card-header {
  164.             
  165.                 background: linear-gradient(135deg, #667eea33 0%, #764ba224 100%);
  166.                 color: white;
  167.                 border-bottom: none;
  168.                 padding: 1.5rem 2rem;
  169.             }
  170.             
  171.             .card-header h3 {
  172.                 font-size: 1.5rem;
  173.                 font-weight: 700;
  174.                 margin: 0;
  175.             }
  176.             
  177.             .card-header.bg-success {
  178.                 background: linear-gradient(135deg, #56ab2f 0%, #a8e6cf 100%);
  179.             }
  180.             
  181.             .card-header.bg-info {
  182.                 background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
  183.             }
  184.             
  185.             .card-header.bg-warning {
  186.                 background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
  187.             }
  188.             
  189.             .card-header.bg-danger {
  190.                 background: linear-gradient(135deg, #fa709a 0%, #fee140 100%);
  191.             }
  192.             
  193.             .card-body-flex {
  194.                 flex: 1;
  195.                 display: flex;
  196.                 flex-direction: column;
  197.                 justify-content: space-between;
  198.                 padding: 2rem;
  199.             }
  200.             
  201.             .chart-container {
  202.                 position: relative;
  203.                 height: 400px;
  204.                 width: 100%;
  205.                 margin-top: 1.5rem;
  206.             }
  207.             
  208.             /* Taille des textes augmentée */
  209.             .metric-value {
  210.                 font-size: 2.8rem;
  211.                 font-weight: 800;
  212.                 margin: 1rem 0;
  213.                 color: #2d3748;
  214.                 line-height: 1.2;
  215.             }
  216.             
  217.             .metric-label {
  218.                 font-size: 1.1rem;
  219.                 color: #6c757d;
  220.                 margin-bottom: 0.5rem;
  221.             }
  222.             
  223.             .badge-trend {
  224.                 padding: 0.5rem 1rem;
  225.                 border-radius: 20px;
  226.                 font-weight: 600;
  227.                 font-size: 0.95rem;
  228.             }
  229.             
  230.             .circular-progress {
  231.                 position: relative;
  232.                 width: 100px;
  233.                 height: 100px;
  234.                 margin: 1rem auto;
  235.             }
  236.             
  237.             .circular-progress svg {
  238.                 transform: rotate(-90deg);
  239.             }
  240.             
  241.             .circular-progress .progress-text {
  242.                 position: absolute;
  243.                 top: 50%;
  244.                 left: 50%;
  245.                 transform: translate(-50%, -50%);
  246.                 font-weight: bold;
  247.                 font-size: 1.2rem;
  248.             }
  249.             
  250.             /* Styles modernes pour les tableaux */
  251.             .table {
  252.                 font-size: 1rem;
  253.             }
  254.             
  255.             .table thead th {
  256.                 font-weight: 600;
  257.                 text-transform: uppercase;
  258.                 font-size: 0.85rem;
  259.                 letter-spacing: 0.5px;
  260.             }
  261.             
  262.             .table tbody td {
  263.                 padding: 1rem 0.75rem;
  264.                 vertical-align: middle;
  265.             }
  266.             
  267.             /* Boutons plus grands */
  268.             .btn {
  269.                 padding: 0.6rem 1.25rem;
  270.                 font-size: 1rem;
  271.                 border-radius: 8px;
  272.             }
  273.             
  274.             /* Alertes plus visibles */
  275.             .alert {
  276.                 padding: 1rem 1.5rem;
  277.                 font-size: 1rem;
  278.                 border-radius: 10px;
  279.             }
  280.             
  281.             .alert i {
  282.                 font-size: 1.3rem;
  283.                 margin-right: 0.75rem;
  284.             }
  285.             
  286.             /* Titres plus grands */
  287.             .page-heading {
  288.                 font-size: 2.2rem !important;
  289.             }
  290.             
  291.             .page-heading small {
  292.                 font-size: 1.1rem;
  293.                 margin-top: 0.5rem;
  294.             }
  295.             
  296.             /* Barres de progression */
  297.             .progress {
  298.                 height: 10px !important;
  299.                 border-radius: 5px;
  300.             }
  301.             
  302.             .progress-bar {
  303.                 border-radius: 5px;
  304.             }
  305.             
  306.             @media (max-width: 1399.98px) {
  307.                 .dashboard-container {
  308.                     grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  309.                 }
  310.                 
  311.                 .metric-value {
  312.                     font-size: 2.5rem;
  313.                 }
  314.             }
  315.             
  316.             @media (max-width: 767.98px) {
  317.                 .dashboard-container {
  318.                     grid-template-columns: 1fr;
  319.                     gap: 1.5rem;
  320.                 }
  321.                 
  322.                 .card-header {
  323.                     padding: 1.25rem 1.5rem;
  324.                 }
  325.                 
  326.                 .card-body-flex {
  327.                     padding: 1.5rem;
  328.                 }
  329.                 
  330.                 .metric-value {
  331.                     font-size: 2.2rem;
  332.                 }
  333.                 
  334.                 .page-heading {
  335.                     font-size: 1.8rem !important;
  336.                 }
  337.             }
  338.                     .table-responsive {
  339.                 overflow: visible !important;
  340.             }
  341.             td .dropdown {
  342.                 position: static; /* Permet au dropdown de s'échapper du conteneur */
  343.             }
  344.     </style>
  345. </html>