templates/base.html.twig line 140

Open in your IDE?
  1. {% set isMember = is_granted('ROLE_MEMBER') %}
  2. {% set isWebmasterArea = 'app_webmaster_' in app.request.attributes.get('_route')  %}
  3. {% set isMessengerApp = 'app_messenger_messenger_' in app.request.attributes.get('_route')  %}
  4. {% set isOperatorApp = is_granted('ROLE_OPERATOR') and app.request.attributes.get('_route') == 'app_messenger_operator_reactapp' %}
  5. {% set isMassmailerApp = app.request.attributes.get('_route') in ['app_messenger_massmailer_detail', 'app_messenger_massmailer_allaccessdetail'] %}
  6. <!DOCTYPE html>
  7. <html lang="de">
  8.     <head>
  9.         <title>{% block title %}Frivol.com{{ isWebmasterArea ? '-  Webmaster' : '' }} - {% block title_suffix %}{% endblock %}{% endblock %}</title>
  10.         <meta charset="utf-8">
  11.         <meta name="viewport" content="width=device-width, initial-scale=1.0 maximum-scale=1.0, user-scalable=0">
  12.         <meta http-equiv="x-ua-compatible" content="ie=edge" />
  13.         <meta name="copyright" content="Copyright &copy; {{ 'now'|date('Y') }} Frivol.com" />
  14.         <meta name="content-language" content="de" />
  15.         <meta name="robots" content="index, follow" />
  16.         <meta name="google-site-verification" content="9Ip7seZrghiufzfLkF-Rb13SnrxSmqKAZbBbRwg9gCo" />
  17.         <meta name="abstract" content="Frivol.com" />
  18.         <meta name="title" content="Frivol.com" />
  19.         <meta name="description" content="Frivol.com" />
  20.         <meta name="audience" content="all" />
  21.         <meta name="revisit-after" content="10 days" />
  22.         <link rel="preload" href="{{ asset("build/fonts/fa-solid-900.woff2") }}" as="font" crossorigin/>
  23.         <link rel="preload" href="{{ asset('build/app.css') }}" as="style"/>
  24.         {% block stylesheets %}
  25.             <link rel="canonical" href="" />
  26.             <link rel="apple-touch-icon" sizes="120x120" href="{{ asset('apple-touch-icon.png') }}">
  27.             <link rel="icon" type="image/png" sizes="32x32" href="{{ asset('favicon-32x32.png') }}">
  28.             <link rel="icon" type="image/png" sizes="16x16" href="{{ asset('favicon-16x16.png') }}">
  29.             <link rel="mask-icon" href="{{ asset('safari-pinned-tab.svg') }}" color="#5bbad5">
  30.             <meta name="msapplication-TileColor" content="#da532c">
  31.             <meta name="theme-color" content="#ffffff">
  32.             <link rel="manifest" href="{{ asset('favicon.webmanifest') }}">
  33.             <link rel="manifest" href="{{ asset('build/manifest.json') }}">
  34.             <link rel="stylesheet" href="{{ asset('build/app.css') }}"/>
  35.         {% endblock %}
  36.         {% include '_widgets/google-tag-manager.html.twig' %}
  37.         {% block head_scripts %}{% endblock %}
  38.     </head>
  39.     <body>
  40.         <app>
  41.             <header class="container-fluid mb-1 navbar bg-primary flex-column p-0 fixed-top">
  42.                 {% set search %}
  43.                     {% include '_widgets/header-search.html.twig' %}
  44.                 {% endset %}
  45.                 <div class="row align-items-center flex-nowrap p-2 col-12">
  46.                     <div class="col-6 col-sm-4 col-md-2 px-0">
  47.                         <button class="hamburger hamburger--spin float-left mt-3 mx-2 d-md-none" type="button">
  48.                           <span class="hamburger-box">
  49.                             <span class="hamburger-inner"></span>
  50.                           </span>
  51.                         </button>
  52.                         {% if not isWebmasterArea %}
  53.                             <a class="navbar-brand logo text-hide float-left mr-0 ml-md-1" href="{{ path('app_home_index') }}">
  54.                                 Frivol.com
  55.                             </a>
  56.                         {% else %}
  57.                             <a class="navbar-brand logo text-hide float-left mr-0 ml-md-1" href="{{ path('app_webmaster_dashboard_index') }}">
  58.                                 Frivol.com Webmaster
  59.                             </a>
  60.                         {% endif %}
  61.                     </div>
  62.                     <div class="d-none d-sm-block col-sm-4 text-white px-0 pl-md-3">
  63.                         {% if not isWebmasterArea %}
  64.                             {{ search }}
  65.                         {% endif %}
  66.                     </div>
  67.                     {% if app.user %}
  68.                         <div class="col-6 col-sm-4 col-md-6 px-0 text-white text-right header-member-logged-in">
  69.                             {% if not isWebmasterArea %}
  70.                                 <div id="header-app"></div>
  71.                             {% else %}
  72.                                 {% include '_widgets/header-dropdown-menu-webmaster.html.twig' %}
  73.                             {% endif %}
  74.                         </div>
  75.                     {% else %}
  76.                         <div class="col-6 col-md-5 d-none d-md-flex  text-white text-right p-0">
  77.                             {{ render(controller('App\\Controller\\SecurityController::widget')) }}
  78.                         </div>
  79.                         <div class="col-6 col-sm-3 col-md-1 pr-1 pr-md-3">
  80.                             <div class="btn-group btn-group-sm float-right">
  81.                                 <a href="{{ path('login') }}" class="btn btn-action border-0 text-nowrap d-md-none text-white mr-1">
  82.                                     <span class="icon d-none d-md-inline">
  83.                                         <i class="fas fa-sign-in-alt"></i>
  84.                                     </span>
  85.                                     <span class="d-inline">Login</span>
  86.                                 </a>
  87.                                 <a href="{{ path('app_security_registration') }}" class="btn btn-action border-0 text-nowrap text-white">
  88.                                     <span class="icon d-none d-md-inline">
  89.                                         <i class="fas fa-user-plus"></i>
  90.                                     </span>
  91.                                     <span class="d-inline d-xl-none">Registrieren</span>
  92.                                     <span class="d-none d-xl-inline">Kostenlos registrieren</span>
  93.                                 </a>
  94.                             </div>
  95.                         </div>
  96.                     {% endif %}
  97.                 </div>
  98.                 <div class="row align-items-center flex-nowrap py-2 col-12 d-none d-md-none">
  99.                     {{ search }}
  100.                 </div>
  101.                 <nav class="navbar row bg-grey-10 p-0 flex-nowrap col-12" id="navbarMain">
  102.                     {% if isWebmasterArea %}
  103.                         {% include '_structure/menu-navbar-webmaster.html.twig' %}
  104.                     {% else %}
  105.                         {% include '_structure/menu-navbar.html.twig' %}
  106.                     {% endif %}
  107.                 </nav>
  108.             </header>
  109.             <content>
  110.                 <section class="container-fluid">
  111.                     <div class="row align-items-top py-2">
  112.                         <div class="{{ mainColumnClass|default('col-12 col-md-9') }}">
  113.                             <div id="messages-banner"></div>
  114.                             <section class="xhr-container">
  115.                                 {% block body %}
  116.                                 {% endblock %}
  117.                             </section>
  118.                             {% block chat %}
  119.                                 {% if app.user %}
  120.                                     {% if not isWebmasterArea and not isOperatorApp and not isMessengerApp %}
  121.                                         <section id="react-messenger-chat" class="d-none d-md-block"></section>
  122.                                     {% endif %}
  123.                                 {% endif %}
  124.                             {% endblock %}
  125.                         </div>
  126.                         {% block right %}
  127.                             <aside id="sidebar-banner" class="col-3 d-none d-md-block bg-secondary p-1">
  128.                                 {% include '_structure/aside.html.twig' %}
  129.                                 {% include '_widgets/aside-bonus.html.twig' %}
  130.                             </aside>
  131.                         {% endblock %}
  132.                     </div>
  133.                 </section>
  134.             </content>
  135.             {% block footer %}
  136.                 <footer class="container-fluid bg-secondary pt-3">
  137.                     <div class="row">
  138.                         <div class="{{ mainColumnClass|default('col-12 col-md-9') }}">
  139.                             {% include '_structure/footer-links.html.twig' %}
  140.                         </div>
  141.                     </div>
  142.                     <div class="row no-gutters">
  143.                         <div class="col-12 col-md-9" id="js-footer-webmaster-reference">
  144.                         </div>
  145.                     </div>
  146.                 </footer>
  147.             {% endblock %}
  148.         </app>
  149.         <div aria-live="polite" aria-atomic="true">
  150.             <div id="toast-messages" class="position-absolute">
  151.             </div>
  152.         </div>
  153.         {% if app.user %}
  154.             <div class="">
  155.                 {% include '_structure/bonus-mobile-modal.html.twig' %}
  156.             </div>
  157.         {% endif %}
  158.         {% block javascripts %}
  159.             <script type="text/javascript">
  160.                 {% if app.user %}
  161.                     let frivolWebsocketUrl =  "{{ websocketUrl() }}";
  162.                 {% endif %}
  163.             </script>
  164.             {% if not isWebmasterArea %}
  165.                 {{ encore_entry_script_tags('websocket') }}
  166.                 {{ encore_entry_script_tags('app') }}
  167.             {% endif %}
  168.             {% if isOperatorApp %}
  169.                 {{ encore_entry_script_tags('react-operator-app') }}
  170.             {% elseif isMassmailerApp %}
  171.                 {{ encore_entry_script_tags('react-massmailer-app') }}
  172.             {% elseif isWebmasterArea %}
  173.                 {{ encore_entry_script_tags('webmaster-area') }}
  174.             {% elseif isMessengerApp %}
  175.                 {{ encore_entry_script_tags('react-messenger-app') }}
  176.             {% else %}
  177.                 {{ encore_entry_script_tags('react-apps') }}
  178.             {% endif %}
  179.             {% if not isWebmasterArea %}
  180.                 <script type="text/javascript" src="{{ asset('js/typeahead.bundle.min.js') }}"></script>
  181.                 <script type="text/javascript">
  182.                     var results = new Bloodhound({
  183.                         initialize: true,
  184.                         datumTokenizer: Bloodhound.tokenizers.obj.whitespace('value'),
  185.                         queryTokenizer: Bloodhound.tokenizers.whitespace,
  186.                         prefetch: {
  187.                             url: '/sgst/prefetch',
  188.                         },
  189.                         remote: {
  190.                             url: '/sgst?term=%QUERY',
  191.                             wildcard: '%QUERY'
  192.                         }
  193.                     });
  194.                     let outputSection = null;
  195.                     $('.typeahead').typeahead({
  196.                         hint: true,
  197.                         highlight: true,
  198.                         minLength: 1,
  199.                         classNames: {
  200.                             menu: 'dropdown-menu suggest-dropdown-menu',
  201.                             selectable: 'dropdown-item suggest-dropdown-item'
  202.                         }
  203.                     }, {
  204.                         name: 'gs_term',
  205.                         limit: 30,
  206.                         source: results,
  207.                         async: true,
  208.                         templates: {
  209.                             notFound: 'Keine Treffer',
  210.                             pending: 'Lädt...',
  211.                             suggestion: Handlebars.compile(
  212.                                 '<div>'+
  213.                                 '\{\{\# if total\}\}<a href="\{\{totalHref\}\}" class="d-flex flex-row"><span class="badge badge-secondary pull-left">\{\{total\}\} \{\{totalType\}\}</span></a>\{\{/if\}\}'+
  214.                                 '<a href="\{\{href\}\}" class="d-flex flex-row">'+
  215.                                 '\{\{\# gt age 17 \}\}<span class="\{\{\# if onl\}\} \{\{onl\}\}\{\{\/if\}\}"></span><img src="\{\{img\}\}" class="dropdown-item-avatar rounded-circle" alt="avatar"/>'+
  216.                                 '\{\{else\}\}<img class="dropdown-item-preview" src="\{\{img\}\}" alt="preview"/>'+
  217.                                 '\{\{/gt\}\}' +
  218.                                 '<span class="dropdown-item-text">\{\{value\}\}\{\{\# gt age 17 \}\}, \{\{age\}\}\{\{/gt\}\}</span>'+
  219.                                 '</a>'+
  220.                                 '</div>',
  221.                                 {
  222.                                     strict: true
  223.                                 }
  224.                             )
  225.                         }
  226.                     });
  227.                 </script>
  228.             {% endif %}
  229.         {% endblock %}
  230.     </body>
  231. </html>