templates/base.html.twig line 1

Open in your IDE?
  1. {% set forms = commonForms.build %}
  2. <!DOCTYPE html>
  3. <html :class="{ 'theme-dark': dark }" x-data="data()" lang="en">
  4. <head>
  5.     <meta charset="UTF-8" />
  6.     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  7.     <title>{% block title %}Nova{% endblock %}</title>
  8.     <link
  9.             href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap"
  10.             rel="stylesheet"
  11.     />
  12.     <link rel="stylesheet" href="{{ asset('/frontend/new/public/assets/css/tailwind.output.css') }}" />
  13.     <link href="{{ asset('/frontend/dist/css/app.css') }}" rel="stylesheet">
  14.     <script
  15.             src="https://cdn.jsdelivr.net/gh/alpinejs/alpine@v2.x.x/dist/alpine.min.js"
  16.             defer
  17.     ></script>
  18.     <script src="{{ asset('/frontend/new/public/assets/js/init-alpine.js') }}"></script>
  19.     <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
  20.     <link type="image/x-icon" href="{{ asset('/favicon.svg') }}" rel="shortcut icon">
  21.     <style>
  22.         .tooltip {
  23.             position: relative;
  24.             display: inline-block;
  25.             border-bottom: 1px dotted black;
  26.         }
  27.         .tooltip .tooltiptext {
  28.             visibility: hidden;
  29.             width: 220px;
  30.             background-color: black;
  31.             color: #fff;
  32.             text-align: center;
  33.             border-radius: 6px;
  34.             padding: 5px 0;
  35.             /* Position the tooltip */
  36.             position: absolute;
  37.             z-index: 1;
  38.         }
  39.         .tooltip:hover .tooltiptext {
  40.             visibility: visible;
  41.         }
  42.     </style>
  43. </head>
  44. <body>
  45. <div
  46.         class="flex h-screen bg-gray-50 dark:bg-gray-900"
  47.         :class="{ 'overflow-hidden': isSideMenuOpen}"
  48. >
  49.     <!-- Desktop sidebar -->
  50.     <aside
  51.             class="z-20 flex-shrink-0 hidden w-64 overflow-y-auto bg-white dark:bg-gray-800 md:block"
  52.     >
  53.         <div class="py-4 text-gray-500 dark:text-gray-400">
  54.             <a
  55.                     class="ml-6 text-lg font-bold text-gray-800 dark:text-gray-200 inline-flex"
  56.                     href="{{ path('main') }}"
  57.             >
  58.                 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
  59.                     <rect width="24" height="24" fill="#6495ED"/>
  60.                     <path d="M15.5625 5.4138L10.9956 19.3125L8.4375 18.7737L13.0044 4.875L15.5625 5.4138Z" fill="white"/>
  61.                 </svg>
  62.                 <span class="ml-4">NOVA</span>
  63.             </a>
  64.             <ul class="mt-6">
  65.                 <li class="relative px-6 py-3">
  66.                     <a
  67.                             class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
  68.                             href="{{ path('main') }}"
  69.                     >
  70.                         <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor">
  71.                             <path d="M10.707 2.293a1 1 0 00-1.414 0l-7 7a1 1 0 001.414 1.414L4 10.414V17a1 1 0 001 1h2a1 1 0 001-1v-2a1 1 0 011-1h2a1 1 0 011 1v2a1 1 0 001 1h2a1 1 0 001-1v-6.586l.293.293a1 1 0 001.414-1.414l-7-7z" />
  72.                         </svg>
  73.                         <span class="ml-4">Главная</span>
  74.                     </a>
  75.                 </li>
  76.                 {% if (is_granted('ROLE_ADMIN')) %}
  77.                     <li class="relative px-6 py-3">
  78.                         <a
  79.                                 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
  80.                                 href="{{ path('TASK_LIST') }}"
  81.                         >
  82.                             <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor">
  83.                                 <path d="M9 2a1 1 0 000 2h2a1 1 0 100-2H9z" />
  84.                                 <path fill-rule="evenodd" d="M4 5a2 2 0 012-2 3 3 0 003 3h2a3 3 0 003-3 2 2 0 012 2v11a2 2 0 01-2 2H6a2 2 0 01-2-2V5zm3 4a1 1 0 000 2h.01a1 1 0 100-2H7zm3 0a1 1 0 000 2h3a1 1 0 100-2h-3zm-3 4a1 1 0 100 2h.01a1 1 0 100-2H7zm3 0a1 1 0 100 2h3a1 1 0 100-2h-3z" clip-rule="evenodd" />
  85.                             </svg>
  86.                             <span class="ml-4">{{ "task.list.name"|trans }}</span>
  87.                         </a>
  88.                     </li>
  89.                     <li class="relative px-6 py-3">
  90.                         <a
  91.                                 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
  92.                                 href="{{ path('SURVEY_LIST') }}"
  93.                         >
  94.                             <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor">
  95.                                 <path d="M9 2a1 1 0 000 2h2a1 1 0 100-2H9z" />
  96.                                 <path fill-rule="evenodd" d="M4 5a2 2 0 012-2 3 3 0 003 3h2a3 3 0 003-3 2 2 0 012 2v11a2 2 0 01-2 2H6a2 2 0 01-2-2V5zm9.707 5.707a1 1 0 00-1.414-1.414L9 12.586l-1.293-1.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clip-rule="evenodd" />
  97.                             </svg>
  98.                             <span class="ml-4">{{ "survey.list.name"|trans }}</span>
  99.                         </a>
  100.                     </li>
  101.                     <li class="relative px-6 py-3">
  102.                         <a
  103.                                 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
  104.                                 href="{{ path('SURVEY_RESULT_LIST') }}"
  105.                         >
  106.                             <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor">
  107.                                 <path d="M9 2a1 1 0 000 2h2a1 1 0 100-2H9z" />
  108.                                 <path fill-rule="evenodd" d="M4 5a2 2 0 012-2 3 3 0 003 3h2a3 3 0 003-3 2 2 0 012 2v11a2 2 0 01-2 2H6a2 2 0 01-2-2V5zm9.707 5.707a1 1 0 00-1.414-1.414L9 12.586l-1.293-1.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clip-rule="evenodd" />
  109.                             </svg>
  110.                             <span class="ml-4">{{ "surveyResult.list.name"|trans }}</span>
  111.                         </a>
  112.                     </li>
  113.                     <li class="relative px-6 py-3">
  114.                         <a
  115.                                 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
  116.                                 href="{{ path('POLL_LIST') }}"
  117.                         >
  118.                             <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor">
  119.                                 <path d="M9 2a1 1 0 000 2h2a1 1 0 100-2H9z" />
  120.                                 <path fill-rule="evenodd" d="M4 5a2 2 0 012-2 3 3 0 003 3h2a3 3 0 003-3 2 2 0 012 2v11a2 2 0 01-2 2H6a2 2 0 01-2-2V5zm9.707 5.707a1 1 0 00-1.414-1.414L9 12.586l-1.293-1.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clip-rule="evenodd" />
  121.                             </svg>
  122.                             <span class="ml-4">{{ "poll.list.name"|trans }}</span>
  123.                         </a>
  124.                     </li>
  125.                     <li class="relative px-6 py-3">
  126.                         <a
  127.                                 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
  128.                                 href="{{ path('TEMPLATE_LETTERS_LIST') }}"
  129.                         >
  130.                             <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor">
  131.                                 <path d="M2.003 5.884L10 9.882l7.997-3.998A2 2 0 0016 4H4a2 2 0 00-1.997 1.884z" />
  132.                                 <path d="M18 8.118l-8 4-8-4V14a2 2 0 002 2h12a2 2 0 002-2V8.118z" />
  133.                             </svg>
  134.                             <span class="ml-4">{{ "templateLetters.list.name"|trans }}</span>
  135.                         </a>
  136.                     </li>
  137.                     <li class="relative px-6 py-3">
  138.                         <a
  139.                                 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
  140.                                 href="{{ path('TECHNIC_LIST') }}"
  141.                         >
  142.                             <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor">
  143.                                 <path fill-rule="evenodd" d="M3 5a2 2 0 012-2h10a2 2 0 012 2v8a2 2 0 01-2 2h-2.22l.123.489.804.804A1 1 0 0113 18H7a1 1 0 01-.707-1.707l.804-.804L7.22 15H5a2 2 0 01-2-2V5zm5.771 7H5V5h10v7H8.771z" clip-rule="evenodd" />
  144.                             </svg>
  145.                             <span class="ml-4">{{ "technic.list.name"|trans }}</span>
  146.                         </a>
  147.                     </li>
  148.                     <li class="relative px-6 py-3">
  149.                         <a
  150.                                 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
  151.                                 href="{{ path('MM_MESSAGE_LIST') }}"
  152.                         >
  153.                             <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor">
  154.                                 <path fill-rule="evenodd" d="M18 13V5a2 2 0 00-2-2H4a2 2 0 00-2 2v8a2 2 0 002 2h3l3 3 3-3h3a2 2 0 002-2zM5 7a1 1 0 011-1h8a1 1 0 110 2H6a1 1 0 01-1-1zm1 3a1 1 0 100 2h3a1 1 0 100-2H6z" clip-rule="evenodd" />
  155.                             </svg>
  156.                             <span class="ml-4">{{ "message.list.name"|trans }}</span>
  157.                         </a>
  158.                     </li>
  159.                 {% endif %}
  160.                 {% if (is_granted('ROLE_SUPER_ADMIN')) %}
  161.                     <li class="relative px-6 py-3">
  162.                         <a
  163.                                 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
  164.                                 href="{{ path('USER_LIST') }}"
  165.                         >
  166.                             <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-5 h-5">
  167.                                 <path d="M7 8a3 3 0 100-6 3 3 0 000 6zM14.5 9a2.5 2.5 0 100-5 2.5 2.5 0 000 5zM1.615 16.428a1.224 1.224 0 01-.569-1.175 6.002 6.002 0 0111.908 0c.058.467-.172.92-.57 1.174A9.953 9.953 0 017 18a9.953 9.953 0 01-5.385-1.572zM14.5 16h-.106c.07-.297.088-.611.048-.933a7.47 7.47 0 00-1.588-3.755 4.502 4.502 0 015.874 2.636.818.818 0 01-.36.98A7.465 7.465 0 0114.5 16z" />
  168.                             </svg>
  169.                             <span class="ml-4">{{ "user.list.name"|trans }}</span>
  170.                         </a>
  171.                     </li>
  172.                 <li class="relative px-6 py-3">
  173.                     <a
  174.                             class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
  175.                             href="{{ path('AVAILABLE_DAY_LIST') }}"
  176.                     >
  177.                         <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-5 h-5">
  178.                             <path fill-rule="evenodd" d="M10 2a1 1 0 011 1v1a1 1 0 11-2 0V3a1 1 0 011-1zm4 8a4 4 0 11-8 0 4 4 0 018 0zm-.464 4.95l.707.707a1 1 0 001.414-1.414l-.707-.707a1 1 0 00-1.414 1.414zm2.12-10.607a1 1 0 010 1.414l-.706.707a1 1 0 11-1.414-1.414l.707-.707a1 1 0 011.414 0zM17 11a1 1 0 100-2h-1a1 1 0 100 2h1zm-7 4a1 1 0 011 1v1a1 1 0 11-2 0v-1a1 1 0 011-1zM5.05 6.464A1 1 0 106.465 5.05l-.708-.707a1 1 0 00-1.414 1.414l.707.707zm1.414 8.486l-.707.707a1 1 0 01-1.414-1.414l.707-.707a1 1 0 011.414 1.414zM4 11a1 1 0 100-2H3a1 1 0 000 2h1z" clip-rule="evenodd"/>
  179.                         </svg>
  180.                         <span class="ml-4">{{ "available_day.list.name"|trans }}</span>
  181.                     </a>
  182.                 </li>
  183.                 <li class="relative px-6 py-3">
  184.                     <a
  185.                             class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
  186.                             href="{{ path('DOCUMENT_LIST') }}"
  187.                     >
  188.                         <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-5 h-5">
  189.                             <path fill-rule="evenodd" d="M4 4a2 2 0 012-2h4.586A2 2 0 0112 2.586L15.414 6A2 2 0 0116 7.414V16a2 2 0 01-2 2H6a2 2 0 01-2-2V4zm2 6a1 1 0 011-1h6a1 1 0 110 2H7a1 1 0 01-1-1zm1 3a1 1 0 100 2h6a1 1 0 100-2H7z" clip-rule="evenodd"/>
  190.                         </svg>
  191.                         <span class="ml-4">{{ "document.list.name"|trans }}</span>
  192.                     </a>
  193.                 </li>
  194.                 {% endif %}
  195.             </ul>
  196.         </div>
  197.     </aside>
  198.     <!-- Mobile sidebar -->
  199.     <!-- Backdrop -->
  200.     <div
  201.             x-show="isSideMenuOpen"
  202.             x-transition:enter="transition ease-in-out duration-150"
  203.             x-transition:enter-start="opacity-0"
  204.             x-transition:enter-end="opacity-100"
  205.             x-transition:leave="transition ease-in-out duration-150"
  206.             x-transition:leave-start="opacity-100"
  207.             x-transition:leave-end="opacity-0"
  208.             class="fixed inset-0 z-10 flex items-end bg-black bg-opacity-50 sm:items-center sm:justify-center"
  209.     ></div>
  210.     <aside
  211.             class="fixed inset-y-0 z-20 flex-shrink-0 w-64 mt-16 overflow-y-auto bg-white dark:bg-gray-800 md:hidden"
  212.             x-show="isSideMenuOpen"
  213.             x-transition:enter="transition ease-in-out duration-150"
  214.             x-transition:enter-start="opacity-0 transform -translate-x-20"
  215.             x-transition:enter-end="opacity-100"
  216.             x-transition:leave="transition ease-in-out duration-150"
  217.             x-transition:leave-start="opacity-100"
  218.             x-transition:leave-end="opacity-0 transform -translate-x-20"
  219.             @click.away="closeSideMenu"
  220.             @keydown.escape="closeSideMenu"
  221.     >
  222.         <div class="py-4 text-gray-500 dark:text-gray-400">
  223.             <a
  224.                     class="ml-6 text-lg font-bold text-gray-800 dark:text-gray-200 inline-flex"
  225.                     href="{{ path('main') }}"
  226.             >
  227.                 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
  228.                     <rect width="24" height="24" fill="#6495ED"/>
  229.                     <path d="M15.5625 5.4138L10.9956 19.3125L8.4375 18.7737L13.0044 4.875L15.5625 5.4138Z" fill="white"/>
  230.                 </svg>
  231.                 <span class="ml-4">NOVA</span>
  232.             </a>
  233.             <ul class="mt-6">
  234.                 <li class="relative px-6 py-3">
  235.                     <a
  236.                             class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
  237.                             href="{{ path('main') }}"
  238.                     >
  239.                         <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor">
  240.                             <path d="M10.707 2.293a1 1 0 00-1.414 0l-7 7a1 1 0 001.414 1.414L4 10.414V17a1 1 0 001 1h2a1 1 0 001-1v-2a1 1 0 011-1h2a1 1 0 011 1v2a1 1 0 001 1h2a1 1 0 001-1v-6.586l.293.293a1 1 0 001.414-1.414l-7-7z" />
  241.                         </svg>
  242.                         <span class="ml-4">Главная</span>
  243.                     </a>
  244.                 </li>
  245.             </ul>
  246.             <ul>
  247.                 {% if (is_granted('ROLE_ADMIN')) %}
  248.                     <li class="relative px-6 py-3">
  249.                         <a
  250.                                 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
  251.                                 href="{{ path('TASK_LIST') }}"
  252.                         >
  253.                             <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor">
  254.                                 <path d="M9 2a1 1 0 000 2h2a1 1 0 100-2H9z" />
  255.                                 <path fill-rule="evenodd" d="M4 5a2 2 0 012-2 3 3 0 003 3h2a3 3 0 003-3 2 2 0 012 2v11a2 2 0 01-2 2H6a2 2 0 01-2-2V5zm3 4a1 1 0 000 2h.01a1 1 0 100-2H7zm3 0a1 1 0 000 2h3a1 1 0 100-2h-3zm-3 4a1 1 0 100 2h.01a1 1 0 100-2H7zm3 0a1 1 0 100 2h3a1 1 0 100-2h-3z" clip-rule="evenodd" />
  256.                             </svg>
  257.                             <span class="ml-4">{{ "task.list.name"|trans }}</span>
  258.                         </a>
  259.                     </li>
  260.                     <li class="relative px-6 py-3">
  261.                         <a
  262.                                 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
  263.                                 href="{{ path('SURVEY_LIST') }}"
  264.                         >
  265.                             <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor">
  266.                                 <path d="M9 2a1 1 0 000 2h2a1 1 0 100-2H9z" />
  267.                                 <path fill-rule="evenodd" d="M4 5a2 2 0 012-2 3 3 0 003 3h2a3 3 0 003-3 2 2 0 012 2v11a2 2 0 01-2 2H6a2 2 0 01-2-2V5zm9.707 5.707a1 1 0 00-1.414-1.414L9 12.586l-1.293-1.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clip-rule="evenodd" />
  268.                             </svg>
  269.                             <span class="ml-4">{{ "survey.list.name"|trans }}</span>
  270.                         </a>
  271.                     </li>
  272.                     <li class="relative px-6 py-3">
  273.                         <a
  274.                                 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
  275.                                 href="{{ path('SURVEY_RESULT_LIST') }}"
  276.                         >
  277.                             <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor">
  278.                                 <path d="M9 2a1 1 0 000 2h2a1 1 0 100-2H9z" />
  279.                                 <path fill-rule="evenodd" d="M4 5a2 2 0 012-2 3 3 0 003 3h2a3 3 0 003-3 2 2 0 012 2v11a2 2 0 01-2 2H6a2 2 0 01-2-2V5zm9.707 5.707a1 1 0 00-1.414-1.414L9 12.586l-1.293-1.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clip-rule="evenodd" />
  280.                             </svg>
  281.                             <span class="ml-4">{{ "surveyResult.list.name"|trans }}</span>
  282.                         </a>
  283.                     </li>
  284.                     <li class="relative px-6 py-3">
  285.                         <a
  286.                                 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
  287.                                 href="{{ path('POLL_LIST') }}"
  288.                         >
  289.                             <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor">
  290.                                 <path d="M9 2a1 1 0 000 2h2a1 1 0 100-2H9z" />
  291.                                 <path fill-rule="evenodd" d="M4 5a2 2 0 012-2 3 3 0 003 3h2a3 3 0 003-3 2 2 0 012 2v11a2 2 0 01-2 2H6a2 2 0 01-2-2V5zm9.707 5.707a1 1 0 00-1.414-1.414L9 12.586l-1.293-1.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clip-rule="evenodd" />
  292.                             </svg>
  293.                             <span class="ml-4">{{ "poll.list.name"|trans }}</span>
  294.                         </a>
  295.                     </li>
  296.                     <li class="relative px-6 py-3">
  297.                         <a
  298.                                 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
  299.                                 href="{{ path('TEMPLATE_LETTERS_LIST') }}"
  300.                         >
  301.                             <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor">
  302.                                 <path d="M2.003 5.884L10 9.882l7.997-3.998A2 2 0 0016 4H4a2 2 0 00-1.997 1.884z" />
  303.                                 <path d="M18 8.118l-8 4-8-4V14a2 2 0 002 2h12a2 2 0 002-2V8.118z" />
  304.                             </svg>
  305.                             <span class="ml-4">{{ "templateLetters.list.name"|trans }}</span>
  306.                         </a>
  307.                     </li>
  308.                     <li class="relative px-6 py-3">
  309.                         <a
  310.                                 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
  311.                                 href="{{ path('TECHNIC_LIST') }}"
  312.                         >
  313.                             <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor">
  314.                                 <path fill-rule="evenodd" d="M3 5a2 2 0 012-2h10a2 2 0 012 2v8a2 2 0 01-2 2h-2.22l.123.489.804.804A1 1 0 0113 18H7a1 1 0 01-.707-1.707l.804-.804L7.22 15H5a2 2 0 01-2-2V5zm5.771 7H5V5h10v7H8.771z" clip-rule="evenodd" />
  315.                             </svg>
  316.                             <span class="ml-4">{{ "technic.list.name"|trans }}</span>
  317.                         </a>
  318.                     </li>
  319.                     <li class="relative px-6 py-3">
  320.                         <a
  321.                                 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
  322.                                 href="{{ path('MM_MESSAGE_LIST') }}"
  323.                         >
  324.                             <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor">
  325.                                 <path fill-rule="evenodd" d="M18 13V5a2 2 0 00-2-2H4a2 2 0 00-2 2v8a2 2 0 002 2h3l3 3 3-3h3a2 2 0 002-2zM5 7a1 1 0 011-1h8a1 1 0 110 2H6a1 1 0 01-1-1zm1 3a1 1 0 100 2h3a1 1 0 100-2H6z" clip-rule="evenodd" />
  326.                             </svg>
  327.                             <span class="ml-4">{{ "message.list.name"|trans }}</span>
  328.                         </a>
  329.                     </li>
  330.                 {% endif %}
  331.                 {% if (is_granted('ROLE_SUPER_ADMIN')) %}
  332.                     <li class="relative px-6 py-3">
  333.                         <a
  334.                                 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
  335.                                 href="{{ path('USER_LIST') }}"
  336.                         >
  337.                             <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-5 h-5">
  338.                                 <path d="M7 8a3 3 0 100-6 3 3 0 000 6zM14.5 9a2.5 2.5 0 100-5 2.5 2.5 0 000 5zM1.615 16.428a1.224 1.224 0 01-.569-1.175 6.002 6.002 0 0111.908 0c.058.467-.172.92-.57 1.174A9.953 9.953 0 017 18a9.953 9.953 0 01-5.385-1.572zM14.5 16h-.106c.07-.297.088-.611.048-.933a7.47 7.47 0 00-1.588-3.755 4.502 4.502 0 015.874 2.636.818.818 0 01-.36.98A7.465 7.465 0 0114.5 16z" />
  339.                             </svg>
  340.                             <span class="ml-4">{{ "user.list.name"|trans }}</span>
  341.                         </a>
  342.                     </li>
  343.                 {% endif %}
  344.             </ul>
  345.         </div>
  346.     </aside>
  347.     <div class="flex flex-col flex-1 w-full">
  348.         <header class="z-10 py-4 bg-white shadow-md dark:bg-gray-800">
  349.             <div
  350.                     class="container flex items-center justify-between h-full px-6 mx-auto text-purple-600 dark:text-purple-300"
  351.             >
  352.                 <!-- Mobile hamburger -->
  353.                 <button
  354.                         class="p-1 mr-5 -ml-1 rounded-md md:hidden focus:outline-none focus:shadow-outline-purple"
  355.                         @click="toggleSideMenu"
  356.                         aria-label="Menu"
  357.                 >
  358.                     <svg
  359.                             class="w-6 h-6"
  360.                             aria-hidden="true"
  361.                             fill="currentColor"
  362.                             viewBox="0 0 20 20"
  363.                     >
  364.                         <path
  365.                                 fill-rule="evenodd"
  366.                                 d="M3 5a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 10a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 15a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1z"
  367.                                 clip-rule="evenodd"
  368.                         ></path>
  369.                     </svg>
  370.                 </button>
  371.                 <!-- Search input -->
  372.                 <div class="flex justify-center flex-1 lg:mr-32">
  373.                     {% if (is_granted('ROLE_ADMIN')) %}
  374.                         <div
  375.                                 class="relative w-full max-w-xl mr-6 focus-within:text-purple-500"
  376.                         >
  377.                             <div class="absolute inset-y-0 flex items-center pl-2">
  378.                                 <svg
  379.                                         class="w-4 h-4"
  380.                                         aria-hidden="true"
  381.                                         fill="currentColor"
  382.                                         viewBox="0 0 20 20"
  383.                                 >
  384.                                     <path
  385.                                             fill-rule="evenodd"
  386.                                             d="M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z"
  387.                                             clip-rule="evenodd"
  388.                                     ></path>
  389.                                 </svg>
  390.                             </div>
  391.                             <input
  392.                                     class="w-full pl-8 pr-2 text-sm text-gray-700 placeholder-gray-600 bg-gray-100 border-0 rounded-md dark:placeholder-gray-500 dark:focus:shadow-outline-gray dark:focus:placeholder-gray-600 dark:bg-gray-700 dark:text-gray-200 focus:placeholder-gray-500 focus:bg-white focus:border-purple-300 focus:outline-none focus:shadow-outline-purple form-input"
  393.                                     type="text"
  394.                                     placeholder="{{ "base.search.label"|trans }}"
  395.                                     aria-label="Search"
  396.                             />
  397.                         </div>
  398.                     {% endif %}
  399.                 </div>
  400.                 <ul class="flex items-center flex-shrink-0 space-x-6">
  401.                     <!-- Theme toggler -->
  402.                     <li class="flex">
  403.                         <button
  404.                                 class="rounded-md focus:outline-none focus:shadow-outline-purple"
  405.                                 @click="toggleTheme"
  406.                                 aria-label="Toggle color mode"
  407.                         >
  408.                             <template x-if="!dark">
  409.                                 <svg
  410.                                         class="w-5 h-5"
  411.                                         aria-hidden="true"
  412.                                         fill="currentColor"
  413.                                         viewBox="0 0 20 20"
  414.                                 >
  415.                                     <path
  416.                                             d="M17.293 13.293A8 8 0 016.707 2.707a8.001 8.001 0 1010.586 10.586z"
  417.                                     ></path>
  418.                                 </svg>
  419.                             </template>
  420.                             <template x-if="dark">
  421.                                 <svg
  422.                                         class="w-5 h-5"
  423.                                         aria-hidden="true"
  424.                                         fill="currentColor"
  425.                                         viewBox="0 0 20 20"
  426.                                 >
  427.                                     <path
  428.                                             fill-rule="evenodd"
  429.                                             d="M10 2a1 1 0 011 1v1a1 1 0 11-2 0V3a1 1 0 011-1zm4 8a4 4 0 11-8 0 4 4 0 018 0zm-.464 4.95l.707.707a1 1 0 001.414-1.414l-.707-.707a1 1 0 00-1.414 1.414zm2.12-10.607a1 1 0 010 1.414l-.706.707a1 1 0 11-1.414-1.414l.707-.707a1 1 0 011.414 0zM17 11a1 1 0 100-2h-1a1 1 0 100 2h1zm-7 4a1 1 0 011 1v1a1 1 0 11-2 0v-1a1 1 0 011-1zM5.05 6.464A1 1 0 106.465 5.05l-.708-.707a1 1 0 00-1.414 1.414l.707.707zm1.414 8.486l-.707.707a1 1 0 01-1.414-1.414l.707-.707a1 1 0 011.414 1.414zM4 11a1 1 0 100-2H3a1 1 0 000 2h1z"
  430.                                             clip-rule="evenodd"
  431.                                     ></path>
  432.                                 </svg>
  433.                             </template>
  434.                         </button>
  435.                     </li>
  436.                     <!-- Profile menu -->
  437.                     <li class="relative">
  438.                         <button
  439.                                 class="align-middle rounded-full focus:shadow-outline-purple focus:outline-none"
  440.                                 @click="toggleProfileMenu"
  441.                                 @keydown.escape="closeProfileMenu"
  442.                                 aria-label="Account"
  443.                                 aria-haspopup="true"
  444.                         >
  445.                             <img
  446.                                     class="object-cover w-8 h-8 rounded-full"
  447.                                     src="{{ asset(app.user.avatar) }}"
  448.                                     alt=""
  449.                                     aria-hidden="true"
  450.                             />
  451.                             <span
  452.                                     aria-hidden="true"
  453.                                     class="absolute top-0 right-0 inline-block w-3 h-3 transform translate-x-1 -translate-y-1 bg-red-600 border-2 border-white rounded-full dark:border-gray-800"
  454.                             ></span>
  455.                         </button>
  456.                         <template x-if="isProfileMenuOpen">
  457.                             <ul
  458.                                     x-transition:leave="transition ease-in duration-150"
  459.                                     x-transition:leave-start="opacity-100"
  460.                                     x-transition:leave-end="opacity-0"
  461.                                     @click.away="closeProfileMenu"
  462.                                     @keydown.escape="closeProfileMenu"
  463.                                     class="absolute right-0 w-56 p-2 mt-2 space-y-2 text-gray-600 bg-white border border-gray-100 rounded-md shadow-md dark:border-gray-700 dark:text-gray-300 dark:bg-gray-700"
  464.                                     aria-label="submenu"
  465.                             >
  466.                                 <li class="flex">
  467.                                     <a
  468.                                             class="inline-flex items-center justify-between w-full px-2 py-1 text-sm font-semibold transition-colors duration-150 rounded-md hover:bg-gray-100 hover:text-gray-800 dark:hover:bg-gray-800 dark:hover:text-gray-200"
  469.                                             href="#"
  470.                                     >
  471.                                         <span>Messages</span>
  472.                                         <span
  473.                                                 class="inline-flex items-center justify-center px-2 py-1 text-xs font-bold leading-none text-red-600 bg-red-100 rounded-full dark:text-red-100 dark:bg-red-600"
  474.                                         >
  475.                                           1
  476.                                         </span>
  477.                                     </a>
  478.                                 </li>
  479.                                 <hr>
  480.                                 <li class="flex">
  481.                                     <a
  482.                                             class="inline-flex items-center w-full px-2 py-1 text-sm font-semibold transition-colors duration-150 rounded-md hover:bg-gray-100 hover:text-gray-800 dark:hover:bg-gray-800 dark:hover:text-gray-200"
  483.                                             href="{{ lkUrl }}?token={{ app.session.get('token') }}&auth_token={{ app.session.get('auth_token') }}"
  484.                                     >
  485.                                         <svg
  486.                                                 class="w-4 h-4 mr-3"
  487.                                                 aria-hidden="true"
  488.                                                 fill="none"
  489.                                                 stroke-linecap="round"
  490.                                                 stroke-linejoin="round"
  491.                                                 stroke-width="2"
  492.                                                 viewBox="0 0 24 24"
  493.                                                 stroke="currentColor"
  494.                                         >
  495.                                             <path
  496.                                                     d="M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"
  497.                                             ></path>
  498.                                         </svg>
  499.                                         <span>{{ "base.goToPersonalAccount.label"|trans }}</span>
  500.                                     </a>
  501.                                 </li>
  502. {#                                <li class="flex">#}
  503. {#                                    <a#}
  504. {#                                            class="inline-flex items-center w-full px-2 py-1 text-sm font-semibold transition-colors duration-150 rounded-md hover:bg-gray-100 hover:text-gray-800 dark:hover:bg-gray-800 dark:hover:text-gray-200"#}
  505. {#                                            href="#"#}
  506. {#                                    >#}
  507. {#                                        <svg#}
  508. {#                                                class="w-4 h-4 mr-3"#}
  509. {#                                                aria-hidden="true"#}
  510. {#                                                fill="none"#}
  511. {#                                                stroke-linecap="round"#}
  512. {#                                                stroke-linejoin="round"#}
  513. {#                                                stroke-width="2"#}
  514. {#                                                viewBox="0 0 24 24"#}
  515. {#                                                stroke="currentColor"#}
  516. {#                                        >#}
  517. {#                                            <path#}
  518. {#                                                    d="M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"#}
  519. {#                                            ></path>#}
  520. {#                                            <path d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path>#}
  521. {#                                        </svg>#}
  522. {#                                        <span>Settings</span>#}
  523. {#                                    </a>#}
  524. {#                                </li>#}
  525.                                 <li class="flex">
  526.                                     <a
  527.                                             class="inline-flex items-center w-full px-2 py-1 text-sm font-semibold transition-colors duration-150 rounded-md hover:bg-gray-100 hover:text-gray-800 dark:hover:bg-gray-800 dark:hover:text-gray-200"
  528.                                             href="{{ path('app_logout') }}"
  529.                                     >
  530.                                         <svg
  531.                                                 class="w-4 h-4 mr-3"
  532.                                                 aria-hidden="true"
  533.                                                 fill="none"
  534.                                                 stroke-linecap="round"
  535.                                                 stroke-linejoin="round"
  536.                                                 stroke-width="2"
  537.                                                 viewBox="0 0 24 24"
  538.                                                 stroke="currentColor"
  539.                                         >
  540.                                             <path
  541.                                                     d="M11 16l-4-4m0 0l4-4m-4 4h14m-5 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h7a3 3 0 013 3v1"
  542.                                             ></path>
  543.                                         </svg>
  544.                                         <span>{{ "base.logOut.label"|trans }}</span>
  545.                                     </a>
  546.                                 </li>
  547.                             </ul>
  548.                         </template>
  549.                     </li>
  550.                 </ul>
  551.             </div>
  552.         </header>
  553.         <main class="h-full pb-16 overflow-y-auto">
  554.             <div class="grid p-3 mx-auto">
  555.                 {%- block body -%}{%- endblock -%}
  556.             </div>
  557.         </main>
  558.     </div>
  559. </div>
  560. </body>
  561. {% if (filterMacrosInvolved) %}
  562.     {% import '/macro/filter.html.twig' as filterMacros %}
  563.     {{ filterMacros.js() }}
  564. {% endif %}
  565. {% if (paginateMacrosInvolved) %}
  566.     {% import '/macro/paginate.html.twig' as paginateMacros %}
  567.     {{ paginateMacros.js() }}
  568. {% endif %}
  569. {% if (listForm.children.controlButtons is defined) %}
  570.     {% for column in listForm.controlButtons %}
  571.         {% include '%s/js.html.twig'|format(column.vars.attr.template) with {'options': column.vars.attr.options} %}
  572.     {% endfor %}
  573. {% endif %}
  574. <script>
  575.     let activities = document.getElementById("task_form_type") ?? document.getElementById("task_edit_form_type");
  576.     const dateTimePicker = document.getElementById("date_time_picker")
  577.     const dayPicker = document.getElementById("day_picker")
  578.     const timePicker = document.getElementById("time_picker")
  579.     function showFields(activities) {
  580.         switch (activities.value) {
  581.             case '0':
  582.                 dateTimePicker.setAttribute("style", "")
  583.                 dayPicker.setAttribute("style", "display: none")
  584.                 timePicker.setAttribute("style", "display: none")
  585.                 break;
  586.             case '1':
  587.                 dateTimePicker.setAttribute("style", "display: none")
  588.                 dayPicker.setAttribute("style", "")
  589.                 timePicker.setAttribute("style", "")
  590.                 break;
  591.             default:
  592.                 console.log(`Sorry, we are out of`);
  593.         }
  594.     }
  595.     showFields(activities)
  596.     activities.addEventListener("change", function() {
  597.         showFields(activities)
  598.     });
  599. </script>
  600. </html>