templates/layout/_header.html.twig line 1

  1. <header class="bg-white">
  2.     <nav class="text-slate-800 relative h-full">
  3.         <div
  4.             class="gap-3 max-w-screen-xl flex flex-wrap items-center justify-between mx-auto py-4 px-6 h-full">
  5.             {# LOGO #}
  6.             <a href="/" class="flex items-center">
  7.                 <img src="{{ asset('assets/img/logo-ideeprojet.png') }}" class="h-10 mr-3" alt="Flowbite Logo"/>
  8.                 <div class="flex">
  9.                     <div class="font-header self-center text-3xl font-bold whitespace-nowrap dark:text-white">Ideede</div>
  10.                     <div class="font-header self-center text-3xl font-bold whitespace-nowrap text-prim-500 font-fjalla">projet</div>
  11.                 </div>
  12.             </a>
  13.             {# DROPDOWN USER #}
  14.             <div class="z-user hidden my-4 text-base list-none bg-white divide-y divide-gray-100 rounded-lg shadow dark:bg-gray-700 dark:divide-gray-600" id="user-dropdown">
  15.                 <div class="px-4 py-3">
  16.                     {% if is_granted('ROLE_USER') %}
  17.                         <a href="{{path('app_user_show', {'id': app.user.id})}}">
  18.                             <span class="block text-sm text-gray-900 dark:text-white">{{ app.user.UserInfos.name }}</span>
  19.                             <span class="block text-sm  text-gray-500 truncate dark:text-gray-400">{{ app.user.email }}</span>
  20.                         </a>
  21.                     {% endif %}
  22.                 </div>
  23.                 <ul class="py-2" aria-labelledby="user-menu-button">
  24.                     <li>
  25.                         <a href="{{ path('app_my_user_projects')}}" class="block px-4 py-2 text-sm text-gray-700 hover:bg-prim-300 dark:hover:bg-gray-600 dark:text-gray-200 dark:hover:text-white">Mes projets</a>
  26.                     </li>
  27.                     <li>
  28.                         <a href="{{ path('app_logout') }}" class="block px-4 py-2 text-sm text-gray-700 hover:bg-prim-300 dark:hover:bg-gray-600 dark:text-gray-200 dark:hover:text-white">Déconnexion</a>
  29.                     </li>
  30.                 </ul>
  31.             </div>
  32.             {# BURGER #}
  33.             <button data-collapse-toggle="navbar-user" type="button" class="inline-flex items-center p-2 w-10 h-10 justify-center text-sm text-gray-500 rounded-lg md:hidden hover:bg-prim-300 focus:outline-none focus:ring-2 focus:ring-gray-200 dark:text-gray-400 dark:hover:bg-gray-700 dark:focus:ring-gray-600" aria-controls="navbar-user" aria-expanded="false">
  34.                 <svg class="w-5 h-5" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="none" viewbox="0 0 17 14">
  35.                     <path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M1 1h15M1 7h15M1 13h15"/>
  36.                 </svg>
  37.             </button>
  38.             {# NAV USER #}
  39.             <div class="hidden md:flex items-center md:order-3">
  40.                 {% if is_granted('ROLE_USER') %}
  41.                     {# <a href="{{ path('app_logout') }}" class="text-gray-900 bg-white border border-gray-300 focus:outline-none hover:bg-prim-300 focus:ring-4 focus:ring-gray-200 font-medium rounded-lg text-sm px-5 py-2.5  dark:bg-gray-800 dark:text-white dark:border-gray-600 dark:hover:bg-gray-700 dark:hover:border-gray-600 dark:focus:ring-gray-700">Se déconnecter</a> #}
  42.                     <button type="button" class="flex cursor-pointer mr-3 text-sm rounded-full md:mr-0 focus:ring-4 focus:ring-prim-300 dark:focus:ring-gray-600" id="user-menu-button" aria-expanded="false" data-dropdown-toggle="user-dropdown" data-dropdown-placement="bottom">
  43.                         <span class="sr-only">Open user menu</span>
  44.                         {% if app.user.UserInfos.image %}
  45.                             <img class="w-10 h-10 rounded-full" src="{{ asset('/uploads/images/' ~ app.user.UserInfos.image) }}" alt="{{ app.user.UserInfos.name }}"/>
  46.                         {% endif %}
  47.                     </button>
  48.                     <button class="cursor-pointer" data-dropdown-toggle="user-dropdown" data-dropdown-placement="bottom">
  49.                         <p class="ml-2 text-prim-950">{{app.user.UserInfos.name}}</p>
  50.                     </button>
  51.                 {% else %}
  52.                     <a href="{{ path('app_register') }}" class="btn text-white bg-prim-400 border border-gray-300 focus:outline-none hover:bg-transparent hover:border-prim-400 border-solid hover:text-prim-400 focus:ring-4 focus:ring-gray-200 font-medium rounded-lg text-sm px-5 py-2.5 mr-4">S'inscrire</a>
  53.                     <a href="{{ path('app_login') }}" class="btn text-white bg-prim-400 border border-gray-300 focus:outline-none hover:bg-transparent hover:border-prim-400 border-solid hover:text-prim-400 focus:ring-4 focus:ring-gray-200 font-medium rounded-lg text-sm px-5 py-2.5">Se connecter</a>
  54.                 {% endif %}
  55.             </div>
  56.             {# MENU #}
  57.             <div class="md:relative items-center justify-between hidden w-full md:flex md:w-auto md:order-1 z-50" id="navbar-user">
  58.                 <ul class="flex flex-col font-medium p-4 md:p-0 mt-4 border border-gray-100 rounded-lg bg-gray-50 md:flex-row md:space-x-8 md:mt-0 md:border-0 md:bg-transparent dark:bg-gray-800 md:dark:bg-gray-900 dark:border-gray-700">
  59.                     <li>
  60.                         {% if app.request.get('_route') == 'app_home' %}
  61.                             <a href="/" class="block py-2 pl-3 pr-4 text-white bg-prim-700  md:hover:text-prim-500 rounded md:bg-transparent md:text-prim-700 md:p-0" aria-current="page">Accueil</a>
  62.                         {% else %}
  63.                             <a href="/" class="block py-2 pl-3 pr-4 text-slate-800 rounded md:bg-transparent md:hover:text-prim-500 md:text-slate-800 md:p-0" aria-current="page">Accueil</a>
  64.                         {% endif %}
  65.                     </li>
  66.                 </li>
  67.                 <li>
  68.                     {% if app.request.get('_route') == 'app_projets_index' or app.request.get('_route') == 'app_user_projets_in_progress' or app.request.get('_route') == 'app_user_projets_finish' %}
  69.                         <button id="dropdownNavbarLink" data-dropdown-toggle="dropdownNavbar" class="bg-prim-700 md:bg-transparent text-white md:text-prim-700 cursor-pointer flex items-center justify-between w-full py-2 pl-3 pr-4 rounded hover:bg-prim-300 md:hover:bg-transparent md:border-0 md:hover:text-prim-700 md:p-0 md:w-auto dark:text-white md:dark:hover:text-prim-500 dark:focus:text-white dark:border-gray-700 dark:hover:bg-gray-700 md:dark:hover:bg-transparent">Projets
  70.                             <svg class="w-2.5 h-2.5 ml-2.5" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="none" viewbox="0 0 10 6">
  71.                                 <path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m1 1 4 4 4-4"/>
  72.                             </svg>
  73.                         </button>
  74.                     {% else %}
  75.                         <button id="dropdownNavbarLink" data-dropdown-toggle="dropdownNavbar" class="cursor-pointer flex items-center justify-between w-full py-2 pl-3 pr-4 text-slate-800 rounded hover:bg-prim-300 md:hover:bg-transparent md:border-0 md:hover:text-prim-700 md:p-0 md:w-auto dark:text-white md:dark:hover:text-prim-500 dark:focus:text-white dark:border-gray-700 dark:hover:bg-gray-700 md:dark:hover:bg-transparent">Projets
  76.                             <svg class="w-2.5 h-2.5 ml-2.5" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="none" viewbox="0 0 10 6">
  77.                                 <path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m1 1 4 4 4-4"/>
  78.                             </svg>
  79.                         </button>
  80.                     {% endif %}
  81.                     <!-- Dropdown menu -->
  82.                     <div id="dropdownNavbar" class="z-10 hidden font-normal bg-white divide-y divide-gray-100 rounded-lg shadow w-44 dark:bg-gray-700 dark:divide-gray-600">
  83.                         <ul class="py-2 text-sm text-gray-700 dark:text-gray-400" aria-labelledby="dropdownLargeButton">
  84.                             <li>
  85.                                 <a href="{{path('app_projets_index')}}" class="block px-4 py-2 hover:bg-prim-300 md:text-slate-800 dark:hover:bg-gray-600 dark:hover:text-white">Liste des projets</a>
  86.                             </li>
  87.                             <li>
  88.                                 <a href="{{path('app_user_projets_in_progress')}}" class="block px-4 py-2 hover:bg-prim-300 dark:hover:bg-gray-600 dark:hover:text-white">Projets en cours</a>
  89.                             </li>
  90.                             <li>
  91.                                 <a href="{{path('app_user_projets_finish')}}" class="block px-4 py-2 hover:bg-prim-300 dark:hover:bg-gray-600 dark:hover:text-white">Projets terminées</a>
  92.                             </li>
  93.                         </ul>
  94.                     </div>
  95.                 </li>
  96.                 {% if is_granted('ROLE_ADMIN') %}
  97.                     <li>
  98.                         {% if app.request.get('_route') == 'app_admin_index' %}
  99.                             <a href="{{path('app_admin_index')}}" class="block py-2 pl-3 pr-4 text-white bg-prim-700 rounded md:bg-transparent md:text-prim-700 md:p-0 md:hover:text-prim-500" aria-current="page">Administration</a>
  100.                         {% else %}
  101.                             <a href="{{path('app_admin_index')}}" class="block py-2 pl-3 pr-4 text-slate-800 rounded md:bg-transparent md:text-slate-800 md:p-0 md:hover:text-prim-500" aria-current="page">Administration</a>
  102.                         {% endif %}
  103.                     </li>
  104.                 {% endif %}
  105.                 <li class="block md:hidden pl-3">
  106.                     <hr class="h-px my-2 bg-gray-200 border-0 dark:bg-gray-700">
  107.                 </li>
  108.                 <li class="block md:hidden pl-3">
  109.                     <div class="flex items-center md:order-2">
  110.                         {% if is_granted('ROLE_USER') %}
  111.                             {# <a href="{{ path('app_logout') }}" class="text-gray-900 bg-white border border-gray-300 focus:outline-none hover:bg-prim-300 focus:ring-4 focus:ring-gray-200 font-medium rounded-lg text-sm px-5 py-2.5  dark:bg-gray-800 dark:text-white dark:border-gray-600 dark:hover:bg-gray-700 dark:hover:border-gray-600 dark:focus:ring-gray-700">Se déconnecter</a> #}
  112.                             <button type="button" class="flex cursor-pointer text-sm rounded-full md:mr-0 focus:ring-4 focus:ring-prim-300 dark:focus:ring-gray-600" id="user-menu-button" aria-expanded="false" data-dropdown-toggle="user-dropdown" data-dropdown-placement="bottom">
  113.                                 <span class="sr-only">Open user menu</span>
  114.                                 {% if app.user.UserInfos.image %}
  115.                                     <img class="w-8 h-8 rounded-full" src="{{ asset('/uploads/images/' ~ app.user.UserInfos.image) }}" alt="{{ app.user.UserInfos.name }}"/>
  116.                                 {% endif %}
  117.                             </button>
  118.                             <button class="cursor-pointer" data-dropdown-toggle="user-dropdown" data-dropdown-placement="bottom">
  119.                                 <p class="ml-2 text-prim-950">{{app.user.UserInfos.name}}</p>
  120.                             </button>
  121.                         {% else %}
  122.                             <a href="{{ path('app_register') }}" class="btn text-white bg-prim-400 border border-gray-300 focus:outline-none hover:bg-transparent hover:border-prim-400 border-solid hover:text-slate-800 focus:ring-4 focus:ring-gray-200 font-medium rounded-lg text-sm px-5 py-2.5 mr-4">S'inscrire</a>
  123.                             <a href="{{ path('app_login') }}" class="btn text-white bg-prim-400 border border-gray-300 focus:outline-none hover:bg-transparent hover:border-prim-400 border-solid hover:text-slate-800 focus:ring-4 focus:ring-gray-200 font-medium rounded-lg text-sm px-5 py-2.5">Se connecter</a>
  124.                         {% endif %}
  125.                     </div>
  126.                 </li>
  127.             </ul>
  128.         </div>
  129.     </div>
  130. </nav></header>