src/StartPlatz/Bundle/StyleBundle/Resources/views/base.tailwind.public.html.twig line 1

Open in your IDE?
  1. <!DOCTYPE html>
  2. <html lang="{{ app.request.locale|default('de') }}">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6.     {# === SEO Meta === #}
  7.     {% block metaData %}
  8.         <meta name="robots" content="noindex,nofollow">
  9.     {% endblock %}
  10.     {% include "@StartPlatzStyleBundle/_icon.html.twig" %}
  11.     <title>{% block title %}STARTPLATZ{% endblock %}</title>
  12.     {# === Tailwind CSS === #}
  13.     <script src="https://cdn.tailwindcss.com"></script>
  14.     {% block tailwindConfig %}
  15.     <script>
  16.         tailwind.config = {
  17.             theme: {
  18.                 extend: {
  19.                     colors: {
  20.                         'sp-purple': '#9632FF',
  21.                         'sp-grey': '#f5f5f5',
  22.                     }
  23.                 }
  24.             }
  25.         }
  26.     </script>
  27.     {% endblock %}
  28.     {# === Alpine.js === #}
  29.     <script defer src="https://cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js"></script>
  30.     {# === Google Fonts === #}
  31.     {% block fonts %}
  32.         <link rel="preconnect" href="https://fonts.googleapis.com">
  33.         <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  34.         <link href="https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@400;600;700&display=swap" rel="stylesheet">
  35.     {% endblock %}
  36.     {# === Bereichsspezifisches CSS === #}
  37.     {% block styles %}{% endblock %}
  38.     {# === Tracking (GTM, GA, FB Pixel, HubSpot) === #}
  39.     {% if not embed|default(false) %}
  40.         {% include "@StartPlatzStyleBundle/_tracking.html.twig" %}
  41.     {% endif %}
  42.     {# === Zusätzliche Head-Elemente (Meta Pixel, Custom CSS, etc.) === #}
  43.     {% block additionalHead %}{% endblock %}
  44. </head>
  45. <body class="{% block bodyClass %}font-[Source_Sans_Pro]{% endblock %}">
  46.     {# GTM noscript fallback #}
  47.     <noscript>
  48.         <iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5WTVWDT"
  49.                 height="0" width="0" style="display:none;visibility:hidden"></iframe>
  50.     </noscript>
  51.     {# === Navigation === #}
  52.     {% block navigation %}{% endblock %}
  53.     {# === Flash Messages (Tailwind-styled) === #}
  54.     {% block flashMessages %}
  55.         {% for type, messages in app.flashes %}
  56.             {% for message in messages %}
  57.                 <div class="{% if type == 'success' %}bg-green-100 text-green-800 border-green-200{% elseif type == 'error' or type == 'danger' %}bg-red-100 text-red-800 border-red-200{% elseif type == 'warning' %}bg-yellow-100 text-yellow-800 border-yellow-200{% else %}bg-blue-100 text-blue-800 border-blue-200{% endif %} px-4 py-3 rounded-xl border mb-4 mx-auto max-w-4xl mt-4">
  58.                     {{ message|raw }}
  59.                 </div>
  60.             {% endfor %}
  61.         {% endfor %}
  62.     {% endblock %}
  63.     {# === Hauptinhalt === #}
  64.     {% block content %}{% endblock %}
  65.     {# === Footer === #}
  66.     {% block footer %}
  67.         {% if not embed|default(false) %}
  68.             {% include '@StartPlatzWebsiteBundle/Default/footer.tailwind.html.twig' %}
  69.         {% endif %}
  70.     {% endblock %}
  71.     {# === Cookie Consent === #}
  72.     {% if not embed|default(false) %}
  73.         {% include "@StartPlatzStyleBundle/_cookie.consent.html.twig" %}
  74.     {% endif %}
  75.     {# === JavaScript === #}
  76.     {% block javascripts %}{% endblock %}
  77. </body>
  78. </html>