You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
112 lines
5.7 KiB
112 lines
5.7 KiB
<th:block th:fragment="navbar(curPage, isAdmin)">
|
|
<nav class="navbar navbar-expand-lg navbar-light bg-light">
|
|
<div class="container-fluid">
|
|
<!-- Use container-fluid for full-width navbar -->
|
|
<!-- Toggle button -->
|
|
<button class="navbar-toggler" type="button" data-bs-toggle="collapse"
|
|
data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false"
|
|
aria-label="Toggle navigation">
|
|
<span class="navbar-toggler-icon"></span>
|
|
</button>
|
|
<!-- Navigation items on the left -->
|
|
<div class="collapse navbar-collapse" id="navbarSupportedContent">
|
|
<ul class="navbar-nav me-auto">
|
|
<!-- Superuser Navigation Items -->
|
|
<li class="nav-item"><a class="nav-link" th:href="@{/}" th:if="${curPage != 'home'}"> <i
|
|
class=" fa-solid fa-house"></i>
|
|
Home
|
|
</a></li>
|
|
<!-- <li class="nav-item"><a class="nav-link" th:href="@{/gccservicepaymenttracker/}"> <i
|
|
class="fa-solid fa-file-invoice-dollar"></i>
|
|
Payment Tracker
|
|
</a></li> -->
|
|
<!-- Admin-only links, visible only if isAdmin is true -->
|
|
<th:block th:if="${isAdmin}">
|
|
<li class="nav-item">
|
|
<a class="nav-link" th:href="@{/?action=addEmployee}"
|
|
onclick="if (document.getElementById('addEmployeeModal')) { bootstrap.Modal.getOrCreateInstance(document.getElementById('addEmployeeModal')).show(); return false; }">
|
|
<i class="fa-solid fa-circle-plus"></i> Add Employee
|
|
</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" th:href="@{/?action=updateEmployee}"
|
|
onclick="if (document.getElementById('updateEmployeeModal')) { bootstrap.Modal.getOrCreateInstance(document.getElementById('updateEmployeeModal')).show(); return false; }">
|
|
<i class="fa-solid fa-file-pen"></i> Update Employee
|
|
</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" th:href="@{/?action=deleteEmployee}"
|
|
onclick="if (document.getElementById('deleteEmployeeModal')) { bootstrap.Modal.getOrCreateInstance(document.getElementById('deleteEmployeeModal')).show(); return false; }">
|
|
<i class="fa-solid fa-trash-can"></i> Delete Employee
|
|
</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" th:href="@{/?action=deletedEmployees}"
|
|
onclick="if (document.getElementById('deletedEmployeesModal')) { bootstrap.Modal.getOrCreateInstance(document.getElementById('deletedEmployeesModal')).show(); return false; }">
|
|
<i class="fa-solid fa-user-slash"></i> Deleted Employees
|
|
</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" th:href="@{/?action=deletedWorkOrders}"
|
|
onclick="if (document.getElementById('deletedWorkOrdersModal')) { bootstrap.Modal.getOrCreateInstance(document.getElementById('deletedWorkOrdersModal')).show(); return false; }">
|
|
<i class="fa-solid fa-file-circle-xmark"></i> Deleted Work Orders
|
|
</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" th:href="@{/?action=positionHistory}"
|
|
onclick="if (document.getElementById('positionHistoryModal')) { bootstrap.Modal.getOrCreateInstance(document.getElementById('positionHistoryModal')).show(); return false; }">
|
|
<i class="fa-solid fa-clock-rotate-left"></i> Position History
|
|
</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" th:href="@{/?action=addVendorWorkOrder}"
|
|
onclick="if (document.getElementById('addVendorWorkOrderModal')) { bootstrap.Modal.getOrCreateInstance(document.getElementById('addVendorWorkOrderModal')).show(); return false; }">
|
|
<i class="fa-solid fa-folder-plus"></i> Add Vendor / Work Order
|
|
</a>
|
|
</li>
|
|
</th:block>
|
|
<!-- <li class="nav-item">
|
|
<a class="nav-link" href="#" onclick="openLoginModal(); return false;"
|
|
th:if="${curPage != 'view-login-det'}">
|
|
<i class="fa-solid fa-gauge"></i> Manpower Dashboard
|
|
</a>
|
|
</li> -->
|
|
</ul>
|
|
<!--Navigation item on the right-->
|
|
<th:block th:if="${session.usrName != null}">
|
|
<ul class="navbar-nav ms-auto align-items-center flex-row gap-3">
|
|
<li class="nav-item me-2" id="manpower-update-badge" style="display: none;" th:if="${curPage == 'home'}">
|
|
<a href="#" onclick="openManpowerUpdatesModal(); return false;" class="btn btn-sm btn-outline-info text-dark fw-semibold" style="border-radius: 20px; font-size: 0.85rem; padding: 4px 12px; background: rgba(13, 202, 240, 0.08); border-color: rgba(13, 202, 240, 0.4); display: inline-flex; align-items: center; gap: 5px;">
|
|
<i class="fa-solid fa-clock-rotate-left text-info"></i> Last Updated: <span id="manpower-update-time">-</span>
|
|
</a>
|
|
</li>
|
|
<li class="nav-item text-secondary fw-semibold" style="font-size: 0.9rem;">
|
|
<i class="fa-solid fa-user me-1 text-primary"></i>
|
|
<span th:text="${session.usrName} + ' (' + ${session.usrRole} + ')'">admin (ADMIN)</span>
|
|
</li>
|
|
<li class="nav-item">
|
|
<form th:action="@{/usr-logout}" method="post" class="m-0 p-0 d-inline">
|
|
<input th:if="${_csrf != null}" type="hidden" th:name="${_csrf.parameterName}"
|
|
th:value="${_csrf.token}" />
|
|
<button type="submit"
|
|
class="nav-link btn btn-link text-decoration-none border-0 bg-transparent py-2"
|
|
style="display: inline-flex; align-items: center; gap: 5px;">
|
|
<i class="fa-solid fa-right-from-bracket"></i> Logout
|
|
</button>
|
|
</form>
|
|
</li>
|
|
</ul>
|
|
</th:block>
|
|
<th:block th:unless="${session.usrName != null}">
|
|
<ul class="navbar-nav ms-auto" th:if="${curPage != 'login'}">
|
|
<li class="nav-item">
|
|
<a class="nav-link" th:href="@{/login}">
|
|
<i class="fa-solid fa-right-to-bracket"></i> Login
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</th:block>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
</th:block>
|