templates/base.html.twig line 1

Open in your IDE?
  1. <!DOCTYPE html>
  2. <html>
  3.     <head>
  4.         <meta charset="UTF-8">
  5.         <title>{% block title %}Image & GLB Tool{% endblock %}</title>
  6.         <link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 128 128%22><text y=%221.2em%22 font-size=%2296%22>⚫️</text></svg>">
  7.         {# Run `composer require symfony/webpack-encore-bundle` to start using Symfony UX #}
  8.         {% block stylesheets %}
  9.             <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
  10.             <style>
  11.                 body {
  12.                     background: #0f172a;
  13.                     color: #e5e7eb;
  14.                     min-height: 100vh;
  15.                     display: flex;
  16.                     flex-direction: column;
  17.                 }
  18.                 .app-shell {
  19.                     flex: 1;
  20.                     display: flex;
  21.                     flex-direction: column;
  22.                 }
  23.                 .app-header {
  24.                     border-bottom: 1px solid rgba(148, 163, 184, 0.2);
  25.                     background: rgba(15, 23, 42, 0.95);
  26.                     backdrop-filter: blur(12px);
  27.                 }
  28.                 .app-logo {
  29.                     font-weight: 600;
  30.                     letter-spacing: 0.08em;
  31.                     text-transform: uppercase;
  32.                     font-size: 0.85rem;
  33.                 }
  34.                 .app-main {
  35.                     flex: 1;
  36.                     padding: 2.5rem 1rem;
  37.                 }
  38.                 .app-card {
  39.                     background: radial-gradient(circle at top left, #1f2937 0, #020617 55%);
  40.                     border-radius: 1rem;
  41.                     border: 1px solid rgba(148, 163, 184, 0.4);
  42.                     box-shadow: 0 18px 45px rgba(15, 23, 42, 0.9);
  43.                 }
  44.                 .app-card-header {
  45.                     border-bottom: 1px solid rgba(148, 163, 184, 0.3);
  46.                 }
  47.                 .app-muted {
  48.                     color: #9ca3af;
  49.                 }
  50.                 a {
  51.                     color: #38bdf8;
  52.                 }
  53.                 a:hover {
  54.                     color: #0ea5e9;
  55.                 }
  56.                 .btn-primary {
  57.                     background: linear-gradient(90deg, #4f46e5, #0ea5e9);
  58.                     border: none;
  59.                 }
  60.                 .btn-primary:hover {
  61.                     background: linear-gradient(90deg, #4338ca, #0284c7);
  62.                 }
  63.             </style>
  64.         {% endblock %}
  65.         {% block javascripts %}
  66.             <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
  67.         {% endblock %}
  68.     </head>
  69.     <body>
  70.         <div class="app-shell">
  71.             <header class="app-header py-3 mb-3">
  72.                 <div class="container d-flex justify-content-between align-items-center">
  73.                     <div>
  74.                         <div class="app-logo text-uppercase text-secondary">Image &amp; GLB Pipeline</div>
  75.                         <div class="small app-muted">Upload, import, resize and preview assets for your projects.</div>
  76.                     </div>
  77.                     <nav class="d-flex align-items-center gap-3 small">
  78.                         {% if app.user %}
  79.                             <a href="{{ path('instance_index') }}" class="text-decoration-none app-muted">Dashboard</a>
  80.                             <a href="{{ path('app_profile') }}" class="text-decoration-none app-muted">Profile</a>
  81.                             <span class="app-muted d-none d-md-inline">{{ app.user.email }}</span>
  82.                             <a href="{{ path('app_logout') }}" class="btn btn-outline-light btn-sm">Logout</a>
  83.                         {% else %}
  84.                             <a href="{{ path('app_login') }}" class="btn btn-outline-light btn-sm">Login</a>
  85.                             <a href="{{ path('app_register') }}" class="btn btn-primary btn-sm">Register</a>
  86.                         {% endif %}
  87.                     </nav>
  88.                 </div>
  89.             </header>
  90.             <main class="app-main">
  91.                 <div class="container">
  92.                     {% block body %}{% endblock %}
  93.                 </div>
  94.             </main>
  95.         </div>
  96.     </body>
  97. </html>