templates/base.html.twig line 1

Open in your IDE?
  1. {% set currentRoute = app.request.attributes.get('_route') %}
  2. <!DOCTYPE html>
  3. <html lang="fr" class="h-100">
  4.     <head>
  5.         <meta charset="UTF-8">
  6.         <title>
  7.             {% block title %}Bienvenue !
  8.             {% endblock %}
  9.         </title>
  10.         {# <link rel="icon" type="image/x-icon" href="{{ asset("favicon.ico") }}"/>
  11.         <link rel="icon" type="image/png" sizes="16x16" href="{{ asset("favicon_16x16.png") }}">
  12.         <link rel="icon" type="image/png" sizes="32x32" href="{{ asset("favicon_32x32.png") }}">
  13.         <link rel="apple-touch-icon" sizes="180x180" href="{{ asset("apple-touch-icon.png") }}">
  14.         <link rel="icon" type="image/png" sizes="192x192" href="{{ asset("android-chrome_192x192.png") }}">
  15.         <link rel="icon" type="image/png" sizes="512x512" href="{{ asset("android-chrome_512x512.png") }}"> #}
  16.         <script src="https://kit.fontawesome.com/d48bf2d112.js" crossorigin="anonymous"></script>
  17.         <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-iYQeCzEYFbKjA/T2uDLTpkwGzCiq6soy8tYaI1GyVh/UjpbCx/TYkiZhlZB6+fzT" crossorigin="anonymous">
  18.         <link rel="stylesheet" href="{{asset('css/style.css')}}"/>
  19.         <link rel="preconnect" href="https://fonts.googleapis.com">
  20.         <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  21.         <link href="https://fonts.googleapis.com/css2?family=Work+Sans:wght@600&display=swap" rel="stylesheet">
  22.         <link href="https://fonts.googleapis.com/css2?family=Work+Sans:ital,wght@0,500;0,600;0,700;1,600&display=swap" rel="stylesheet">
  23.         <link href="https://cdn.jsdelivr.net/npm/tom-select@2.2.2/dist/css/tom-select.css" rel="stylesheet">
  24.         <link rel="stylesheet" href="{{ asset('css/slick.css') }}">
  25.         <link rel="stylesheet" href="{{ asset('css/accessible-slick-theme.min.css') }}">
  26.         <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/tom-select/2.2.2/css/tom-select.bootstrap5.min.css" integrity="sha512-mNN7o87hQqtNCCGWxFVdlVdaKF6d4S1wVMi3+ftJYnW572YIo0KPjK1Cns5SPlyCtKGp1Nu+z26MJUNXmpbjKA==" crossorigin="anonymous" referrerpolicy="no-referrer"/>
  27.         <meta name="viewport" content="width=device-width, initial-scale=1">
  28.         {% block stylesheets %}
  29.             {{ encore_entry_link_tags('app') }}
  30.         {% endblock %}
  31.         <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js" integrity="sha512-894YE6QWD5I59HgZOGReFYm4dnWc1Qt5NtvYSaNcOP+u1T9qYdvdihz0PPSiiqn/+/3e7Jo4EaG7TubfWGUrMQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
  32.         <link rel="stylesheet" href="{{ asset('css/accessconfig.min.css') }}" type="text/css" media="screen"/>
  33.         <script src="{{ asset('js/accessconfig.min.js') }}"></script>
  34.         <script src="https://cdn.addevent.com/libs/atc/1.6.1/atc.min.js" async defer></script>
  35.         <style>
  36.             {% if client is defined %}
  37.                 {% if client.secondaryColor is not null %}
  38.                     .text-{{client.slug}}{
  39.                         color: {{client.secondaryColor}}
  40.                         !important;
  41.                     }
  42.                 {% else %}
  43.                     .text-{{client.slug}}{
  44.                         color: {{client.mainColor}}
  45.                         !important;
  46.                     }
  47.                 {% endif %}
  48.                 .card-input-element-audition + .card {
  49.                     color: #000000;
  50.                     background-color: #ffffff;
  51.                     -webkit-box-shadow: none;
  52.                     box-shadow: none;
  53.                 }
  54.                 .card-input-element-audition+.card:hover {
  55.                     cursor: pointer;
  56.                     background-color: {{client.mainColor}};
  57.                     color: #ffffff;
  58.                     -webkit-transition: border .3s;
  59.                     -o-transition: border .3s;
  60.                     transition: border .3s;
  61.                 }
  62.                 .card-input-element-audition:checked+.card {
  63.                     background-color: {{client.mainColor}};
  64.                     color: #ffffff;
  65.                     -webkit-transition: border .3s;
  66.                     -o-transition: border .3s;
  67.                     transition: border .3s;
  68.                 }
  69.                     .bg_client {
  70.                         background-color: {{client.mainColor}}!important;
  71.                     }
  72.                     .bg_secondary_client {
  73.                         background-color: {{client.secondaryColor}}!important;
  74.                     }
  75.                     .user-section-active {
  76.                         background-color: white;
  77.                         padding: 0px 5px 0px 5px;
  78.                         border: 1px solid {{client.mainColor}}!important;
  79.                         padding: 5px;
  80.                         color: #404040;
  81.                     }
  82.                     .avatar-div>.fa-duotone, .my-account-logo-profile, .my-account-logo, .my-account-logo-background>i, .my-account-logo-background-homepage>i {
  83.                         --fa-primary-color: {{client.mainColor}}!important;
  84.                         --fa-secondary-color: {{client.secondaryColor}}!important;
  85.                     }
  86.                     .slick-track {
  87.                         display: flex !important;
  88.                     }
  89.                     #product-navbar a:hover, #avisea-homepage-left-column a:hover, .text-notice, #avisea-homepage-right-column a:hover{
  90.                         color: {{client.mainColor}};
  91.                     }
  92.                     .active-custom {
  93.                         border-bottom: 4px solid {{client.mainColor}} !important;
  94.                         padding-bottom: 18px !important;
  95.                         font-family: 'Work Sans Bold';
  96.                         font-weight: 600;
  97.                         font-size: 18px;
  98.                     }
  99.                     .btn-notice {
  100.                         border-width: 2px;
  101.                         border-style: solid;
  102.                         border-color: {{client.mainColor}};
  103.                         border-radius: 5px;
  104.                         background-color: {{client.mainColor}};
  105.                         color: #ffffff;
  106.                         padding-top: 10px;
  107.                         padding-bottom: 10px;
  108.                         padding-left: 10px;
  109.                         padding-right: 10px;
  110.                         transition: 0.3s;
  111.                     }
  112.                     .btn-notice-outline {
  113.                         border-width: 2px;
  114.                         border-style: solid;
  115.                         border-color: {{client.mainColor}};
  116.                         border-radius: 5px;
  117.                         background-color: #ffffff;
  118.                         color: {{client.mainColor}};
  119.                         padding-top: 10px;
  120.                         padding-bottom: 10px;
  121.                         padding-left: 10px;
  122.                         padding-right: 10px;
  123.                         transition: 0.3s;
  124.                     }
  125.                     .btn-filter-notice {
  126.                         border-width: 2px;
  127.                         border-style: solid;
  128.                         border-color: {{client.mainColor}};
  129.                         border-radius: 5px;
  130.                         background-color: {{client.mainColor}};
  131.                         color: #ffffff;
  132.                         padding-top: 3px;
  133.                         padding-bottom: 3px;
  134.                         padding-left: 3px;
  135.                         padding-right: 3px;
  136.                         transition: 0.3s;
  137.                     }
  138.                     .btn-filter-notice-outline {
  139.                         border-width: 2px;
  140.                         border-style: solid;
  141.                         border-color: {{client.mainColor}};
  142.                         border-radius: 5px;
  143.                         background-color: #ffffff;
  144.                         color: {{client.mainColor}};
  145.                         padding-top: 3px;
  146.                         padding-bottom: 3px;
  147.                         padding-left: 3px;
  148.                         padding-right: 3px;
  149.                         transition: 0.3s;
  150.                     }
  151.                     .btn-notice:hover {
  152.                         border: 2px solid {{client.secondaryColor}}!important;
  153.                         border-radius: 5px;
  154.                         background-color: {{client.secondaryColor}}!important;
  155.                         color: #FFFFFF!important;
  156.                         padding-top: 10px;
  157.                         padding-bottom: 10px;
  158.                         padding-left: 10px;
  159.                         padding-right: 10px;
  160.                         transition: 0.3s;
  161.                     }
  162.                     .btn-notice-outline:hover {
  163.                         border-width: 2px;
  164.                         border-style: solid;
  165.                         border-color: {{client.secondaryColor}};
  166.                         border-radius: 5px;
  167.                         background-color: {{client.secondaryColor}}!important;
  168.                         color: #fff;
  169.                         padding-top: 10px;
  170.                         padding-bottom: 10px;
  171.                         padding-left: 10px;
  172.                         padding-right: 10px;
  173.                         transition: 0.3s;
  174.                     }
  175.                     .btn-filter-notice:hover {
  176.                         border-width: 2px;
  177.                         border-style: solid;
  178.                         border-color: {{client.mainColor}};
  179.                         border-radius: 5px;
  180.                         color: {{client.mainColor}}!important;
  181.                         background-color: #fff;
  182.                         padding-top: 3px;
  183.                         padding-bottom: 3px;
  184.                         padding-left: 3px;
  185.                         padding-right: 3px;
  186.                         transition: 0.3s;
  187.                     }
  188.                     #scroll-top-btn {
  189.                         display: none;
  190.                         position: fixed;
  191.                         right: 30px;
  192.                         bottom: 0;
  193.                         z-index: 99;
  194.                         font-size: 18px;
  195.                         border: none;
  196.                         background-color: {{client.mainColor}}!important;
  197.                         color: white;
  198.                         cursor: pointer;
  199.                         padding-top: 10px;
  200.                         padding-bottom: 10px;
  201.                         padding-left: 15px;
  202.                         padding-right: 15px;
  203.                         border-top-left-radius: 4px;
  204.                         border-top-right-radius: 4px;
  205.                         font-size: 28px;
  206.                         transition: 0.3s;
  207.                     }
  208.                     #scroll-top-btn:hover {
  209.                         display: none;
  210.                         position: fixed;
  211.                         right: 30px;
  212.                         bottom: 0;
  213.                         z-index: 99;
  214.                         font-size: 18px;
  215.                         border: none;
  216.                         background-color: {{client.secondaryColor}}!important;
  217.                         color: white;
  218.                         cursor: pointer;
  219.                         padding-top: 10px;
  220.                         padding-bottom: 10px;
  221.                         padding-left: 15px;
  222.                         padding-right: 15px;
  223.                         border-top-left-radius: 4px;
  224.                         border-top-right-radius: 4px;
  225.                         font-size: 28px;
  226.                         transition: 0.3s;
  227.                     }
  228.                     #a42-ac-button:hover{ color: {{client.mainColor}}; }
  229.                     #login-link a:hover, #login-register-link a:hover, #register-form a:hover, 
  230.                     #register-bottom-infos a:hover, #login-form a:hover, .breadcrumb-item a:hover{
  231.                     color: {{client.mainColor}}!important;
  232.                     }
  233.                     .arrow-link {
  234.                         position: absolute;
  235.                         right: 0;
  236.                         background-color: {{client.mainColor}};
  237.                         color: #ffffff;
  238.                         border-top-left-radius: 5px;
  239.                         border-bottom-left-radius: 5px;
  240.                         border-top-right-radius: 0px!important;
  241.                         border-bottom-right-radius: 0px!important;
  242.                         padding-top: 8px;
  243.                         padding-bottom: 8px;
  244.                         padding-left: 15px;
  245.                         padding-right: 15px;
  246.                         transition: 0.3s;
  247.                     }
  248.                     .arrow-link:hover {
  249.                         position: absolute;
  250.                         right: 0;
  251.                         background-color: {{client.mainColor}};
  252.                         color: #ffffff;
  253.                         border-top-left-radius: 5px;
  254.                         border-bottom-left-radius: 5px;
  255.                         padding-top: 8px;
  256.                         padding-bottom: 8px;
  257.                         padding-left: 15px;
  258.                         padding-right: 15px;
  259.                         transition: 0.3s;
  260.                     }
  261.                     .modal-center-btn {
  262.                         background-color: {{client.mainColor}};
  263.                         color: #ffffff;
  264.                         padding: 18px;
  265.                         border-radius: 5px;
  266.                         transition: 0.3s;
  267.                     }
  268.                     .modal-center-btn:hover {
  269.                         background-color: {{client.secondaryColor}};
  270.                         color: #ffffff;
  271.                         padding: 18px;
  272.                         border-top-left-radius: 5px;
  273.                         border-top-right-radius: 5px;
  274.                         transition: 0.3s;
  275.                     }
  276.                     .timeslot-modal {
  277.                         border-top: 10px solid {{client.mainColor}};
  278.                     }
  279.             {% endif %}
  280.         </style>
  281.     </head>
  282.     <body id="body">
  283. <a class="evitement" href="#main">Aller au contenu</a>
  284.     {% if is_mobile() %}
  285.         <style>
  286.             .button_container {
  287.                 position: fixed;
  288.                 height: 40px;
  289.                 width: 35px;
  290.                 cursor: pointer;
  291.                 z-index: 100;
  292.                 -webkit-transition: opacity 0.25s ease;
  293.                 transition: opacity 0.25s ease;
  294.             }
  295.             .button_container:hover {
  296.                 opacity: .7;
  297.             }
  298.             .button_container.active .top {
  299.                 -webkit-transform: translateY(11px) translateX(0) rotate(45deg);
  300.                 transform: translateY(11px) translateX(0) rotate(45deg);
  301.                 background: #000;
  302.             }
  303.             .button_container.active .middle {
  304.                 opacity: 0;
  305.                 background: #000;
  306.             }
  307.             .button_container.active .bottom {
  308.                 -webkit-transform: translateY(-11px) translateX(0) rotate(-45deg);
  309.                 transform: translateY(-11px) translateX(0) rotate(-45deg);
  310.                 background: #000;
  311.             }
  312.             .button_container.active .bottom_bottom {
  313.                 font-size: 0.5rem !important;
  314.             }
  315.             .button_container span {
  316.                 background: #000000 !important;
  317.                 border: none;
  318.                 height: 3px;
  319.                 width: 100%;
  320.                 position: absolute;
  321.                 top: 0;
  322.                 left: 0;
  323.                 -webkit-transition: all 0.35s ease;
  324.                 transition: all 0.35s ease;
  325.                 cursor: pointer;
  326.             }
  327.             .button_container span:nth-of-type(2) {
  328.                 top: 11px;
  329.             }
  330.             .button_container span:nth-of-type(3) {
  331.                 top: 22px;
  332.             }
  333.             .button_container span:nth-of-type(4) {
  334.                 top: 32px;
  335.                 background: transparent !important;
  336.             }
  337.             .overlay {
  338.                 position: fixed;
  339.                 background: #FFFFFF;
  340.                 top: 70px;
  341.                 left: 20%;
  342.                 width: 100%;
  343.                 height: 0;
  344.                 opacity: 0;
  345.                 visibility: hidden;
  346.                 -webkit-transition: opacity 0.35s, visibility 0.35s, height 0.35s;
  347.                 transition: opacity 0.35s, visibility 0.35s, height 0.35s;
  348.                 overflow: hidden;
  349.                 z-index: 999999 !important;
  350.                 ;
  351.             }
  352.             .overlay.open {
  353.                 opacity: 1;
  354.                 visibility: visible;
  355.                 height: 100%;
  356.             }
  357.             .overlay.open li {
  358.                 -webkit-animation: fadeInRight 0.5s ease forwards;
  359.                 animation: fadeInRight 0.5s ease forwards;
  360.                 -webkit-animation-delay: 0.35s;
  361.                 animation-delay: 0.35s;
  362.                 opacity:1;
  363.             }
  364.             .overlay.open li:nth-of-type(2) {
  365.                 -webkit-animation-delay: 0.4s;
  366.                 animation-delay: 0.4s;
  367.             }
  368.             .overlay.open li:nth-of-type(3) {
  369.                 -webkit-animation-delay: 0.45s;
  370.                 animation-delay: 0.45s;
  371.             }
  372.             .overlay.open li:nth-of-type(4) {
  373.                 -webkit-animation-delay: 0.50s;
  374.                 animation-delay: 0.50s;
  375.             }
  376.             .overlay nav {
  377.                 position: relative;
  378.                 height: 65%;
  379.                 top: 32.5%;
  380.                 -webkit-transform: translateY(-50%);
  381.                 transform: translateY(-50%);
  382.                 font-size: 20px;
  383.                 text-align: left;
  384.             }
  385.             .overlay ul {
  386.                 list-style: none;
  387.                 padding: 0;
  388.                 margin: 0 auto;
  389.                 display: inline-block;
  390.                 position: relative;
  391.                 height: 100%;
  392.             }
  393.             .overlay ul li {
  394.                 display: block;
  395.                 position: relative;
  396.                 opacity: 0;
  397.             }
  398.             .overlay ul li a {
  399.                 display: block;
  400.                 position: relative;
  401.                 text-decoration: none;
  402.                 overflow: hidden;
  403.                 padding: 10px 10px 10px 20px;
  404.                 font-size: 18px;
  405.                 color: var(--grey-color);
  406.                 border-top: 1px solid #dee2e6;
  407.             }
  408.             .overlay ul li a.active {
  409.                 border-left: 3px solid var(--main-color);
  410.                 color: var(--black-color);
  411.                 font-weight: bold;
  412.                 font-size: 18px;
  413.             }
  414.             .overlay ul li a.btn-main {
  415.                 background-color: var(--main-color);
  416.                 border: 1px solid var(--main-color);
  417.                 color: #ffffff;
  418.                 padding: 8px 18px;
  419.                 border-radius: 3px;
  420.                 text-decoration: none;
  421.                 letter-spacing: .05rem;
  422.             }
  423.             .overlay ul li a.btn-outline-main {
  424.                 background-color: #FFFFFF;
  425.                 border: 1px solid var(--main-color);
  426.                 color: var(--main-color);
  427.                 padding: 8px 18px;
  428.                 border-radius: 3px;
  429.                 text-decoration: none;
  430.                 letter-spacing: .05rem;
  431.             }
  432.             .overlay ul li a:focus:after,
  433.             .overlay ul li a:active:after {
  434.                 width: 100%;
  435.             }
  436.             .fs-7 {
  437.                 font-size: 0.7rem!important;
  438.             }
  439.         </style>
  440.         <script>
  441.             $(document).ready(function () {
  442.                 $('#toggle').click(function () {
  443.                     $(this).toggleClass('active');
  444.                     $('#overlay').toggleClass('open');
  445.                     
  446.                     if ($("#toggle").hasClass("active")) {
  447.                         $("#toggle").attr('aria-expanded', 'true');
  448.                         $("#myButton").html("FERMER");
  449.                     } else {
  450.                         $("#toggle").attr('aria-expanded', 'false');
  451.                         $("#myButton").html("MENU");
  452.                     }
  453.                 });
  454.                 $('#menu-link li').click(function () {
  455.                     $(this).toggleClass('active');
  456.                     $('#overlay').toggleClass('open');
  457.                 });
  458.             });
  459.         </script>
  460.         {% if currentRoute == 'app_login' or currentRoute == 'app_login_unsecure' or currentRoute == 'app_register' %}
  461.         {% else %}
  462.         <div class="fixed-top">
  463.             <div class="d-flex bg-white shadow-sm" style="height: 70px;">
  464.                 <div class="p-2 flex-grow-1">
  465.                     {{ render(controller('App\\Controller\\PageController::renderClientFromUrl')) }}
  466.                 </div>
  467.                 <div class="p-2 text-end">
  468.                     {% if is_granted('ROLE_USER') %}
  469.                     <nav role="navigation" class="navbar navbar-expand-lg">
  470.                         <div class="container">
  471.                             <div class="row justify-content-between bg-white">
  472.                                 <div class="col-4 d-flex align-items-bottom justify-content-end">
  473.                                     <button type="button" class="button_container border-0 bg-transparent" id="toggle" aria-expanded="false" aria-controls="overlay">
  474.                                         <span class="top"></span>
  475.                                         <span class="middle"></span>
  476.                                         <span class="bottom"></span>
  477.                                         <span class="bottom_bottom fw-bold fs-7" id="myButton">MENU</span>
  478.                                     </button>
  479.                                 </div>
  480.                             </div>
  481.                         </div>
  482.                     </nav>
  483.                     <div class="overlay" id="overlay">
  484.                         <nav role="navigation" class="overlay-menu">
  485.                             <ul class="navbar-nav ml-auto nav nav-pills w-100" id="menu-link">
  486.                                 <li class="nav-link ps-3">
  487.                                     <div class="ms-auto d-inline" id="accessconfig" data-accessconfig-buttonname="Paramètres d’accessibilité" data-accessconfig-params='{ "Prefix" : "a42-ac", "ContainerClass" : "accessibility-modal","ModalCloseButton" : "close-accessibility-modal-btn","ModalTitle" : "","FormFieldset" : "","FormFieldsetLegend" : "","FormRadio" : ""}' ></div>
  488.                                 </li>
  489.                                 <li>
  490.                                     <a class="nav-link" aria-current="page" href="{{path('app_main', {'clientSlug': 'public'})}}">Accueil</a>
  491.                                 </li>
  492.                                 {{ render(controller('App\\Controller\\PageController::renderProductForNavbar')) }}
  493.                                 <li>
  494.                                     <a class="nav-link" href="{{path('app_my_profile')}}">Mon profil</a>
  495.                                 </li>
  496.                                 {% if client is defined %}
  497.                                     <li>
  498.                                         <a class="nav-link" href="{{path('app_logout', {'clientSlug': client.slug})}}">
  499.                                             <span class="fa-solid fa-power-off text-caution me-2"></span>Se déconnecter</a>
  500.                                     </li>
  501.                                 {% else %}
  502.                                     <li>
  503.                                         <a class="nav-link" href="{{path('app_logout', {'clientSlug': app.user.client.slug})}}">
  504.                                             <span class="fa-solid fa-power-off text-caution me-2"></span>Se déconnecter</a>
  505.                                     </li>
  506.                                 {% endif %}
  507.                             </ul>
  508.                         </nav>
  509.                     </div>
  510.                     {% else %}
  511.                     <div class="pt-3">
  512.                         {% if client is defined %}
  513.                             <a href="{{path('app_register', {'clientSlug': client.slug, 'clientSalt': client.salt})}}" class="btn-notice-outline text-decoration-none ns-text work-sans-semi-bold">S'inscrire</a>
  514.                             {% if client.isSecure is same as true %}
  515.                                 <a href="{{path('app_login', {'clientSlug': client.slug, 'clientSalt': client.salt})}}" class="btn-notice text-decoration-none ms-3 work-sans-medium ns-text">Se connecter</a>
  516.                             {% else %}
  517.                                 <a href="{{path('app_login_unsecure', {'clientSlug': client.slug, 'clientSalt': client.salt})}}" class="btn-notice text-decoration-none ms-3 work-sans-medium ns-text">Se connecter</a>
  518.                             {% endif %}
  519.                         {% else %}
  520.                             {{ render(controller('App\\Controller\\PageController::renderLoginRegisterBtn')) }}
  521.                         {% endif %}
  522.                     </div>
  523.                     {% endif %}
  524.                 </div>
  525.             </div>
  526.         </div>
  527.         {% endif %}
  528.     {% else %}
  529.         {% if currentRoute == 'app_login' or currentRoute == 'app_login_unsecure' or currentRoute == 'app_register' %}
  530.         {% else %}
  531.                 {% if is_granted("ROLE_MANAGER") %}
  532.                 <nav role="navigation" class="navbar navbar-expand-lg shadow mb-5 text-dark">
  533.                     <div class="container">
  534.                             <ul class="navbar-nav">
  535.                                 <li class="nav-item me-2">
  536.                                     <a class="nav-link active-custom" aria-current="page" href="{{path('app_main', {'clientSlug': 'public'})}}">Accueil</a>
  537.                                 </li>
  538.                                 {% if is_granted('ROLE_ADMIN') %}
  539.                                     <li class="nav-item dropdown me-2">
  540.                                         <!--<a class="nav-link dropdown-toggle text-dark fw-bold" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
  541.                                             <span lang="en">Flash Learning</span>
  542.                                         </a>-->
  543.                                         <ul class="dropdown-menu">
  544.                                             <li>
  545.                                                 <a class="dropdown-item" href="{{path('app_flash_timeslot_index')}}">Créneaux</a>
  546.                                             </li>
  547.                                         </ul>
  548.                                     </li>
  549.                                 {% endif %}
  550.                                 <li class="nav-item dropdown me-2">
  551.                                     <a class="nav-link dropdown-toggle text-dark fw-bold" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
  552.                                         Gestion Clients
  553.                                     </a>
  554.                                     <ul class="dropdown-menu">
  555.                                         {% if is_granted('ROLE_ADMIN') %}
  556.                                             <li class="nav-item">
  557.                                                 <a class="dropdown-item" href="{{path('app_client_product_index')}}">Produits clients</a>
  558.                                             </li>
  559.                                         {% endif %}
  560.                                         <li class="nav-item">
  561.                                             <a class="dropdown-item" href="{{path('app_client_index')}}">Clients</a>
  562.                                         </li>
  563.                                         <li><hr class="dropdown-divider"></li>
  564.                                         <li class="nav-item">
  565.                                             <a class="dropdown-item" href="{{path('app_user_index', {'id': app.user.client.id})}}">Utilisateurs</a>
  566.                                         </li>
  567.                                         {% if is_granted('ROLE_ADMIN') %}
  568.                                             <li class="nav-item">
  569.                                                 <a class="dropdown-item" href="{{path('app_job_index')}}">Postes</a>
  570.                                             </li>
  571.                                             <li class="nav-item">
  572.                                                 <a class="dropdown-item" href="{{path('app_domain_index')}}">Domaines</a>
  573.                                             </li>
  574.                                             <li class="nav-item">
  575.                                                 <a class="dropdown-item" href="{{path('app_location_index')}}">Localisation 1</a>
  576.                                             </li>
  577.                                             <li class="nav-item">
  578.                                                 <a class="dropdown-item" href="{{path('app_sub_location_index')}}">Localisation 2</a>
  579.                                             </li>
  580.                                         {% endif %}
  581.                                     </ul>
  582.                                 </li>
  583.                             </ul>
  584.                             <ul class="navbar-nav float-end text-dark fw-bold">
  585.                                 <li class="nav-item ms-auto">
  586.                                     <a class="nav-link" href="{{path('app_logout', {'clientSlug': 'public' })}}"><i class="fa-duotone fa-right-from-bracket me-2"></i> Déconnexion</a>
  587.                                 </li>
  588.                             </ul>
  589.                     </div>
  590.                 </nav>
  591.                 {% else %}
  592.                     <header role="banner" id="main-navbar" tabindex="-1" class="navbar navbar-expand-lg fixed-top bg-white">
  593.                         <div class="container">
  594.                             {{ render(controller('App\\Controller\\PageController::renderClientFromUrl')) }}
  595.                             <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Basculer la navigation">
  596.                                 <span class="navbar-toggler-icon" aria-hidden="true"></span>
  597.                                 <span class="sr-only">Afficher le menu</span>
  598.                             </button>
  599.                             <div class="collapse navbar-collapse" id="navbarSupportedContent">
  600.                                 <div class="ms-auto d-inline" id="accessconfig" data-accessconfig-buttonname="Paramètres d’accessibilité" data-accessconfig-params='{ "Prefix" : "a42-ac", "ContainerClass" : "accessibility-modal","ModalCloseButton" : "close-accessibility-modal-btn","ModalTitle" : "","FormFieldset" : "","FormFieldsetLegend" : "","FormRadio" : ""}' ></div>
  601.                                 <div id="my-account-dropdown" class="ms-2">
  602.                                     {% if is_granted('ROLE_USER') %}
  603.                                         <div class="dropdown">
  604.                                             <button id="my_account_square" class="dropdown-toggle d-flex align-items-center p-2" type="button" data-bs-toggle="dropdown" aria-expanded="false">
  605.                                                 <div class="bg-white my-account-logo-background">
  606.                                                     {% if app.user.avatar != null %}
  607.                                                         {{app.user.avatar.code|raw}}
  608.                                                     {% else %}
  609.                                                         <span class="fa-duotone fa-user-robot"></span>
  610.                                                     {% endif %}
  611.                                                 </div>
  612.                                                 <div class="d-flex flex-column align-items-start mx-2">
  613.                                                     <span class="work-sans-semi-bold text-graphite">{{app.user.firstName}}</span>
  614.                                                     <span class="text-graphite work-sans-medium">Mon Compte</span>
  615.                                                 </div>
  616.                                             </button>
  617.                                             <nav class="dropdown-menu" role="navigation">
  618.                                                 <ul>
  619.                                                     <li>
  620.                                                         <a class="dropdown-item" href="{{path('app_my_profile')}}">Mon profil</a>
  621.                                                     </li>
  622.                                                     <!--<li>
  623.                                                         <a class="dropdown-item dropdown-item-hr" href="{{path('app_my_success')}}">Succès</a>
  624.                                                     </li>-->
  625.                                                     <li>
  626.                                                         <a class="dropdown-item" href="{{path('app_contact_new')}}">Contacter le support</a>
  627.                                                     </li>
  628.                                                     {% if client is defined %}
  629.                                                         <li>
  630.                                                             <a class="dropdown-item" href="{{path('app_legal', {'clientSlug': client.slug})}}">Mentions légales</a>
  631.                                                         </li>
  632.                                                         <li>
  633.                                                             <a class="dropdown-item" href="{{path('app_cgu', {'clientSlug': client.slug})}}">CGU</a>
  634.                                                         </li>
  635.                                                         <li>
  636.                                                             <a class="dropdown-item dropdown-item-hr" href="{{path('app_privacy', {'clientSlug': client.slug})}}">Politique de Confidentialité</a>
  637.                                                         </li>
  638.                                                     {% else %}
  639.                                                         <li>
  640.                                                             <a class="dropdown-item" href="{{path('app_legal', {'clientSlug': app.user.client.slug})}}">Mentions légales</a>
  641.                                                         </li>
  642.                                                         <li>
  643.                                                             <a class="dropdown-item" href="{{path('app_cgu', {'clientSlug': app.user.client.slug})}}">CGU</a>
  644.                                                         </li>
  645.                                                         <li>
  646.                                                             <a class="dropdown-item dropdown-item-hr" href="{{path('app_privacy', {'clientSlug': app.user.client.slug})}}">Politique de Confidentialité</a>
  647.                                                         </li>
  648.                                                     {% endif %}
  649.                                                     {% if client is defined %}
  650.                                                         <li>
  651.                                                             <a class="dropdown-item" href="{{path('app_logout', {'clientSlug': client.slug})}}">
  652.                                                                 <span class="fa-solid fa-power-off text-caution me-2"></span>Se déconnecter</a>
  653.                                                         </li>
  654.                                                     {% else %}
  655.                                                         <li>
  656.                                                             <a class="dropdown-item" href="{{path('app_logout', {'clientSlug': app.user.client.slug})}}">
  657.                                                                 <span class="fa-solid fa-power-off text-caution me-2"></span>Se déconnecter</a>
  658.                                                         </li>
  659.                                                     {% endif %}
  660.                                                 </ul>
  661.                                             </nav>
  662.                                         </div>
  663.                                     {% else %}
  664.                                         {% if client is defined and client.id !=17 %}
  665.                                             <a href="{{path('app_register', {'clientSlug': client.slug, 'clientSalt': client.salt})}}" class="btn-notice-outline text-decoration-none ns-text work-sans-semi-bold">S'inscrire</a>
  666.                                             {% if client.isSecure is same as true %}
  667.                                                 <a href="{{path('app_login', {'clientSlug': client.slug, 'clientSalt': client.salt})}}" class="btn-notice text-decoration-none ms-3 work-sans-medium ns-text">Se connecter</a>
  668.                                             {% else %}
  669.                                                 <a href="{{path('app_login_unsecure', {'clientSlug': client.slug, 'clientSalt': client.salt})}}" class="btn-notice text-decoration-none ms-3 work-sans-medium ns-text">Se connecter</a>
  670.                                             {% endif %}
  671.                                         {% else %}
  672.                                             {% if client.id !=17 %}
  673.                                                 {{ render(controller('App\\Controller\\PageController::renderLoginRegisterBtn')) }}
  674.                                             {% endif %}
  675.                                         {% endif %}
  676.                                     {% endif %}
  677.                                 </div>
  678.                             </div>
  679.                         </div>
  680.                     </header>
  681.                     <div id="spacer"></div>
  682.                     {{ render(controller('App\\Controller\\PageController::renderProductForNavbar')) }}
  683.                 {% endif %}
  684.         {% endif %}
  685.     {% endif %}
  686.     {% block body %}
  687.     {% endblock %}
  688.     {% if is_mobile() %}
  689.     <div class="container-fluid bg-graphite text-white text-center py-3">
  690.         <img src="/img/logo_ween_negative.svg" class="img-thumbnail w-25 mb-3" alt="Ween Solutions Aviséa"/>
  691.         <ul>
  692.             <li class="mb-2">
  693.             {% if is_granted('ROLE_USER') %}
  694.                 <a class="dropdown-item" href="{{path('app_contact_new')}}">Contacter le support</a>
  695.             {% else %}
  696.                 <a class="text-white text-decoration-none" href="mailto:aromero@avisea.fr?subject=Ween - Demande">Contacter le support</a>
  697.             {% endif %}
  698.             </li>
  699.             {% if client is defined %}
  700.                 <li class="mb-2">
  701.                     <a class="dropdown-item" href="{{path('app_legal', {'clientSlug': client.slug})}}">Mentions légales</a>
  702.                 </li>
  703.                 <li class="mb-2">
  704.                     <a class="dropdown-item" href="{{path('app_cgu', {'clientSlug': client.slug})}}">CGU</a>
  705.                 </li>
  706.                 <li class="mb-2">
  707.                     <a class="dropdown-item" href="{{path('app_privacy', {'clientSlug': client.slug})}}">Politique de Confidentialité</a>
  708.                 </li>
  709.             {% else %}
  710.                 <li class="mb-2">
  711.                     <a class="dropdown-item" href="{{path('app_legal', {'clientSlug': app.user.slug})}}">Mentions légales</a>
  712.                 </li>
  713.                 <li class="mb-2">
  714.                     <a class="dropdown-item" href="{{path('app_cgu', {'clientSlug': app.user.client.slug})}}">CGU</a>
  715.                 </li>
  716.                 <li class="mb-2">
  717.                     <a class="dropdown-item" href="{{path('app_privacy', {'clientSlug': app.user.client.slug})}}">Politique de Confidentialité</a>
  718.                 </li>
  719.             {% endif %}
  720.         </ul>
  721.     </div>
  722.     {% endif %}
  723.         <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.1/dist/js/bootstrap.bundle.min.js" integrity="sha384-u1OknCvxWvY5kfmNBILK2hRnQC3Pr17a+RTT6rIHI7NnikvbZlHgTPOOmMi466C8" crossorigin="anonymous"></script>
  724.         <script src="{{ asset('js/script.js') }}"></script>
  725.         <script src="https://cdn.jsdelivr.net/npm/tom-select@2.2.2/dist/js/tom-select.complete.min.js"></script>
  726.         <script src="{{ asset('js/slick.min.js') }}"></script>
  727.         <script>
  728.             $(document).ready(function () {
  729. switch ('{{ currentRoute }}') {
  730. case 'app_main':
  731. $('#homepage_navbar_product_link').addClass('active-custom');
  732. break;
  733. case 'app_flashlearning':
  734. $('#flashlearning_navbar_product_link').addClass('active-custom');
  735. break;
  736. case 'app_my_agenda':
  737. $('#navbar_my_agenda').addClass('active-custom');
  738. break;
  739. case 'app_defi-inclusion':
  740. $('#navbar_inclusion_defi').addClass('active-custom');
  741. break;
  742. case 'app_diag_tools':
  743. $('#navbar_diag_tools').addClass('active-custom');
  744. break;
  745. }
  746. let scrollTopBtn = document.getElementById("scroll-top-btn");
  747. if (scrollTopBtn != null) {
  748. window.onscroll = function () {
  749. scrollFunction()
  750. };
  751. function scrollFunction() {
  752. if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) {
  753. scrollTopBtn.style.display = "block";
  754. } else {
  755. scrollTopBtn.style.display = "none";
  756. }
  757. }
  758. scrollTopBtn.addEventListener("click", (event) => {
  759. document.body.scrollTop = 0;
  760. document.documentElement.scrollTop = 0;
  761. document.getElementById('main-navbar').focus();
  762. });
  763. }
  764. });
  765.         </script>
  766.         {% block javascripts %}{% endblock %}
  767.         <button id="scroll-top-btn" title="Haut de page">
  768.             <span class="fa-sharp fa-solid fa-arrow-up"></span>
  769.             <span class="sr-only">Aller en haut de page</span>
  770.         </button>
  771.     </body>
  772. </html>