var/cache/dev/twig/74/74b4d5314bb0c2d4cb364ac904937e6082770b2861af23de6ed9fb9e3cea301c.php line 41

Open in your IDE?
  1. <?php
  2. use Twig\Environment;
  3. use Twig\Error\LoaderError;
  4. use Twig\Error\RuntimeError;
  5. use Twig\Extension\CoreExtension;
  6. use Twig\Extension\SandboxExtension;
  7. use Twig\Markup;
  8. use Twig\Sandbox\SecurityError;
  9. use Twig\Sandbox\SecurityNotAllowedTagError;
  10. use Twig\Sandbox\SecurityNotAllowedFilterError;
  11. use Twig\Sandbox\SecurityNotAllowedFunctionError;
  12. use Twig\Source;
  13. use Twig\Template;
  14. /* backoffice.base.html.twig */
  15. class __TwigTemplate_da72531f7936f3485fe5f0c30a81e5baf977f9ca6cc55cd58bd42e970d8af4a6 extends Template
  16. {
  17.     private $source;
  18.     private $macros = [];
  19.     public function __construct(Environment $env)
  20.     {
  21.         parent::__construct($env);
  22.         $this->source = $this->getSourceContext();
  23.         $this->parent = false;
  24.         $this->blocks = [
  25.             'title' => [$this, 'block_title'],
  26.             'theStylesheet' => [$this, 'block_theStylesheet'],
  27.             'javascripts' => [$this, 'block_javascripts'],
  28.             'body' => [$this, 'block_body'],
  29.             'content' => [$this, 'block_content'],
  30.             'pJavascript' => [$this, 'block_pJavascript'],
  31.             'jspositionimportant' => [$this, 'block_jspositionimportant'],
  32.         ];
  33.     }
  34.     protected function doDisplay(array $context, array $blocks = [])
  35.     {
  36.         $macros = $this->macros;
  37.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  38.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "backoffice.base.html.twig"));
  39.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  40.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "backoffice.base.html.twig"));
  41.         // line 1
  42.         yield "<!DOCTYPE html>
  43. <html>
  44. <head>
  45.     <meta charset=\"utf-8\">
  46.     <link rel=\"shortcut icon\" href=\"";
  47.         // line 5
  48.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\HttpFoundationExtension']->generateAbsoluteUrl("assets/media/logos/mazego5.png"), "html", null, true);
  49.         yield "\">
  50.     <title>";
  51.         // line 6
  52.         yield from $this->unwrap()->yieldBlock('title', $context, $blocks);
  53.         yield "</title>
  54.     <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.\" />
  55.     <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\" />
  56.     <link rel=\"canonical\" href=\"https://preview.keenthemes.com/metronic8\" />
  57.     <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />
  58.     <link rel=\"stylesheet\" href=\"https://unpkg.com/select2@4.1.0-rc.0/dist/css/select2.min.css\">
  59.     <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Poppins:300,400,500,600,700\" />
  60.     <link href=\"";
  61.         // line 14
  62.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("/metronic/assets/plugins/global/plugins.bundle.css"), "html", null, true);
  63.         yield "\" rel=\"stylesheet\" type=\"text/css\" />
  64.     <link href=\"";
  65.         // line 15
  66.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("/metronic/assets/css/style.bundle.css"), "html", null, true);
  67.         yield "\" rel=\"stylesheet\" type=\"text/css\" />
  68.     <link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css\"> 
  69.     <link rel=\"stylesheet\" href=\"https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/bootstrap-icons.css\">
  70.     <link rel=\"stylesheet\" href=\"https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css\">
  71.  
  72.  
  73.  
  74.     <!-- Load jQuery and jQuery UI -->
  75.     <script src=\"https://code.jquery.com/jquery-3.3.1.min.js\"></script>
  76.     <script src=\"https://code.jquery.com/ui/1.12.1/jquery-ui.js\"></script>
  77.     <script async src=\"https://www.googletagmanager.com/gtag/js?id=G-GHTG0WQV2J\"></script>
  78.     
  79.     <script>
  80.         window.dataLayer = window.dataLayer || [];
  81.         function gtag(){dataLayer.push(arguments);}
  82.         gtag('js', new Date());
  83.         gtag('config', 'G-GHTG0WQV2J');
  84.     </script>
  85.     <script src=\"https://cdn.jsdelivr.net/npm/chart.js\"></script>
  86.     ";
  87.         // line 37
  88.         yield from $this->unwrap()->yieldBlock('theStylesheet', $context, $blocks);
  89.         // line 38
  90.         yield "    ";
  91.         yield from $this->unwrap()->yieldBlock('javascripts', $context, $blocks);
  92.         // line 39
  93.         yield "</head>
  94.     <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\">
  95.          
  96.         ";
  97.         // line 42
  98.         yield from $this->unwrap()->yieldBlock('body', $context, $blocks);
  99.         // line 43
  100.         yield "        ";
  101.         yield from $this->unwrap()->yieldBlock('content', $context, $blocks);
  102.         // line 44
  103.         yield "      
  104.         <script src=\"";
  105.         // line 45
  106.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("/metronic/assets/plugins/global/plugins.bundle.js"), "html", null, true);
  107.         yield "\"></script>
  108.         <script src=\"";
  109.         // line 46
  110.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("/metronic/assets/js/scripts.bundle.js"), "html", null, true);
  111.         yield "\"></script>
  112.          
  113.         <script src=\"";
  114.         // line 48
  115.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("/metronic/assets/js/custom/widgets.js"), "html", null, true);
  116.         yield "\"></script>
  117.         <script src=\"";
  118.         // line 49
  119.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("/metronic/assets/js/custom/apps/chat/chat.js"), "html", null, true);
  120.         yield "\"></script>
  121.         <script src=\"";
  122.         // line 50
  123.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("/metronic/assets/js/custom/modals/create-app.js"), "html", null, true);
  124.         yield "\"></script>
  125.         <script src=\"";
  126.         // line 51
  127.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("/metronic/assets/js/custom/modals/upgrade-plan.js"), "html", null, true);
  128.         yield "\"></script>
  129.         <style>
  130.                 form.pull-right.hidden {
  131.             width: 95%;
  132.                }
  133.                th[scope=\"row\"] {
  134.                 padding-left: 10px!important;
  135.                 }
  136.                 th[scope=\"col\"] {
  137.                 padding-left: 9px!important;
  138.                 }
  139.                 .table td:first-child {
  140.                 padding-left: 10px;
  141.                 }
  142.                 td {
  143.                 font-size: 11px!important;
  144.                 }
  145.                 .table td:first-child, .table th:first-child, .table tr:first-child {
  146.                 padding-left: 9px;
  147.                 }
  148.                   .modal {
  149.                      z-index: 1050; 
  150.                 }
  151.  
  152.                 .modal-backdrop {
  153.                 z-index: 1040;  
  154.                 }
  155.                 .btn-to-google {
  156.                     display: flex;
  157.                     align-items: center;
  158.                     padding: 0 0 0 17px;
  159.                     width: 100%;
  160.                     height: 100%;
  161.                     background: #f4f5f9;
  162.                     border-radius: 10px;
  163.                     font-size: 16px;
  164.                     font-weight: 500;
  165.                     color: #1a1b1c;
  166.                     line-height: 19px;
  167.                     cursor: pointer;
  168.                     transition: all .3s;
  169.                     }
  170.                     #kt_app_toolbar {
  171.                     margin: 33px !important;
  172.                     }
  173.                     .dashboard-card.card.shadow-sm {
  174.                     margin: 8px !important;
  175.                     }
  176.                     .row.forced-mb {
  177.                     margin: 0px !important;
  178.                     }
  179.         </style>
  180.            
  181.         ";
  182.         // line 105
  183.         yield from $this->unwrap()->yieldBlock('pJavascript', $context, $blocks);
  184.         // line 106
  185.         yield "    </body>
  186.    
  187.     <script src=\"https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.3/jquery.min.js\"></script>
  188.     <script src=\"https://code.jquery.com/jquery-1.12.4.js\"></script>
  189. \t<script src=\"https://code.jquery.com/ui/1.12.1/jquery-ui.js\"></script>
  190.     ";
  191.         // line 113
  192.         yield from $this->unwrap()->yieldBlock('jspositionimportant', $context, $blocks);
  193.         // line 114
  194.         yield "    <script>
  195.             \$(document).ready(function() {
  196.                 \$('#kt_modal_add_customer').on('shown.bs.modal', function() {
  197.                     console.log('Modal shown, initializing Select2');
  198.                     \$('.select2-autocomplete').select2({
  199.                         ajax: {
  200.                             url: function() {
  201.                                 return \$(this).data('autocomplete-url');
  202.                             },
  203.                             dataType: 'json',
  204.                             delay: 250,
  205.                             data: function(params) {
  206.                                 return {
  207.                                     q: params.term
  208.                                 };
  209.                             },
  210.                             processResults: function(data) {
  211.                                 return {
  212.                                     results: data.results
  213.                                 };
  214.                             },
  215.                             cache: true
  216.                         },
  217.                         minimumInputLength: 2,
  218.                         placeholder: 'Rechercher un produit...'
  219.                     });
  220.                     console.log('Select2 initialized');
  221.                 });
  222.             }); 
  223.     </script>
  224.    <style>
  225.             /* Layout amélioré avec contraintes */
  226.             .dashboard-container {
  227.                 display: grid;
  228.                 grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  229.                 gap: 2rem;
  230.                 margin-bottom: 3rem;
  231.             }
  232.             
  233.             .dashboard-card {
  234.                 height: 100%;
  235.                 display: flex;
  236.                 flex-direction: column;
  237.                 transition: all 0.3s ease;
  238.                 border-radius: 16px;
  239.                 overflow: hidden;
  240.                 box-shadow: 0 6px 18px rgba(0,0,0,0.1);
  241.                 border: none;
  242.                 background: white;
  243.             }
  244.             
  245.             .dashboard-card:hover {
  246.                 transform: translateY(-8px);
  247.                 box-shadow: 0 15px 30px rgba(0,0,0,0.15);
  248.             }
  249.             
  250.             .card-header {
  251.             
  252.                 background: linear-gradient(135deg, #667eea33 0%, #764ba224 100%);
  253.                 color: white;
  254.                 border-bottom: none;
  255.                 padding: 1.5rem 2rem;
  256.             }
  257.             
  258.             .card-header h3 {
  259.                 font-size: 1.5rem;
  260.                 font-weight: 700;
  261.                 margin: 0;
  262.             }
  263.             
  264.             .card-header.bg-success {
  265.                 background: linear-gradient(135deg, #56ab2f 0%, #a8e6cf 100%);
  266.             }
  267.             
  268.             .card-header.bg-info {
  269.                 background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
  270.             }
  271.             
  272.             .card-header.bg-warning {
  273.                 background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
  274.             }
  275.             
  276.             .card-header.bg-danger {
  277.                 background: linear-gradient(135deg, #fa709a 0%, #fee140 100%);
  278.             }
  279.             
  280.             .card-body-flex {
  281.                 flex: 1;
  282.                 display: flex;
  283.                 flex-direction: column;
  284.                 justify-content: space-between;
  285.                 padding: 2rem;
  286.             }
  287.             
  288.             .chart-container {
  289.                 position: relative;
  290.                 height: 400px;
  291.                 width: 100%;
  292.                 margin-top: 1.5rem;
  293.             }
  294.             
  295.             /* Taille des textes augmentée */
  296.             .metric-value {
  297.                 font-size: 2.8rem;
  298.                 font-weight: 800;
  299.                 margin: 1rem 0;
  300.                 color: #2d3748;
  301.                 line-height: 1.2;
  302.             }
  303.             
  304.             .metric-label {
  305.                 font-size: 1.1rem;
  306.                 color: #6c757d;
  307.                 margin-bottom: 0.5rem;
  308.             }
  309.             
  310.             .badge-trend {
  311.                 padding: 0.5rem 1rem;
  312.                 border-radius: 20px;
  313.                 font-weight: 600;
  314.                 font-size: 0.95rem;
  315.             }
  316.             
  317.             .circular-progress {
  318.                 position: relative;
  319.                 width: 100px;
  320.                 height: 100px;
  321.                 margin: 1rem auto;
  322.             }
  323.             
  324.             .circular-progress svg {
  325.                 transform: rotate(-90deg);
  326.             }
  327.             
  328.             .circular-progress .progress-text {
  329.                 position: absolute;
  330.                 top: 50%;
  331.                 left: 50%;
  332.                 transform: translate(-50%, -50%);
  333.                 font-weight: bold;
  334.                 font-size: 1.2rem;
  335.             }
  336.             
  337.             /* Styles modernes pour les tableaux */
  338.             .table {
  339.                 font-size: 1rem;
  340.             }
  341.             
  342.             .table thead th {
  343.                 font-weight: 600;
  344.                 text-transform: uppercase;
  345.                 font-size: 0.85rem;
  346.                 letter-spacing: 0.5px;
  347.             }
  348.             
  349.             .table tbody td {
  350.                 padding: 1rem 0.75rem;
  351.                 vertical-align: middle;
  352.             }
  353.             
  354.             /* Boutons plus grands */
  355.             .btn {
  356.                 padding: 0.6rem 1.25rem;
  357.                 font-size: 1rem;
  358.                 border-radius: 8px;
  359.             }
  360.             
  361.             /* Alertes plus visibles */
  362.             .alert {
  363.                 padding: 1rem 1.5rem;
  364.                 font-size: 1rem;
  365.                 border-radius: 10px;
  366.             }
  367.             
  368.             .alert i {
  369.                 font-size: 1.3rem;
  370.                 margin-right: 0.75rem;
  371.             }
  372.             
  373.             /* Titres plus grands */
  374.             .page-heading {
  375.                 font-size: 2.2rem !important;
  376.             }
  377.             
  378.             .page-heading small {
  379.                 font-size: 1.1rem;
  380.                 margin-top: 0.5rem;
  381.             }
  382.             
  383.             /* Barres de progression */
  384.             .progress {
  385.                 height: 10px !important;
  386.                 border-radius: 5px;
  387.             }
  388.             
  389.             .progress-bar {
  390.                 border-radius: 5px;
  391.             }
  392.             
  393.             @media (max-width: 1399.98px) {
  394.                 .dashboard-container {
  395.                     grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  396.                 }
  397.                 
  398.                 .metric-value {
  399.                     font-size: 2.5rem;
  400.                 }
  401.             }
  402.             
  403.             @media (max-width: 767.98px) {
  404.                 .dashboard-container {
  405.                     grid-template-columns: 1fr;
  406.                     gap: 1.5rem;
  407.                 }
  408.                 
  409.                 .card-header {
  410.                     padding: 1.25rem 1.5rem;
  411.                 }
  412.                 
  413.                 .card-body-flex {
  414.                     padding: 1.5rem;
  415.                 }
  416.                 
  417.                 .metric-value {
  418.                     font-size: 2.2rem;
  419.                 }
  420.                 
  421.                 .page-heading {
  422.                     font-size: 1.8rem !important;
  423.                 }
  424.             }
  425.                     .table-responsive {
  426.                 overflow: visible !important;
  427.             }
  428.             td .dropdown {
  429.                 position: static; /* Permet au dropdown de s'échapper du conteneur */
  430.             }
  431.     </style>
  432. </html>
  433. ";
  434.         
  435.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  436.         
  437.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  438.         return; yield '';
  439.     }
  440.     // line 6
  441.     public function block_title($context, array $blocks = [])
  442.     {
  443.         $macros = $this->macros;
  444.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  445.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "title"));
  446.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  447.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "title"));
  448.         yield "Welcome!";
  449.         
  450.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  451.         
  452.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  453.         return; yield '';
  454.     }
  455.     // line 37
  456.     public function block_theStylesheet($context, array $blocks = [])
  457.     {
  458.         $macros = $this->macros;
  459.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  460.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "theStylesheet"));
  461.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  462.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "theStylesheet"));
  463.         
  464.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  465.         
  466.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  467.         return; yield '';
  468.     }
  469.     // line 38
  470.     public function block_javascripts($context, array $blocks = [])
  471.     {
  472.         $macros = $this->macros;
  473.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  474.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "javascripts"));
  475.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  476.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "javascripts"));
  477.         
  478.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  479.         
  480.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  481.         return; yield '';
  482.     }
  483.     // line 42
  484.     public function block_body($context, array $blocks = [])
  485.     {
  486.         $macros = $this->macros;
  487.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  488.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "body"));
  489.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  490.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "body"));
  491.         
  492.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  493.         
  494.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  495.         return; yield '';
  496.     }
  497.     // line 43
  498.     public function block_content($context, array $blocks = [])
  499.     {
  500.         $macros = $this->macros;
  501.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  502.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "content"));
  503.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  504.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "content"));
  505.         
  506.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  507.         
  508.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  509.         return; yield '';
  510.     }
  511.     // line 105
  512.     public function block_pJavascript($context, array $blocks = [])
  513.     {
  514.         $macros = $this->macros;
  515.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  516.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "pJavascript"));
  517.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  518.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "pJavascript"));
  519.         
  520.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  521.         
  522.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  523.         return; yield '';
  524.     }
  525.     // line 113
  526.     public function block_jspositionimportant($context, array $blocks = [])
  527.     {
  528.         $macros = $this->macros;
  529.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  530.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "jspositionimportant"));
  531.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  532.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "jspositionimportant"));
  533.         
  534.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  535.         
  536.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  537.         return; yield '';
  538.     }
  539.     /**
  540.      * @codeCoverageIgnore
  541.      */
  542.     public function getTemplateName()
  543.     {
  544.         return "backoffice.base.html.twig";
  545.     }
  546.     /**
  547.      * @codeCoverageIgnore
  548.      */
  549.     public function isTraitable()
  550.     {
  551.         return false;
  552.     }
  553.     /**
  554.      * @codeCoverageIgnore
  555.      */
  556.     public function getDebugInfo()
  557.     {
  558.         return array (  581 => 113,  562 => 105,  543 => 43,  524 => 42,  505 => 38,  486 => 37,  466 => 6,  210 => 114,  208 => 113,  199 => 106,  197 => 105,  140 => 51,  136 => 50,  132 => 49,  128 => 48,  123 => 46,  119 => 45,  116 => 44,  113 => 43,  111 => 42,  106 => 39,  103 => 38,  101 => 37,  76 => 15,  72 => 14,  61 => 6,  57 => 5,  51 => 1,);
  559.     }
  560.     public function getSourceContext()
  561.     {
  562.         return new Source("<!DOCTYPE html>
  563. <html>
  564. <head>
  565.     <meta charset=\"utf-8\">
  566.     <link rel=\"shortcut icon\" href=\"{{ absolute_url('assets/media/logos/mazego5.png') }}\">
  567.     <title>{% block title %}Welcome!{% endblock %}</title>
  568.     <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.\" />
  569.     <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\" />
  570.     <link rel=\"canonical\" href=\"https://preview.keenthemes.com/metronic8\" />
  571.     <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />
  572.     <link rel=\"stylesheet\" href=\"https://unpkg.com/select2@4.1.0-rc.0/dist/css/select2.min.css\">
  573.     <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Poppins:300,400,500,600,700\" />
  574.     <link href=\"{{ asset('/metronic/assets/plugins/global/plugins.bundle.css') }}\" rel=\"stylesheet\" type=\"text/css\" />
  575.     <link href=\"{{ asset('/metronic/assets/css/style.bundle.css') }}\" rel=\"stylesheet\" type=\"text/css\" />
  576.     <link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css\"> 
  577.     <link rel=\"stylesheet\" href=\"https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/bootstrap-icons.css\">
  578.     <link rel=\"stylesheet\" href=\"https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css\">
  579.  
  580.  
  581.  
  582.     <!-- Load jQuery and jQuery UI -->
  583.     <script src=\"https://code.jquery.com/jquery-3.3.1.min.js\"></script>
  584.     <script src=\"https://code.jquery.com/ui/1.12.1/jquery-ui.js\"></script>
  585.     <script async src=\"https://www.googletagmanager.com/gtag/js?id=G-GHTG0WQV2J\"></script>
  586.     
  587.     <script>
  588.         window.dataLayer = window.dataLayer || [];
  589.         function gtag(){dataLayer.push(arguments);}
  590.         gtag('js', new Date());
  591.         gtag('config', 'G-GHTG0WQV2J');
  592.     </script>
  593.     <script src=\"https://cdn.jsdelivr.net/npm/chart.js\"></script>
  594.     {% block theStylesheet %}{% endblock %}
  595.     {% block javascripts %}{% endblock %}
  596. </head>
  597.     <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\">
  598.          
  599.         {% block body %}{% endblock %}
  600.         {% block content %}{% endblock %}
  601.       
  602.         <script src=\"{{ asset('/metronic/assets/plugins/global/plugins.bundle.js') }}\"></script>
  603.         <script src=\"{{ asset('/metronic/assets/js/scripts.bundle.js') }}\"></script>
  604.          
  605.         <script src=\"{{ asset('/metronic/assets/js/custom/widgets.js') }}\"></script>
  606.         <script src=\"{{ asset('/metronic/assets/js/custom/apps/chat/chat.js') }}\"></script>
  607.         <script src=\"{{ asset('/metronic/assets/js/custom/modals/create-app.js') }}\"></script>
  608.         <script src=\"{{ asset('/metronic/assets/js/custom/modals/upgrade-plan.js') }}\"></script>
  609.         <style>
  610.                 form.pull-right.hidden {
  611.             width: 95%;
  612.                }
  613.                th[scope=\"row\"] {
  614.                 padding-left: 10px!important;
  615.                 }
  616.                 th[scope=\"col\"] {
  617.                 padding-left: 9px!important;
  618.                 }
  619.                 .table td:first-child {
  620.                 padding-left: 10px;
  621.                 }
  622.                 td {
  623.                 font-size: 11px!important;
  624.                 }
  625.                 .table td:first-child, .table th:first-child, .table tr:first-child {
  626.                 padding-left: 9px;
  627.                 }
  628.                   .modal {
  629.                      z-index: 1050; 
  630.                 }
  631.  
  632.                 .modal-backdrop {
  633.                 z-index: 1040;  
  634.                 }
  635.                 .btn-to-google {
  636.                     display: flex;
  637.                     align-items: center;
  638.                     padding: 0 0 0 17px;
  639.                     width: 100%;
  640.                     height: 100%;
  641.                     background: #f4f5f9;
  642.                     border-radius: 10px;
  643.                     font-size: 16px;
  644.                     font-weight: 500;
  645.                     color: #1a1b1c;
  646.                     line-height: 19px;
  647.                     cursor: pointer;
  648.                     transition: all .3s;
  649.                     }
  650.                     #kt_app_toolbar {
  651.                     margin: 33px !important;
  652.                     }
  653.                     .dashboard-card.card.shadow-sm {
  654.                     margin: 8px !important;
  655.                     }
  656.                     .row.forced-mb {
  657.                     margin: 0px !important;
  658.                     }
  659.         </style>
  660.            
  661.         {% block pJavascript %}{% endblock %}
  662.     </body>
  663.    
  664.     <script src=\"https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.3/jquery.min.js\"></script>
  665.     <script src=\"https://code.jquery.com/jquery-1.12.4.js\"></script>
  666. \t<script src=\"https://code.jquery.com/ui/1.12.1/jquery-ui.js\"></script>
  667.     {% block jspositionimportant %}{% endblock %}
  668.     <script>
  669.             \$(document).ready(function() {
  670.                 \$('#kt_modal_add_customer').on('shown.bs.modal', function() {
  671.                     console.log('Modal shown, initializing Select2');
  672.                     \$('.select2-autocomplete').select2({
  673.                         ajax: {
  674.                             url: function() {
  675.                                 return \$(this).data('autocomplete-url');
  676.                             },
  677.                             dataType: 'json',
  678.                             delay: 250,
  679.                             data: function(params) {
  680.                                 return {
  681.                                     q: params.term
  682.                                 };
  683.                             },
  684.                             processResults: function(data) {
  685.                                 return {
  686.                                     results: data.results
  687.                                 };
  688.                             },
  689.                             cache: true
  690.                         },
  691.                         minimumInputLength: 2,
  692.                         placeholder: 'Rechercher un produit...'
  693.                     });
  694.                     console.log('Select2 initialized');
  695.                 });
  696.             }); 
  697.     </script>
  698.    <style>
  699.             /* Layout amélioré avec contraintes */
  700.             .dashboard-container {
  701.                 display: grid;
  702.                 grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  703.                 gap: 2rem;
  704.                 margin-bottom: 3rem;
  705.             }
  706.             
  707.             .dashboard-card {
  708.                 height: 100%;
  709.                 display: flex;
  710.                 flex-direction: column;
  711.                 transition: all 0.3s ease;
  712.                 border-radius: 16px;
  713.                 overflow: hidden;
  714.                 box-shadow: 0 6px 18px rgba(0,0,0,0.1);
  715.                 border: none;
  716.                 background: white;
  717.             }
  718.             
  719.             .dashboard-card:hover {
  720.                 transform: translateY(-8px);
  721.                 box-shadow: 0 15px 30px rgba(0,0,0,0.15);
  722.             }
  723.             
  724.             .card-header {
  725.             
  726.                 background: linear-gradient(135deg, #667eea33 0%, #764ba224 100%);
  727.                 color: white;
  728.                 border-bottom: none;
  729.                 padding: 1.5rem 2rem;
  730.             }
  731.             
  732.             .card-header h3 {
  733.                 font-size: 1.5rem;
  734.                 font-weight: 700;
  735.                 margin: 0;
  736.             }
  737.             
  738.             .card-header.bg-success {
  739.                 background: linear-gradient(135deg, #56ab2f 0%, #a8e6cf 100%);
  740.             }
  741.             
  742.             .card-header.bg-info {
  743.                 background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
  744.             }
  745.             
  746.             .card-header.bg-warning {
  747.                 background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
  748.             }
  749.             
  750.             .card-header.bg-danger {
  751.                 background: linear-gradient(135deg, #fa709a 0%, #fee140 100%);
  752.             }
  753.             
  754.             .card-body-flex {
  755.                 flex: 1;
  756.                 display: flex;
  757.                 flex-direction: column;
  758.                 justify-content: space-between;
  759.                 padding: 2rem;
  760.             }
  761.             
  762.             .chart-container {
  763.                 position: relative;
  764.                 height: 400px;
  765.                 width: 100%;
  766.                 margin-top: 1.5rem;
  767.             }
  768.             
  769.             /* Taille des textes augmentée */
  770.             .metric-value {
  771.                 font-size: 2.8rem;
  772.                 font-weight: 800;
  773.                 margin: 1rem 0;
  774.                 color: #2d3748;
  775.                 line-height: 1.2;
  776.             }
  777.             
  778.             .metric-label {
  779.                 font-size: 1.1rem;
  780.                 color: #6c757d;
  781.                 margin-bottom: 0.5rem;
  782.             }
  783.             
  784.             .badge-trend {
  785.                 padding: 0.5rem 1rem;
  786.                 border-radius: 20px;
  787.                 font-weight: 600;
  788.                 font-size: 0.95rem;
  789.             }
  790.             
  791.             .circular-progress {
  792.                 position: relative;
  793.                 width: 100px;
  794.                 height: 100px;
  795.                 margin: 1rem auto;
  796.             }
  797.             
  798.             .circular-progress svg {
  799.                 transform: rotate(-90deg);
  800.             }
  801.             
  802.             .circular-progress .progress-text {
  803.                 position: absolute;
  804.                 top: 50%;
  805.                 left: 50%;
  806.                 transform: translate(-50%, -50%);
  807.                 font-weight: bold;
  808.                 font-size: 1.2rem;
  809.             }
  810.             
  811.             /* Styles modernes pour les tableaux */
  812.             .table {
  813.                 font-size: 1rem;
  814.             }
  815.             
  816.             .table thead th {
  817.                 font-weight: 600;
  818.                 text-transform: uppercase;
  819.                 font-size: 0.85rem;
  820.                 letter-spacing: 0.5px;
  821.             }
  822.             
  823.             .table tbody td {
  824.                 padding: 1rem 0.75rem;
  825.                 vertical-align: middle;
  826.             }
  827.             
  828.             /* Boutons plus grands */
  829.             .btn {
  830.                 padding: 0.6rem 1.25rem;
  831.                 font-size: 1rem;
  832.                 border-radius: 8px;
  833.             }
  834.             
  835.             /* Alertes plus visibles */
  836.             .alert {
  837.                 padding: 1rem 1.5rem;
  838.                 font-size: 1rem;
  839.                 border-radius: 10px;
  840.             }
  841.             
  842.             .alert i {
  843.                 font-size: 1.3rem;
  844.                 margin-right: 0.75rem;
  845.             }
  846.             
  847.             /* Titres plus grands */
  848.             .page-heading {
  849.                 font-size: 2.2rem !important;
  850.             }
  851.             
  852.             .page-heading small {
  853.                 font-size: 1.1rem;
  854.                 margin-top: 0.5rem;
  855.             }
  856.             
  857.             /* Barres de progression */
  858.             .progress {
  859.                 height: 10px !important;
  860.                 border-radius: 5px;
  861.             }
  862.             
  863.             .progress-bar {
  864.                 border-radius: 5px;
  865.             }
  866.             
  867.             @media (max-width: 1399.98px) {
  868.                 .dashboard-container {
  869.                     grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  870.                 }
  871.                 
  872.                 .metric-value {
  873.                     font-size: 2.5rem;
  874.                 }
  875.             }
  876.             
  877.             @media (max-width: 767.98px) {
  878.                 .dashboard-container {
  879.                     grid-template-columns: 1fr;
  880.                     gap: 1.5rem;
  881.                 }
  882.                 
  883.                 .card-header {
  884.                     padding: 1.25rem 1.5rem;
  885.                 }
  886.                 
  887.                 .card-body-flex {
  888.                     padding: 1.5rem;
  889.                 }
  890.                 
  891.                 .metric-value {
  892.                     font-size: 2.2rem;
  893.                 }
  894.                 
  895.                 .page-heading {
  896.                     font-size: 1.8rem !important;
  897.                 }
  898.             }
  899.                     .table-responsive {
  900.                 overflow: visible !important;
  901.             }
  902.             td .dropdown {
  903.                 position: static; /* Permet au dropdown de s'échapper du conteneur */
  904.             }
  905.     </style>
  906. </html>
  907. ", "backoffice.base.html.twig", "/htdocs/templates/backoffice.base.html.twig");
  908.     }
  909. }