48 lines
No EOL
1.5 KiB
Text
48 lines
No EOL
1.5 KiB
Text
<%- include("../base/header", { title: "Badge Management", userId: session.userId, isAdmin: true }) %>
|
|
|
|
<div class="row">
|
|
<div class="col">
|
|
<nav aria-label="breadcrumb">
|
|
<ol class="breadcrumb">
|
|
<li class="breadcrumb-item"><a href="/admin">Admin</a></li>
|
|
<li class="breadcrumb-item active"><a>Badge Management</a></li>
|
|
</ol>
|
|
</nav>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col">
|
|
<h1>Badge Management</h1>
|
|
</div>
|
|
<div class="col-auto">
|
|
<a class="btn btn-primary btn-lg me-2" href="/admin/badge">Add Badge</a>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row my-5">
|
|
<div class="col">
|
|
<table class="table table-striped">
|
|
<thead>
|
|
<th>Icon</th>
|
|
<th>Name</th>
|
|
<th>For URL</th>
|
|
<th> </th>
|
|
</thead>
|
|
<tbody>
|
|
<% for (const badge of badges) { %>
|
|
<tr>
|
|
<td class="align-middle"><img style="image-rendering:pixelated" src="<%= badge.ImageUrl.trim().length === 0 ? "/img/missing.png" : badge.ImageUrl %>" width="32" height="32" /></td>
|
|
<td class="align-middle"><%= badge.Name %></td>
|
|
<td class="align-middle"><a href="<%= badge.ForUrl %>"><%= badge.ForUrl %></a></td>
|
|
<td class="text-end text-nowrap align-middle">
|
|
<a class="btn btn-sm btn-primary" href="/admin/badge?id=<%= badge.Id %>">Edit</a>
|
|
<a class="btn btn-sm btn-danger" href="/admin/deletebadge?id=<%= badge.Id %>" onclick="return confirm(`Are you sure you want to delete '<%= badge.Name %>'?`)">Delete</a>
|
|
</td>
|
|
</tr>
|
|
<% } %>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
<%- include("../base/footer") %> |