68 lines
1.8 KiB
Plaintext
68 lines
1.8 KiB
Plaintext
<%
|
|
const role = user?.role || "";
|
|
const isAdmin = role === "admin";
|
|
|
|
function lockClass(allowed) {
|
|
return allowed ? "" : "locked";
|
|
}
|
|
|
|
function hrefIfAllowed(allowed, url) {
|
|
return allowed ? url : "#";
|
|
}
|
|
%>
|
|
|
|
<div class="sidebar">
|
|
|
|
<div class="sidebar-title">
|
|
<h2>Admin</h2>
|
|
</div>
|
|
|
|
<!-- ✅ Logo -->
|
|
<div style="padding:20px; text-align:center;">
|
|
<div class="logo" style="margin:0;">
|
|
🩺 Praxis System
|
|
</div>
|
|
</div>
|
|
|
|
<div class="sidebar-menu">
|
|
|
|
<!-- ✅ User Verwaltung -->
|
|
<a
|
|
href="<%= hrefIfAllowed(isAdmin, '/admin/users') %>"
|
|
class="nav-item <%= active === 'users' ? 'active' : '' %> <%= lockClass(isAdmin) %>"
|
|
title="<%= isAdmin ? '' : 'Nur Admin' %>"
|
|
>
|
|
<i class="bi bi-people"></i> Benutzer
|
|
<% if (!isAdmin) { %>
|
|
<span style="margin-left:auto;"><i class="bi bi-lock-fill"></i></span>
|
|
<% } %>
|
|
</a>
|
|
|
|
<!-- ✅ Rechnungsübersicht -->
|
|
<a
|
|
href="<%= hrefIfAllowed(isAdmin, '/admin/invoices') %>"
|
|
class="nav-item <%= active === 'invoice_overview' ? 'active' : '' %> <%= lockClass(isAdmin) %>"
|
|
title="<%= isAdmin ? '' : 'Nur Admin' %>"
|
|
>
|
|
<i class="bi bi-calculator"></i> Rechnungsübersicht
|
|
<% if (!isAdmin) { %>
|
|
<span style="margin-left:auto;"><i class="bi bi-lock-fill"></i></span>
|
|
<% } %>
|
|
</a>
|
|
|
|
|
|
<!-- ✅ Seriennummer -->
|
|
<a
|
|
href="<%= hrefIfAllowed(isAdmin, '/admin/serial-number') %>"
|
|
class="nav-item <%= active === 'serialnumber' ? 'active' : '' %> <%= lockClass(isAdmin) %>"
|
|
title="<%= isAdmin ? '' : 'Nur Admin' %>"
|
|
>
|
|
<i class="bi bi-key"></i> Seriennummer
|
|
<% if (!isAdmin) { %>
|
|
<span style="margin-left:auto;"><i class="bi bi-lock-fill"></i></span>
|
|
<% } %>
|
|
</a>
|
|
|
|
</div>
|
|
</div>
|