templates/inicio/inicio.html.twig line 1

Open in your IDE?
  1. {% extends 'common/base-login.html.twig' %}
  2. {% block form %}
  3.     <style>
  4.         html, body {
  5.             height: 100%;
  6.             margin: 0;
  7.             background:
  8.                     linear-gradient(rgba(0,0,0,0), rgba(0,0,0,0)),
  9.                     url('{{ asset("assets/images/backgrounds/background_login.png") }}') center/cover;
  10.         }
  11.         .login-bg {
  12.             inset: 0;
  13.             background:
  14.                     linear-gradient(rgba(0,0,0,0), rgba(0,0,0,0)),
  15.                     url('{{ asset("assets/images/backgrounds/background_login.png") }}') center/cover no-repeat;
  16.         }
  17.         .split-screen {
  18.             position: relative;
  19.             z-index: 1;
  20.             display: grid;
  21.             grid-template-columns: 1.2fr 1fr 0.8fr;
  22.             min-height: 100vh;
  23.         }
  24.         .left-side {
  25.             display: flex;
  26.             align-items: center;
  27.             padding: 4rem 3rem;
  28.             color: #fafffd;
  29.         }
  30.         .center-side {
  31.             display: flex;
  32.             justify-content: center;
  33.             align-items: center;
  34.             padding: 2rem;
  35.         }
  36.         .container-login {
  37.             width: 100%;
  38.             max-width: 950px;
  39.             margin-top: -150px;
  40.         }
  41.         /* LOGO PRINCIPAL MÁS GRANDE */
  42.         .main-logo {
  43.             max-width: 510px; /* 50% más grande */
  44.             display: block;
  45.             margin: 0 auto;
  46.             padding: 20px;
  47.         }
  48.         .apps-grid {
  49.             width: 100%;
  50.             display: grid;
  51.             grid-template-columns: repeat(3, 1fr);
  52.             gap: 2rem;
  53.         }
  54.         /* columnas dinámicas según nº de módulos activos */
  55.         .apps-grid.apps-1-cols {
  56.             grid-template-columns: 1fr;
  57.         }
  58.         .apps-grid.apps-2-cols {
  59.             grid-template-columns: repeat(2, 1fr);
  60.         }
  61.         .apps-grid.apps-3-cols {
  62.             grid-template-columns: repeat(3, 1fr);
  63.         }
  64.         .app-card {
  65.             background: rgba(0,0,0,0);
  66.             /*backdrop-filter: blur(6px);*/
  67.             padding: 3rem 2rem;
  68.             text-align: center;
  69.             border-radius: 12px;
  70.             /*box-shadow: 0 8px 30px rgba(0,0,0,0.25);*/
  71.             color: #fafffd;
  72.             transition: transform .25s, box-shadow .25s;
  73.             min-height: 330px;
  74.             display: flex;
  75.             flex-direction: column;
  76.             justify-content: space-between;
  77.         }
  78.         .app-card:nth-child(1) { /* Venues */ }
  79.         .app-card:nth-child(2) { /* Catering */ }
  80.         .app-card:nth-child(3) { /* AV */ }
  81.         /* SOMBRAS COLOREADAS EN HOVER */
  82.         .app-card:nth-child(1):hover { /* Venues */
  83.             box-shadow: 0 0 22px rgba(189,191,9,0.85);
  84.             background: rgba(189,191,9,0.05);
  85.         }
  86.         .app-card:nth-child(2):hover { /* Catering */
  87.             box-shadow: 0 0 22px rgba(255,146,28,0.85);
  88.             background: rgba(255,146,28,0.05);
  89.         }
  90.         .app-card:nth-child(3):hover { /* AV */
  91.             box-shadow: 0 0 22px rgba(0,191,139,0.85);
  92.             background: rgba(0,191,139,0.05);
  93.         }
  94.         .app-logo {
  95.             max-width: 170px;
  96.             margin: 0 auto 1rem auto;
  97.         }
  98.         .app-description {
  99.             font-size: 1.3rem;
  100.             color: #ded9e2;
  101.             margin-bottom: 1.5rem;
  102.         }
  103.         .btn-app {
  104.             border-radius: .75rem;
  105.             padding: .6rem 1.4rem;
  106.         }
  107.         .right-side {
  108.             display: flex;
  109.             align-items: center;
  110.             padding: 4rem 3rem;
  111.             color: #fafffd;
  112.         }
  113.         .feature {
  114.             display: flex;
  115.             gap: .85rem;
  116.             align-items: flex-start;
  117.             margin-bottom: .9rem;
  118.         }
  119.         .feature-dot {
  120.             width: .65rem;
  121.             height: .65rem;
  122.             border-radius: 50%;
  123.             background: #fafffd;
  124.             margin-top: .45rem;
  125.         }
  126.         @media (max-width: 1400px) {
  127.             .apps-grid { grid-template-columns: 1fr; max-width: 450px; margin: 0 auto; }
  128.         }
  129.         @media (max-width: 1200px) {
  130.             .split-screen { grid-template-columns: 1fr 1fr; }
  131.             .right-side { display: none; }
  132.         }
  133.         @media (max-width: 768px) {
  134.             .split-screen { grid-template-columns: 1fr; }
  135.             .left-side { display: none; }
  136.             .center-side { padding-top: 2rem; }
  137.         }
  138.     </style>
  139.     {% set activeModules = 0 %}
  140.     {% if configuration.mvenues %}{% set activeModules = activeModules + 1 %}{% endif %}
  141.     {% if configuration.mcatering %}{% set activeModules = activeModules + 1 %}{% endif %}
  142.     {% if configuration.mav %}{% set activeModules = activeModules + 1 %}{% endif %}
  143.     <div class="login-bg"></div>
  144.     <div class="split-screen">
  145.         <!-- IZQUIERDA -->
  146.         <section class="left-side">
  147.             <div>
  148.                 <h1>Plataforma MANTE</h1>
  149.                 <h3>
  150.                     Accede a cualquier aplicación desde un único punto:
  151.                     gestión de venues, catering y audiovisuales para eventos.
  152.                 </h3>
  153.             </div>
  154.         </section>
  155.         <!-- CENTRO -->
  156.         <section class="center-side">
  157.             <div class="container-login">
  158.                 <!-- LOGO PRINCIPAL -->
  159.                 <img src="{{ asset('assets/images/platform/Logo_Mante.png') }}"
  160.                      class="main-logo"
  161.                      alt="MANTE">
  162.                 {#   Mensajes de envío de correo y cambios satisfactorios   #}
  163.                 {% for label, messages in app.flashes %}
  164.                     {% for message in messages %}
  165.                         <div style="text-align: center; padding: 10px; margin-bottom: 15px; border-radius: 4px; color: black; background-color: {{ label == 'danger' ? '#dc3545' : '#ffffff' }};">
  166.                             <strong>{{ message }}</strong>
  167.                         </div>
  168.                     {% endfor %}
  169.                 {% endfor %}
  170.                 <div class="apps-grid apps-{{ activeModules }}-cols">
  171.                     {% if configuration.mvenues %}
  172.                         <!-- Venues -->
  173.                         <div class="app-card">
  174.                             <svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="42" height="42" viewBox="0 0 24 24" style="display: block; margin: 0 auto 1rem auto; color:#bdbf09;">
  175.                                 <path fill="currentColor" d="M12 2l-10 6h20l-10-6zM4 9h16v2h-16v-2zM5 12h2v8h-2v-8zM9 12h2v8h-2v-8zM13 12h2v8h-2v-8zM17 12h2v8h-2v-8zM2 21h20v2h-20v-2z"></path>
  176.                             </svg>
  177.                             <img src="{{ asset('/uploads/branding/venues/logo_ManteVenues.png') }}"
  178.                                  class="app-logo" alt="ManteVenues">
  179.                             <p class="app-description">
  180.                                 Espacios, salas, reservas y presupuestos.
  181.                             </p>
  182.                             <a href="{{ path('app_login_branded', {'type': 'venues'}) }}" class="btn bg-btn-limerick btn-app">
  183.                                 Entrar
  184.                             </a>
  185.                         </div>
  186.                     {% endif %}
  187.                     {% if configuration.mcatering %}
  188.                         <!-- Catering -->
  189.                         <div class="app-card">
  190.                             <i class="icon-cup2" style="font-size:42px; color:#FF921C; margin-bottom:1rem;"></i>
  191.                             <img src="{{ asset('/uploads/branding/catering/logo_ManteCatering.png') }}"
  192.                                  class="app-logo" alt="ManteCatering">
  193.                             <p class="app-description">
  194.                                 Menús, productos y coordinación de servicios.
  195.                             </p>
  196.                             <a href="{{ path('app_login_branded', {'type': 'catering'}) }}" class="btn bg-btn-orange_cat btn-app">
  197.                                 Entrar
  198.                             </a>
  199.                         </div>
  200.                     {% endif %}
  201.                     {% if configuration.mav %}
  202.                         <!-- AV -->
  203.                         <div class="app-card">
  204.                             <i class="icon-video-camera" style="font-size:42px; color:#00bf8b; margin-bottom:1rem;"></i>
  205.                             <img src="{{ asset('/uploads/branding/av/logo_ManteAv.png') }}"
  206.                                  class="app-logo" alt="ManteAV">
  207.                             <p class="app-description">
  208.                                 Equipamiento técnico e inventario de audiovisuales.
  209.                             </p>
  210.                             <a href="{{ path('app_login_branded', {'type': 'av'}) }}" class="btn bg-btn-green_av btn-app">
  211.                                 Entrar
  212.                             </a>
  213.                         </div>
  214.                     {% endif %}
  215.                 </div>
  216.             </div>
  217.         </section>
  218.         <!-- DERECHA -->
  219.         <aside class="right-side">
  220.             <div>
  221.                 <div class="feature">
  222.                     <h5><strong>Todo centralizado</strong><br>Acceso unificado a todas las áreas.</h5>
  223.                 </div>
  224.                 <div class="feature">
  225.                     <h5><strong>Profesional</strong><br>Diseño coherente en todo el ecosistema MANTE.</h5>
  226.                 </div>
  227.                 <div class="feature">
  228.                     <h5><strong>Eficiente</strong><br>Optimiza tu trabajo en cada módulo especializado.</h5>
  229.                 </div>
  230.             </div>
  231.         </aside>
  232.     </div>
  233. {% endblock %}
  234. {% block javascripts %}{% endblock %}