templates/base.html.twig line 1

Open in your IDE?
  1. <!DOCTYPE html>
  2. <html>
  3.     <head>
  4.         <meta charset="utf-8" />
  5.         <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
  6.         <meta name="description" content="" />
  7.         <meta name="author" content="" />
  8.         <title>{% block title %}VicinApp{% endblock %}</title>
  9.         <link rel="apple-touch-icon" sizes="76x76" href="/apple-touch-icon.png">
  10.         <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
  11.         <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
  12.         <link rel="manifest" href="/site.webmanifest">
  13.         <link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5">
  14.         <meta name="msapplication-TileColor" content="#2b5797">
  15.         <meta name="theme-color" content="#000000">
  16.         <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.3/font/bootstrap-icons.css">
  17.         {#<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">#}
  18.         <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65" crossorigin="anonymous">
  19.         <link rel="stylesheet" href="//code.jquery.com/ui/1.13.2/themes/base/jquery-ui.css">
  20.         <link href="{{ public_base }}/styles/custom.css?v=230403" rel="stylesheet" />
  21.         <script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>
  22.         <script src="https://code.jquery.com/ui/1.13.2/jquery-ui.js"></script>
  23.         <script>$.noConflict();</script>
  24.         
  25.         {# Run `composer require symfony/webpack-encore-bundle`
  26.            and uncomment the following Encore helpers to start using Symfony UX #}
  27.         {% block stylesheets %}
  28.             {#{{ encore_entry_link_tags('app') }}#}
  29.         {% endblock %}
  30.         {% block javascripts %}
  31.             {#{{ encore_entry_script_tags('app') }}#}
  32.             <!-- Bootstrap core JS-->
  33.         {% endblock %}
  34.     </head>
  35.     <body class="d-flex flex-column h-100">
  36.         <main class="flex-shrink-0">
  37.             <!-- Navigation-->
  38.             <nav class="navbar navbar-expand-lg navbar-dark bg-dark">
  39.                 <div class="container px-5">
  40.                     <a href="{{ path('index') }}"><img class="img-fluid rounded-3" src="{{ public_base }}/img/ComunicazioneCondomini.png" style="height:60px" /></a>
  41.                     <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"><span class="navbar-toggler-icon"></span></button>
  42.                     <div class="collapse navbar-collapse" id="navbarSupportedContent">
  43.                         {% if is_granted('IS_IMPERSONATOR') %}
  44.                             <div class="mx-5 badge bg-primary position-relative" style="font-size:1em">Stai impersonando {{ app.user.fullName }} <span class="position-absolute top-0 start-100 translate-middle badge rounded-pill bg-danger"><a href="{{ path('endImpersonate') }}" title="Ritorna alla tua identità"><i class="bi bi-box-arrow-right"></i></a></span></div>
  45.                         {% endif %}                        
  46.                         <ul class="navbar-nav ms-auto mb-2 mb-lg-0">
  47.                             <li class="nav-item"><a class="nav-link" href="{{ path('index') }}">Home</a></li>
  48.                             {#<li class="nav-item"><a class="nav-link" href="{{ path('structures') }}">Strutture</a></li>
  49.                             <li class="nav-item"><a class="nav-link" href="{{ path('firms') }}">Studi</a></li>#}
  50.                             {% if app.user %}
  51.                                 {% if app.user.firm is not null and app.session.get('roleSwitcher').activeRole == 'admin' %}
  52.                                     {% if app.user.firmOwner %}
  53.                                         <li class="nav-item dropdown">
  54.                                             <a class="nav-link dropdown-toggle" id="navbarDropdownStudio" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">Studio</a>
  55.                                             <ul class="dropdown-menu dropdown-menu-end" aria-labelledby="navbarDropdownStudio">
  56.                                               <li><a class="dropdown-item" href="{{ path('ownerAdministrators') }}">Amministratori</a></li>
  57.                                               <li><a class="dropdown-item" href="{{ path('ownerFirm') }}">Dati Studio</a></li>
  58.                                             </ul>
  59.                                         </li>
  60.                                     {% endif %}
  61.                                     {% set hlM = em.repository('App\\Entity\\ChatMessage').countHighlightedMessages(app.user.firm.id) %}
  62.                                     <li class="nav-item"><a class="nav-link position-relative" href="{{ path('adminHighlightedMessages') }}">Evidenza{% if hlM > 0 %}<span class="position-absolute top-0 start-100 translate-middle badge rounded-pill bg-danger">{{ hlM }}</span>{% endif %}</a></li>
  63.                                     <li class="nav-item"><a class="nav-link position-relative" href="{{ path('adminPendingActivations') }}">Attivazioni{% if app.user.firm.hasPendingActivations %}<span class="position-absolute top-0 start-100 translate-middle badge rounded-pill bg-danger">{{ app.user.firm.pendingActivationsCount }}</span>{% endif %}</a></li>
  64.                                 {% endif %}
  65.                             <li class="nav-item dropdown">
  66.                                 <a class="nav-link dropdown-toggle" id="navbarDropdownUser" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false"><i class="bi bi-person-fill" style="color:white"></i></a>
  67.                                 <ul class="dropdown-menu dropdown-menu-end" aria-labelledby="navbarDropdownUser">
  68.                                     <li><a class="dropdown-item" href="{{ path('user') }}">{{ app.user.fullName }}</a></li>
  69.                                     {% for link in app.session.get('roleSwitcher').links(app.user) %}
  70.                                     <li><a class="dropdown-item" href="{{ path(link[1]) }}" title="Passa alla funzione {{ link[0] }}">=> {{ link[0] }}</a></li>
  71.                                     {% endfor %}
  72.                                     <li><a class="dropdown-item" href="{{ path('changePassword') }}">Cambia password</a></li>
  73.                                     {% if app.user.firmOwner %}<li><a class="dropdown-item" href="{{ path('ownerContact') }}">Contattaci</a></li>{% endif %}
  74.                                     {% if app.user.superAdmin %}<li><a class="dropdown-item" href="{{ path('superAdminSearchUsers') }}">Ricerca</a></li>{% endif %}
  75.                                     {% if app.user.superAdmin %}<li><a class="dropdown-item" href="{{ path('superAdminImpersonate') }}">Impersona</a></li>{% endif %}
  76.                                     <li><a class="dropdown-item" href="{{ path('app_logout') }}">Esci</a></li>
  77.                                 </ul>
  78.                             </li>
  79.                             {% else %}
  80.                             <li class="nav-item"><a class="nav-link" href="{{ path('app_login') }}">Login</a></li>
  81.                             {% endif %}
  82.                             {#<li class="nav-item"><a class="nav-link" href="pricing.html">Pricing</a></li>
  83.                             <li class="nav-item"><a class="nav-link" href="faq.html">FAQ</a></li>
  84.                             <li class="nav-item dropdown">
  85.                                 <a class="nav-link dropdown-toggle" id="navbarDropdownBlog" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">Blog</a>
  86.                                 <ul class="dropdown-menu dropdown-menu-end" aria-labelledby="navbarDropdownBlog">
  87.                                     <li><a class="dropdown-item" href="blog-home.html">Blog Home</a></li>
  88.                                     <li><a class="dropdown-item" href="blog-post.html">Blog Post</a></li>
  89.                                 </ul>
  90.                             </li>
  91.                             <li class="nav-item dropdown">
  92.                                 <a class="nav-link dropdown-toggle" id="navbarDropdownPortfolio" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">Portfolio</a>
  93.                                 <ul class="dropdown-menu dropdown-menu-end" aria-labelledby="navbarDropdownPortfolio">
  94.                                     <li><a class="dropdown-item" href="portfolio-overview.html">Portfolio Overview</a></li>
  95.                                     <li><a class="dropdown-item" href="portfolio-item.html">Portfolio Item</a></li>
  96.                                 </ul>
  97.                             </li>#}
  98.                         </ul>
  99.                     </div>
  100.                 </div>
  101.             </nav>
  102.             <div class="container px-2 px-lg-5">
  103.             {% for label, messages in app.flashes %}
  104.                 {% for message in messages %}
  105.                     <div class="mx-5 alert alert-{{ label }} alert-dismissible fade show" role="alert">
  106.                         {{ message|raw }}
  107.                         <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Chiudi"></button>
  108.                     </div>                    
  109.                 {% endfor %}
  110.             {% endfor %}                        
  111.             </div>
  112.         {% block body %}{% endblock %}
  113.         </main>
  114.         <!-- Footer-->
  115.         <footer class="bg-dark py-4 mt-auto">
  116.             <div class="container px-2 px-lg-5">
  117.                 <div class="row align-items-center justify-content-between flex-column flex-sm-row">
  118.                     <div class="col-auto"><div class="small m-0 text-white">Copyright &copy; VicinApp {{ "now"|date("Y") }}</div></div>
  119.                     {#<div class="col-auto">
  120.                         <a class="link-light small" href="#!">Privacy</a>
  121.                         <span class="text-white mx-1">&middot;</span>
  122.                         <a class="link-light small" href="#!">Terms</a>
  123.                         <span class="text-white mx-1">&middot;</span>
  124.                         <a class="link-light small" href="#!">Contact</a>
  125.                     </div>#}
  126.                 </div>
  127.             </div>
  128.         </footer>
  129.             <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-kenU1KFdBIe4zVF0s0G1M5b4hcpxyD9F7jL+jjXkk+Q2h455rYXK/7HAuoJl+0I4" crossorigin="anonymous"></script>
  130.             {#<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>#}
  131.             {#<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/js/bootstrap.bundle.min.js"></script>#}
  132.             <script src="{{ public_base }}/js/scripts.js"></script>
  133.     </body>
  134. </html>