templates/common/base.html.twig line 1

Open in your IDE?
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.     {{ include('common/head.html.twig') }}
  5.     {# ==== COLOR GLOBAL PARA .btn.bg-btn-limerick SEGÚN BRANDING ==== #}
  6.     {% set btnBrandBg = '#bdbf09' %} {# color por defecto antiguo #}
  7.     {% if branding_current is defined and branding_current is not null %}
  8.         {# usa accentColor si existe, si no primary #}
  9.         {% if branding_current.accentColor is not empty %}
  10.             {% set btnBrandBg = branding_current.accentColor %}
  11.         {% elseif branding_current.primaryColor is not empty %}
  12.             {% set btnBrandBg = branding_current.primaryColor %}
  13.         {% endif %}
  14.     {% endif %}
  15.     <style>
  16.         /* Estado normal */
  17.         .btn.bg-btn-limerick,
  18.         .btn.bg-btn-limerick:focus {
  19.             background-color: {{ btnBrandBg }} !important;
  20.             border-color: {{ btnBrandBg }} !important;
  21.             color: #fafffd !important; /* o #fff si prefieres */
  22.         }
  23.         /* Hover / active */
  24.         .btn.bg-btn-limerick:hover,
  25.         .btn.bg-btn-limerick:active,
  26.         .btn.bg-btn-limerick.active,º
  27.         .open > .dropdown-toggle.btn.bg-btn-limerick {
  28.             background-color: #fafffd !important;
  29.             border-color: {{ btnBrandBg }} !important;
  30.             color: {{ btnBrandBg }} !important;
  31.             /*filter: brightness(0.9);*/
  32.         }
  33.         /* Deshabilitado opcional */
  34.         .btn.bg-btn-limerick[disabled],
  35.         fieldset[disabled] .btn.bg-btn-limerick {
  36.             background-color: {{ btnBrandBg }} !important;
  37.             border-color: {{ btnBrandBg }} !important;
  38.             /*opacity: .65;*/
  39.         }
  40.     </style>
  41.     {% block stylesheets %}{% endblock %}
  42. </head>
  43.     {% if app.user.sidebar is null or app.user.sidebar == false %}
  44.         {% set sidebar = "" %}
  45.     {% else %}
  46.         {% set sidebar = "sidebar-xs" %}
  47.     {% endif %}
  48. <body id="{% block pageid %}{# ID único para la página#}{% endblock %}" class="{{ sidebar }} {% block bodyClass %}{# Class para la página#}{% endblock %}" >
  49. {#{{ dump(app.user.sidebar) }}#}
  50. {{ include('common/navbar.html.twig') }}
  51. <!-- Page container -->
  52. <div class="page-container">
  53.     <!-- Page content -->
  54.     <div class="page-content">
  55.         {% if app.request.get('iframe') != '1' %}
  56.             {{ include('common/sidebar.html.twig') }}
  57.         {% endif %}
  58.         <!-- Main content -->
  59.         <div class="content-wrapper">
  60.             {#{{ include('common/header.html.twig') }}#}
  61.             <!-- Page header -->
  62.             <div class="page-header page-header-default" style="display: none">
  63.                 <div class="page-header-content">
  64.                     {% block pageheadercontent %}{% endblock %}
  65.                 </div>
  66.                 <div class="breadcrumb-line">
  67.                     {% block breadcrumbs %}{% endblock %}
  68.                 </div>
  69.             </div>
  70.             <!-- /page header -->
  71.             <!-- Content area -->
  72.             <div class="content">
  73.                 {% block content %}{% endblock %}
  74.                 {{ include('common/footer.html.twig') }}
  75.             </div>
  76.             <!-- /content area -->
  77.         </div>
  78.         <!-- /main content -->
  79.     </div>
  80.     <!-- /page content -->
  81. </div>
  82. <!-- /page container -->
  83. {% block javascripts %}
  84.     {# 1) jQuery del theme (elige UNA, no cargues dos distintas) #}
  85.     <script src="{{ asset('assets/js/core/libraries/jquery.min.js') }}"></script>
  86.     {# 2) Bootstrap del theme (si no se carga en otro bloque) #}
  87.     <script src="{{ asset('assets/js/core/libraries/bootstrap.min.js') }}"></script>
  88.     {# 4) FullCalendar v3 + locale ES #}
  89.     {# // <script src="{{ asset('vendor/fullcalendar-3.10.5/fullcalendar.min.js') }}"></script> #}
  90.     {# // <script src="{{ asset('vendor/fullcalendar-3.10.5/locale/es.js') }}"></script> #}
  91. {% endblock %}
  92. {# Platform Scrypt Default File #}
  93. <script type="text/javascript" src="{{ asset( 'assets/js/plugins/notifications/noty.min.js') }}"></script>
  94. <script type="text/javascript" src="{{ asset( 'assets/js/plugins/notifications/sweet_alert.min.js') }}"></script>
  95. <script type="text/javascript" src="{{ asset( 'assets/js/base-scripts.js') }}"></script>
  96. <script>
  97.     (function($){
  98.         // Forzar comportamiento acordeón + toggle del mismo bloque
  99.         $(document).on('click', '.sidebar .category-title > a[data-toggle="collapse"]', function(e){
  100.             e.preventDefault();
  101.             var $t = $(this);
  102.             var target = $t.attr('data-target');
  103.             if (!target) return;
  104.             var $target = $(target);
  105.             // Cerrar otros abiertos
  106.             $('.sidebar .category-content.in, .sidebar .category-content.show')
  107.                 .not($target)
  108.                 .collapse('hide');
  109.             // Toggle actual
  110.             $target.collapse('toggle');
  111.         });
  112.         // Sincronizar clases y aria-expanded
  113.         $(document).on('shown.bs.collapse hidden.bs.collapse', '.sidebar .category-content', function(){
  114.             var id = '#' + this.id;
  115.             var $link = $('.sidebar .category-title a[data-target="' + id + '"]');
  116.             var isShown = $(this).hasClass('in') || $(this).hasClass('show');
  117.             $link.toggleClass('collapsed', !isShown).attr('aria-expanded', isShown ? 'true' : 'false');
  118.         });
  119.     })(jQuery);
  120. </script>
  121. <script>
  122.     (function(){
  123.         function setHeaderHeightVar() {
  124.             var header = document.querySelector('.navbar-fixed-top, .navbar.navbar-fixed-top, header.navbar-fixed-top');
  125.             var h = header ? header.getBoundingClientRect().height : 0;
  126.             document.documentElement.style.setProperty('--header-h', h + 'px');
  127.         }
  128.         setHeaderHeightVar();
  129.         window.addEventListener('resize', setHeaderHeightVar);
  130.     })();
  131. </script>
  132. </body>