templates/base.html.twig line 1

Open in your IDE?
  1. <!DOCTYPE html>
  2. <html lang="es">
  3. <head>
  4.     <meta charset="UTF-8" />
  5.     <meta name="viewport" content="width=device-width, initial-scale=1" />
  6.     <title>{% block title %}Sistema Clínico{% endblock %}</title>
  7.     <!-- Bootstrap CSS -->
  8.     <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" />
  9.     <!-- Bootstrap Icons -->
  10.     <link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css" rel="stylesheet" />
  11.     <!-- FullCalendar CSS -->
  12.     <link rel="stylesheet" href="{{ asset('assets/fullcalendar/lib/main.css') }}">
  13.     <!-- Estilos personalizados -->
  14.     <link rel="stylesheet" href="{{ asset('assets/css/app.css') }}" />
  15.     <!-- Select2 CSS -->
  16.     <link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css" rel="stylesheet" />
  17.     {% block stylesheets %}{% endblock %}
  18. </head>
  19. <body>
  20.   <div class="container-fluid p-0">
  21.     {% include 'partials/_navbar.html.twig' %}
  22.     <div class="d-flex">
  23.       {% include 'partials/_sidebar.html.twig' %}
  24.       <main id="mainContent" class="flex-grow-1 p-4" style="">
  25.         {% block body %}{% endblock %}
  26.       </main>
  27.     </div>
  28.   </div>
  29.     <!-- jQuery ALWAYS FIRST -->
  30.     <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
  31.     <!-- Bootstrap JS -->
  32.     <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
  33.     <!-- FullCalendar -->
  34.     <script src="{{ asset('assets/fullcalendar/lib/main.js') }}"></script>
  35.     <script src="{{ asset('assets/fullcalendar/lib/locales-all.js') }}"></script>
  36.     <!-- jQuery plugins -->
  37.     <script src="{{ asset('assets/node_modules/jquery/src/jquery.autocomplete.js') }}"></script>
  38.     <!-- Custom JS -->
  39.     <script src="{{ asset('assets/js/sidebar.js') }}"></script>
  40.     <!-- Select2 JS -->
  41.     <script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script>
  42.     <script src="{{ asset('assets/js/demo_1/numeroaletras.js') }}"></script>
  43.     
  44.       <script src="https://cdn.jsdelivr.net/npm/bs-custom-file-input/dist/bs-custom-file-input.min.js"></script>
  45.     <script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
  46.     <!-- FIX GLOBAL data-dismiss (Bootstrap 4 → 5) -->
  47.     <script>
  48.       document.addEventListener('click', function (e) {
  49.           const btn = e.target.closest('[data-dismiss="modal"]');
  50.           if (!btn) return;
  51.           const modalEl = btn.closest('.modal');
  52.           if (!modalEl) return;
  53.           if (typeof bootstrap !== 'undefined') {
  54.               const modal = bootstrap.Modal.getInstance(modalEl) 
  55.                   || new bootstrap.Modal(modalEl);
  56.               modal.hide();
  57.           }
  58.       });
  59.       document.addEventListener('input', function (e) {
  60.         console.log("aqui");
  61.         if (e.target.matches('input[name$="[colorActivo]"]')) {
  62.             const colorActivo = e.target.value;
  63.             if (!colorActivo) return;
  64.             // Alpha en HEX (55 ≈ 33% transparente)
  65.             const colorInactivo = colorActivo + '55';
  66.             const form = e.target.closest('form');
  67.             if (!form) return;
  68.             const inputInactivo = form.querySelector('input[name$="[colorInactivo]"]');
  69.             if (!inputInactivo) return;
  70.             inputInactivo.value = colorInactivo;
  71.         }
  72.     });
  73.     </script>
  74.     {% block javascripts %}{% endblock %}
  75. </body>
  76. </html>