templates/app/menus.html.twig line 1

Open in your IDE?
  1. {% set current = app.request.attributes.get('_route') %}
  2. {# Styles du nouveau menu #}
  3. {% block stylesheets %}
  4.   <style>
  5.     :root {
  6.       --primary: #3D7299;
  7.       --secondary: #a4286d;
  8.     }
  9.     *, ::before, ::after {
  10.       box-sizing: inherit;
  11.     }
  12.     #navbar-container {
  13.       bottom: 0;
  14.       align-items: center;
  15.       display: flex;
  16.       height: 100vh;
  17.       justify-content: center;
  18.       left: 0;
  19.       padding: 3rem 3rem;
  20.       position: fixed;
  21.       width: 330px;
  22.     }
  23.     #navbar {
  24.       background: #fff;
  25.       border-radius: 20px;
  26.       box-shadow: 15px 15px 10px #00000029;
  27.       display: flex;
  28.       flex-direction: column;
  29.       height: 100%;
  30.       align-items: center;
  31.       color: var(--primary);
  32.       width: 100%;
  33.     }
  34.     header {
  35.       align-items: center;
  36.       display: flex;
  37.       padding: 1.5rem 2rem;
  38.       width: 100%;
  39.     }
  40.     header svg {
  41.       fill: var(--primary);
  42.     }
  43.     header #header-title {
  44.       display: flex;
  45.       flex-direction: column;
  46.       height: 100%;
  47.       justify-content: center;
  48.       margin-left: 1rem;
  49.       position: relative;
  50.     }
  51.     header #header-title #hello {
  52.       font-size: 1.6em;
  53.       font-weight: 400;
  54.     }
  55.     header #header-title #app-version {
  56.       bottom: -5px;
  57.       font-size: .9em;
  58.       font-weight: 100;
  59.       left: 0;
  60.       position: absolute;
  61.     }
  62.     .nav {
  63.       height: 100%;
  64.       padding: 2rem 0;
  65.       width: 100%;
  66.     }
  67.     .nav ul {
  68.       list-style: none;
  69.       display: flex;
  70.       flex-direction: column;
  71.       height: 100%;
  72.       margin: 0;
  73.       padding: 0;
  74.     }
  75.     #nav-item-end {
  76.       margin-top: auto;
  77.     }
  78.     .nav li {
  79.       display: flex;
  80.       flex-direction: column;
  81.       padding: .2rem 2rem;
  82.     }
  83.     .nav li:hover .link-bottom {
  84.       background: var(--secondary);
  85.       width: 100%;
  86.     }
  87.     .nav li .link-bottom {
  88.       background: var(--primary);
  89.       border-radius: 6px;
  90.       height: .2rem;
  91.       transition: .2s linear;
  92.       width: 0;
  93.     }
  94.     .nav li .nav-link {
  95.       color: var(--primary);
  96.       display: flex;
  97.       align-items: center;
  98.       width: 100%;
  99.     }
  100.     .nav li .icon-container {
  101.       align-items: center;
  102.       display: flex;
  103.       height: 50px;
  104.       justify-content: center;
  105.       width: 50px;
  106.     }
  107.     .nav li .nav-icon {
  108.       align-items: center;
  109.       color: var(--primary);
  110.       display: flex;
  111.       font-size: 2.25em;
  112.       justify-content: center;
  113.     }
  114.     .nav li .nav-link-content {
  115.       display: flex;
  116.       align-items: center;
  117.     }
  118.     .nav li .nav-link-content .link-text {
  119.       font-size: 1.1em;
  120.       font-weight: 500;
  121.       margin-left: 1rem;
  122.     }
  123.     .nav li .router-link-active + .link-bottom {
  124.       width: 100%;
  125.     }
  126.     .nav li .router-link-active + .link-bottom:hover {
  127.       color: #065580;
  128.       font-weight: 400;
  129.     }
  130.     #menu-version {
  131.       padding: 0.5rem 2rem 1rem;
  132.       font-size: 0.75em;
  133.       color: #999;
  134.     }
  135.   </style>
  136. {% endblock %}
  137. {% if (is_granted('ROLE_SURVEY')) %}
  138.   {% if app.user.hasGroup('GROUP_LANDLORD') %}
  139.     {% set hasAdministrativeInterface = app.user.organization.isAdminInterfaceVisible %}
  140.     {% set hasPrivateMessage = app.user.organization.hasPrivateMessage %}
  141.     {% set isManager = app.user.isManager %}
  142.     {% set hasIncident = false %}
  143.     {% set hasSocialAd = false %}
  144.     {% set batiConnect = app.user.organization.corporateName | lower == "noralsy" %}
  145.   {% elseif  app.user.hasGroup('GROUP_RESIDENT') %}
  146.     {% set isManager = false %}
  147.     {% set hasAdministrativeInterface = app.user.organization.isAdminInterfaceVisible %}
  148.     {% set hasPrivateMessage = app.user.apartment.entrance.residence.hasPrivateMessage %}
  149.     {% set hasIncident = app.user.apartment.entrance.residence.hasIncident %}
  150.     {% set hasSocialAd = app.user.apartment.entrance.residence.hasSocialAd %}
  151.     {% set batiConnect = false %}
  152.   {% elseif  app.user.hasGroup('GROUP_ADMIN') %}
  153.     {% set hasPrivateMessage = false %}
  154.     {% set hasIncident = false %}
  155.     {% set hasSocialAd = false %}
  156.     {% set isManager = app.user.isManager %}
  157.     {% set batiConnect = false %}
  158.   {% endif %}
  159.   <div id="navbar-container">
  160.     <div id="navbar">
  161.       <header>
  162.         <svg xmlns="http://www.w3.org/2000/svg"
  163.           width="50"
  164.           height="50"
  165.           viewBox="0 0 100 100"
  166.           role="presentation">
  167.           <title id="logo-oecko" lang="en">oecko icon</title>
  168.           <g>
  169.             <path d="M49.52,45.77a3,3,0,1,0,4.29.34,3.05,3.05,0,0,0-4.29-.34Z"/>
  170.             <path d="M74.11,32.28,60.72,73.53a3.48,3.48,0,0,1-6.62,0L47.84,54a3.44,3.44,0,0,0-1.94-2.13L26.66,43.5a3.48,3.48,0,0,1,.66-6.6l42.75-9.1a3.49,3.49,0,0,1,4,4.48ZM40.41,54.36a3,3,0,1,1-.34,4.29,3,3,0,0,1,.34-4.29Zm5.41,13.77L27,72.68a1.55,1.55,0,0,1-1.85-1.94l5.44-18.43a1.54,1.54,0,0,1,2.93-.07l3,8.59a1.54,1.54,0,0,0,.88.92L46,65.2a1.54,1.54,0,0,1-.22,2.93Zm3.44-64A46.5,46.5,0,1,0,95.92,50.45,46.49,46.49,0,0,0,49.26,4.12Z"/>
  171.           </g>
  172.         </svg>
  173.         <div id="header-title">
  174.           <span id="hello">OECKO</span>
  175.           <span id="app-version">βeta</span>
  176.         </div>
  177.       </header>
  178.       <div class="nav">
  179.         <ul>
  180.           <li>
  181.             <a href="{{ path('front_homepage', { _locale: app.request.locale }) }}" class="nav-link {{ current == 'front_homepage' ? "router-link-active" }}">
  182.               <span class="nav-link-content">
  183.                 <div class="icon-container">
  184.                   <span class="material-symbols-outlined nav-icon">home</span>
  185.                 </div>
  186.                 <span class="link-text">{{ 'navbar.home' | trans }}</span>
  187.               </span>
  188.             </a>
  189.             <div class="link-bottom"></div>
  190.           </li>
  191.           {% if (is_granted('ROLE_READ_MESSAGE')) and hasPrivateMessage %}
  192.             <li>
  193.               <a href="{{ path('app_privatemessage_showmessages', { _locale: app.request.locale }) }}" class="nav-link {{ current == 'app_privatemessage_showmessages' ? "router-link-active" }}">
  194.                 <span class="nav-link-content">
  195.                   <div class="icon-container">
  196.                     <span class="material-symbols-outlined nav-icon">message</span>
  197.                   </div>
  198.                   <span class="link-text">{{ 'navbar.messaging' | trans }}</span>
  199.                 </span>
  200.               </a>
  201.               <div class="link-bottom"></div>
  202.             </li>
  203.           {% endif %}
  204.           {% if (is_granted('ROLE_PUBLICMESSAGE')) %}
  205.             <li>
  206.               <a href="{{ path('app_publication_publicationsindex', { _locale: app.request.locale }) }}" class="nav-link {{ current == 'app_publication_publicationsindex' ? "router-link-active" }}">
  207.                 <span class="nav-link-content">
  208.                   <div class="icon-container">
  209.                     <span class="material-symbols-outlined nav-icon">document_scanner</span>
  210.                   </div>
  211.                   <span class="link-text">{{ 'navbar.publications' | trans }}</span>
  212.                 </span>
  213.               </a>
  214.               <div class="link-bottom"></div>
  215.             </li>
  216.           {% endif %}
  217.           {% if (is_granted('ROLE_MODERATOR')) %}
  218.             <li>
  219.               <a href="{{ path('app_moderation_moderation', { _locale: app.request.locale }) }}" class="nav-link {{ current == 'app_moderation_moderation' ? "router-link-active" }}">
  220.                 <span class="nav-link-content">
  221.                   <div class="icon-container">
  222.                     <span class="material-symbols-outlined nav-icon">remove_red_eye</span>
  223.                   </div>
  224.                   <span class="link-text">{{ 'navbar.moderation' | trans }}</span>
  225.                 </span>
  226.               </a>
  227.               <div class="link-bottom"></div>
  228.             </li>
  229.           {% endif %}
  230.           <li>
  231.             <a href="{{ nuxtAppUrl }}/{{ app.request.locale }}/surveys" class="nav-link">
  232.               <span class="nav-link-content">
  233.                 <div class="icon-container">
  234.                   <span class="material-symbols-outlined nav-icon">add_chart</span>
  235.                 </div>
  236.                 <span class="link-text">{{ 'navbar.surveys' | trans }}</span>
  237.               </span>
  238.             </a>
  239.             <div class="link-bottom"></div>
  240.           </li>
  241.           {% if (is_granted('ROLE_USEFULCONTACT_MANAGER')) %}
  242.             <li>
  243.               <a href="{{ path('app_contact_contactmanagement', { _locale: app.request.locale }) }}" class="nav-link {{ current == 'app_contact_contactmanagement' ? "router-link-active" }}">
  244.                 <span class="nav-link-content">
  245.                   <div class="icon-container">
  246.                     <span class="material-symbols-outlined nav-icon">phone_in_talk</span>
  247.                   </div>
  248.                   <span class="link-text">{{ 'navbar.contacts' | trans }}</span>
  249.                 </span>
  250.               </a>
  251.               <div class="link-bottom"></div>
  252.             </li>
  253.           {% endif %}
  254.           {% if is_granted('ROLE_EDIT_RESIDENCE') %}
  255.             <li>
  256.               <a href="{{ path('app_manageproperties_manageproperties', { _locale: app.request.locale }) }}" class="nav-link {{ current == 'app_manageproperties_manageproperties' ? "router-link-active" }}">
  257.                 <span class="nav-link-content">
  258.                   <div class="icon-container">
  259.                     <span class="material-symbols-outlined nav-icon">apartment</span>
  260.                   </div>
  261.                   <span class="link-text">{{ 'navbar.residences' | trans }}</span>
  262.                 </span>
  263.               </a>
  264.               <div class="link-bottom"></div>
  265.             </li>
  266.           {% endif %}
  267.           {% if isManager %}
  268.             <li>
  269.               <a href="{{ path('app_manageaccounts_manageaccounts', { _locale: app.request.locale }) }}" class="nav-link {{ current == 'app_manageaccounts_manageaccounts' ? "router-link-active" }}">
  270.                 <span class="nav-link-content">
  271.                   <div class="icon-container">
  272.                     <span class="material-symbols-outlined nav-icon">supervised_user_circle</span>
  273.                   </div>
  274.                   <span class="link-text">{{ 'navbar.accounts' | trans }}</span>
  275.                 </span>
  276.               </a>
  277.               <div class="link-bottom"></div>
  278.             </li>
  279.           {% endif %}
  280.           <li id="nav-item-end">
  281.             <a href="{{ path('app_logout', { _locale: app.request.locale }) }}" class="nav-link">
  282.               <span class="nav-link-content">
  283.                 <div class="icon-container">
  284.                   <span class="material-symbols-outlined nav-icon">logout</span>
  285.                 </div>
  286.                 <span class="link-text">{{ 'navbar.logout' | trans }}</span>
  287.               </span>
  288.             </a>
  289.             <div class="link-bottom"></div>
  290.           </li>
  291.         </ul>
  292.       </div>
  293.       <div id="menu-version">v{{ config.version }}</div>
  294.     </div>
  295.   </div>
  296. {% else %}
  297.   <a href="#" id="menu-slide-out-btn" data-activates="slide-out" class="button-collapse"><i class="fa fa-bars"></i></a>
  298.   <ul style="height: 100%" id="slide-out" class="side-nav fixed">
  299.     <div id="navbar-header">
  300.       {% set home_url = absolute_url(path('front_homepage')) %}
  301.       {% if app.user %}
  302.         {% if app.user.hasGroup('GROUP_ADMIN') or not app.user.organization.activeInterface or app.user.organization.corporateLogoName == null %}
  303.           <img
  304.             src="{{ asset('app/img/oecko-round-icon.png') }}"
  305.             onclick="document.location.href='{{ home_url }}'"
  306.             alt="Logo Oecko"
  307.           />
  308.           <div id="oecko-clock" class="hide-on-small-only"></div>
  309.         {% else %}
  310.           <img
  311.               id="orga-logo"
  312.               src="{{ medias.getServerUrl(app.user.organization.corporateLogoStorageName) }}"
  313.               onclick="document.location.href='{{ home_url }}'"
  314.               alt="Logo Oecko"/>
  315.           <div id="oecko-clock" class="hide-on-small-only"></div>
  316.         {% endif %}
  317.       {% endif %}
  318.     </div>
  319.     <div id="navbar-scroll-container">
  320.       {% if app.user %}
  321.         {% if app.user.hasGroup('GROUP_LANDLORD') %}
  322.           {% set hasAdministrativeInterface = app.user.organization.isAdminInterfaceVisible %}
  323.           {% set hasPrivateMessage = app.user.organization.hasPrivateMessage %}
  324.           {% set isManager = app.user.isManager %}
  325.           {% set hasIncident = false %}
  326.           {% set hasSocialAd = false %}
  327.           {% set batiConnect = app.user.organization.corporateName | lower == "noralsy" %}
  328.         {% elseif  app.user.hasGroup('GROUP_RESIDENT') %}
  329.           {% set isManager = false %}
  330.           {% set hasAdministrativeInterface = app.user.organization.isAdminInterfaceVisible %}
  331.           {% set hasPrivateMessage = app.user.apartment.entrance.residence.hasPrivateMessage %}
  332.           {% set hasIncident = app.user.apartment.entrance.residence.hasIncident %}
  333.           {% set hasSocialAd = app.user.apartment.entrance.residence.hasSocialAd %}
  334.           {% set batiConnect = false %}
  335.         {% elseif  app.user.hasGroup('GROUP_ADMIN') %}
  336.           {% set hasPrivateMessage = false %}
  337.           {% set hasIncident = false %}
  338.           {% set hasSocialAd = false %}
  339.           {% set isManager = app.user.isManager %}
  340.           {% set batiConnect = false %}
  341.         {% endif %}
  342.         {% if (is_granted('ROLE_READ_MESSAGE')) and hasPrivateMessage %}
  343.           <li>
  344.             {% if app.user.getUnreadMessageNumber() > 0  and app.user.getUnreadMessageNumber()<100 %}
  345.               <div class='pastille'>{{ app.user.getUnreadMessageNumber() }}</div>
  346.             {% elseif app.user.getUnreadMessageNumber()>=100 %}
  347.               <div class='pastille'>99+</div>
  348.             {% endif %}
  349.             <a class="waves-effect waves-light tooltipped {{ current == 'app_privatemessage_showmessages' ? "active" }}"
  350.               href="{{ path('app_privatemessage_showmessages', { _locale:  app.request.locale }) }}" data-position="right" data-delay="50" data-tooltip="Messages">
  351.               <i class="fa fa-envelope"></i>
  352.             </a>
  353.           </li>
  354.         {% endif %}
  355.         {% if (is_granted('ROLE_PUBLICMESSAGE')) %}
  356.           <li>
  357.             <a class="waves-effect waves-light tooltipped {{ current == 'app_publication_publicationsindex' ? "active" }}"
  358.               href="{{ path('app_publication_publicationsindex', { _locale:  app.request.locale }) }}" data-position="right" data-delay="50"
  359.               data-tooltip="Gérer les publications">
  360.               <i class="fa fa-pencil-square-o"></i>
  361.             </a>
  362.           </li>
  363.         {% endif %}
  364.         {% if (is_granted('ROLE_SURVEY')) %}
  365.           <li>
  366.             <a class="waves-effect waves-light tooltipped"
  367.               href="{{ nuxtAppUrl }}/{{ app.request.locale }}/surveys" data-position="right" data-delay="50"
  368.               data-tooltip="Gérer les enquêtes">
  369.               <i class="fa fa-question"></i>
  370.             </a>
  371.           </li>
  372.         {% endif %}
  373.         {% if (is_granted('ROLE_MODERATOR')) %}
  374.           <li>
  375.             <a class="waves-effect waves-light tooltipped {{ current == 'app_moderation_moderation' ? "active" }}"
  376.               href="{{ path('app_moderation_moderation', { _locale:  app.request.locale }) }}" data-position="right" data-delay="50"
  377.               data-tooltip="Espace de modération">
  378.               <i class="fa fa-eye-slash"></i>
  379.             </a>
  380.           </li>
  381.         {% endif %}
  382.         {% if isManager %}
  383.           <li>
  384.             <a class="waves-effect waves-light tooltipped {{ current == 'app_manageaccounts_manageaccounts' ? "active" }}"
  385.               href="{{ path('app_manageaccounts_manageaccounts', { _locale:  app.request.locale }) }}" data-position="right" data-delay="50"
  386.               data-tooltip="Gestion des comptes">
  387.               <i class="fa fa-users"></i>
  388.             </a>
  389.           </li>
  390.         {% endif %}
  391.         {% if is_granted('ROLE_EDIT_RESIDENCE') %}
  392.           <li>
  393.             <a class="waves-effect waves-light tooltipped {{ current == 'app_manageproperties_manageproperties' ? "active" }}"
  394.               href="{{ path('app_manageproperties_manageproperties', { _locale:  app.request.locale }) }}" data-position="right" data-delay="50"
  395.               data-tooltip="Gestion des résidences">
  396.               <i class="fa fa-building-o"></i>
  397.             </a>
  398.           </li>
  399.         {% endif %}
  400.         {% if is_granted('ROLE_USEFULCONTACT_MANAGER') %}
  401.           <li>
  402.             <a class="waves-effect waves-light tooltipped {{ current == 'app_contact_contactmanagement' ? "active" }}"
  403.               href="{{ path('app_contact_contactmanagement', { _locale:  app.request.locale }) }}" data-position="right" data-delay="50"
  404.               data-tooltip="Gestion des résidences">
  405.               <i class="fa fa-phone"></i>
  406.             </a>
  407.           </li>
  408.         {% endif %}
  409.         {% if is_granted('ROLE_MANAGE_THINCLIENT') %}
  410.           <li>
  411.             <a class="waves-effect waves-light tooltipped {{ current == 'app_defaultback_managethinclients' ? "active" }}"
  412.               href="{{ path('app_defaultback_managethinclients', { _locale:  app.request.locale }) }}" data-position="right" data-delay="50"
  413.               data-tooltip="Gestion des écrans">
  414.               <i class="fa fa-tablet"></i>
  415.             </a>
  416.           </li>
  417.         {% endif %}
  418.         {% if is_granted('ROLE_MANAGE_THINCLIENT') %}
  419.           <li>
  420.             <a class="waves-effect waves-light tooltipped {{ current == 'app_defaultback_managethinclients_v2' ? "active" }}"
  421.               href="{{ nuxtAppUrl }}/{{ app.request.locale }}/park" data-position="right" data-delay="50"
  422.               data-tooltip="Gestion des écrans V2">
  423.               V2
  424.             </a>
  425.           </li>
  426.         {% endif %}
  427.         {% if is_granted('ROLE_REPORT_INCIDENT') and hasIncident %}
  428.           <li>
  429.             <a class="waves-effect waves-light tooltipped {{ current == 'app_incident_reportincident' ? "active" }}"
  430.               href="{{ path('app_incident_reportincident', { _locale:  app.request.locale }) }}" data-position="right" data-delay="50"
  431.               data-tooltip="Déclarer un incident">
  432.               <i class="fa fa-bullhorn"></i>
  433.             </a>
  434.           </li>
  435.         {% endif %}
  436.         {% if is_granted('ROLE_SOCIALAD') and hasSocialAd %}
  437.           <li>
  438.             <a class="waves-effect waves-light tooltipped {{ current == 'app_socialad_socialads' ? "active" }}"
  439.               href="{{ path('app_socialad_socialads', { _locale:  app.request.locale }) }}" data-position="right" data-delay="50" data-tooltip="Lien social">
  440.               <i class="fa fa-group"></i>
  441.             </a>
  442.           </li>
  443.         {% endif %}
  444.         {% if hasAdministrativeInterface is defined and hasAdministrativeInterface == true and app.user.hasGroup('GROUP_RESIDENT') %}
  445.           <li>
  446.             <a class="waves-effect waves-light tooltipped {{ current == 'app_documents_documents' ? "active" }}"
  447.               href="{{ path('app_documents_documents', { _locale:  app.request.locale }) }}" data-position="right" data-delay="50" data-tooltip="Lien social">
  448.               <i class="menu-icon material-icons">attach_file</i>
  449.             </a>
  450.           </li>
  451.         {% endif %}
  452.         {% if is_granted('ROLE_SOCIALAD') and hasSocialAd %}
  453.           <li>
  454.             <a class="waves-effect waves-light tooltipped {{ current == 'app_contact_contact' ? "active" }}"
  455.               href="{{ path('app_contact_contact', { _locale:  app.request.locale }) }}" data-position="right" data-delay="50" data-tooltip="Contact">
  456.               <i class="menu-icon material-icons">local_phone </i>
  457.             </a>
  458.           </li>
  459.         {% endif %}
  460.         {% if (is_granted('ROLE_ADD_ADMIN')) %}
  461.           <li>
  462.             <a class="waves-effect waves-light tooltipped {{ current == 'app_managefeatures_managefeaturesindex' ? "active" }}"
  463.               href="{{ path('app_managefeatures_managefeaturesindex', { _locale:  app.request.locale }) }}" data-position="right" data-delay="50"
  464.               data-tooltip="Gestion des fonctionnalités Oecko">
  465.               <i class="fa fa-sliders"></i>
  466.             </a>
  467.           </li>
  468.           <li>
  469.             <a class="waves-effect waves-light tooltipped {{ current == 'app_appsettings_appsettings' ? "active" }}"
  470.               href="{{ path('app_appsettings_appsettings', { _locale:  app.request.locale }) }}" data-position="right" data-delay="50"
  471.               data-tooltip="Paramètres généraux">
  472.               <i class="fa fa-cogs"></i>
  473.             </a>
  474.           </li>
  475.         {% endif %}
  476.     {% if (batiConnect) %}
  477.       <li>
  478.         <a class="baticonnect"
  479.            href="https://www.baticonnect.com/index.php" data-position="right" data-delay="50"
  480.            data-tooltip="Gestion administrative">
  481.            <img
  482.             src="{{ asset('app/img/baticonnect.png') }}"
  483.             alt="Logo Baticonnect"
  484.           />
  485.         </a>
  486.       </li>
  487.     {% endif %}
  488.         <li>
  489.           <a class="waves-effect waves-light tooltipped"
  490.             href="{{ path('app_logout', { _locale:  app.request.locale }) }}" data-position="right" data-delay="50"
  491.             data-tooltip="Se déconnecter">
  492.             <i class="fa fa-sign-out"></i>
  493.           </a>
  494.         </li>
  495.       {% else %}
  496.         <li>
  497.           <a class="waves-effect waves-light tooltipped {{ current == 'app_login' ? "active" }}"
  498.             href="#" data-position="right" data-delay="50"
  499.             data-tooltip="S'identifier">
  500.             <i class="fa fa-lock"></i>
  501.           </a>
  502.         </li>
  503.         <li>
  504.           <a class="waves-effect waves-light tooltipped {{ current == '#' ? "active" }}"
  505.             href="https://oecko.com" data-position="right" data-delay="50" data-tooltip="Découvrez l'application OECKO">
  506.             <i class="fa fa-info-circle"></i>
  507.           </a>
  508.         </li>
  509.       {% endif %}
  510.       <div class="clearer"></div>
  511.     </div>
  512.     <div style="padding: 0.5rem 1rem; font-size: 0.7em; color: #999; margin-top: auto;">v{{ config.version }}</div>
  513.   </ul>
  514. {% endif %}