mirror of
https://git.imnavajas.es/jjimenez/erp-imprimelibros.git
synced 2026-02-08 11:59:13 +00:00
145 lines
5.6 KiB
HTML
145 lines
5.6 KiB
HTML
<div th:fragment="topbar" th:remove="tag">
|
|
<header id="page-topbar">
|
|
<div class="layout-width">
|
|
<div class="navbar-header">
|
|
<div class="d-flex">
|
|
<!-- LOGO -->
|
|
<div class="navbar-brand-box horizontal-logo">
|
|
<a href="/" class="logo logo-dark">
|
|
<span class="logo-sm">
|
|
<img src="/assets/images/logo-sm.png" alt="" height="22">
|
|
</span>
|
|
<span class="logo-lg">
|
|
<img src="/assets/images/logo-dark.png" alt="" height="45">
|
|
</span>
|
|
</a>
|
|
|
|
<a href="/" class="logo logo-light">
|
|
<span class="logo-sm">
|
|
<img src="/assets/images/logo-sm.png" alt="" height="22">
|
|
</span>
|
|
<span class="logo-lg">
|
|
<img src="/assets/images/logo-light.png" alt="" height="45">
|
|
</span>
|
|
</a>
|
|
</div>
|
|
|
|
<button type="button" class="btn btn-sm px-3 fs-16 header-item vertical-menu-btn topnav-hamburger"
|
|
id="topnav-hamburger-icon">
|
|
<span class="hamburger-icon">
|
|
<span></span>
|
|
<span></span>
|
|
<span></span>
|
|
</span>
|
|
</button>
|
|
</div>
|
|
|
|
<div class="d-flex align-items-center">
|
|
|
|
<div class="dropdown ms-1 topbar-head-dropdown header-item">
|
|
<button type="button" class="btn btn-icon btn-topbar btn-ghost-secondary rounded-circle"
|
|
data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
|
<img id="header-lang-img" src="/assets/images/flags/spain.svg" alt="Header Language"
|
|
height="20" class="rounded">
|
|
|
|
</button>
|
|
<div class="dropdown-menu dropdown-menu-end">
|
|
|
|
<!-- item-->
|
|
<a href="javascript:void(0);" class="dropdown-item notify-item language" data-lang="es-ES"
|
|
title="Spanish">
|
|
<img src="/assets/images/flags/spain.svg" alt="user-image" class="me-2 rounded"
|
|
height="18">
|
|
<span class="align-middle">Español</span>
|
|
</a>
|
|
|
|
<!-- item-->
|
|
<a href="javascript:void(0);" class="dropdown-item notify-item language py-2"
|
|
data-lang="en-GB" title="English">
|
|
<img src="/assets/images/flags/gb.svg" alt="user-image" class="me-2 rounded"
|
|
height="18">
|
|
<span class="align-middle">English</span>
|
|
</a>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<div th:if="${isAuth}"
|
|
class="ms-1 header-item d-none d-sm-flex">
|
|
<button type="button" id="btn_cart"
|
|
class="btn btn-icon btn-topbar material-shadow-none btn-ghost-secondary rounded-circle light-dark-mode">
|
|
<a href="/cart">
|
|
<i class="ri-shopping-cart-2-line fs-22"></i>
|
|
</a>
|
|
<span id="cart-item-count"
|
|
class="position-absolute topbar-badge cartitem-badge fs-10 translate-middle badge rounded-pill bg-info d-none">
|
|
0
|
|
</span>
|
|
</button>
|
|
</div>
|
|
|
|
|
|
|
|
<div th:if="${isAuth}">
|
|
<div class="dropdown ms-sm-3 header-item topbar-user">
|
|
<button type="button" class="btn" id="page-header-user-dropdown" data-bs-toggle="dropdown"
|
|
aria-haspopup="true" aria-expanded="false">
|
|
<span sec:authorize="isAuthenticated()" class="text-center ms-xl-2">
|
|
<span class="d-none d-xl-inline-block ms-1 fw-medium user-name-text"
|
|
th:text="${#authentication.principal.fullname}">Nombre</span>
|
|
<div th:if="${#authentication.principal.role != 'USER'}">
|
|
<span class="d-none d-xl-block ms-1 fs-12 text-muted user-name-sub-text"
|
|
th:text="${#authentication.principal.role}">Rol</span>
|
|
</div>
|
|
</span>
|
|
</button>
|
|
<div class="dropdown-menu dropdown-menu-end">
|
|
<!-- item-->
|
|
<h6 class="dropdown-header"><span th:text="#{app.bienvenido}">Bienvenido</span> <span
|
|
th:text="${#authentication.principal.fullname}">User</span> <span>!</span></h6>
|
|
<a class="dropdown-item" href="/pages-profile"><i
|
|
class="mdi mdi-account-circle text-muted fs-16 align-middle me-1"></i> <span
|
|
class="align-middle" th:text="#{app.perfil}">Perfil</span></a>
|
|
<a class="dropdown-item" href="/apps-chat"><i
|
|
class="mdi mdi-message-text-outline text-muted fs-16 align-middle me-1"></i>
|
|
<span class="align-middle" th:text="#{app.mensajes}">Mensajes</span></a>
|
|
<div sec:authorize="hasRole('PREVIOUS_ADMINISTRATOR')">
|
|
<div class="dropdown-divider"></div>
|
|
<a class="dropdown-item" href="#"
|
|
onclick="document.getElementById('exitImpersonationForm').submit(); return false;">
|
|
<i class="mdi mdi-account-switch text-muted fs-16 align-middle me-1"></i>
|
|
<span class="align-middle" th:text="#{app.impersonate.exit}">Volver a mi usuario</span>
|
|
</a>
|
|
</div>
|
|
<div class="dropdown-divider"></div>
|
|
<a class="dropdown-item" href="#"
|
|
onclick="document.getElementById('logoutForm').submit(); return false;">
|
|
<i class="mdi mdi-logout text-muted fs-16 align-middle me-1"></i>
|
|
<span class="align-middle" data-key="t-logout" th:text="#{app.logout}">Cerrar
|
|
sesión</span>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- Si NO está autenticado -->
|
|
<div th:unless="${isAuth}">
|
|
<a href="/login" class="btn btn-outline-primary ms-sm-3">
|
|
<i class="mdi mdi-login"></i> <label th:text="#{login.login}">Iniciar sesión</label>
|
|
</a>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<form id="logoutForm" th:action="@{/logout}" method="post" class="d-none">
|
|
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}">
|
|
</form>
|
|
<form id="exitImpersonationForm" th:action="@{/impersonate/exit}" method="post" class="d-none">
|
|
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}">
|
|
</form>
|
|
</header>
|
|
|
|
|
|
</div>
|