diff --git a/client/admin.html b/client/admin.html
index 3f5da71..32fc9d9 100644
--- a/client/admin.html
+++ b/client/admin.html
@@ -114,6 +114,10 @@
Include banned
+
diff --git a/client/admin.js b/client/admin.js
index 372a7d2..ce70d5f 100644
--- a/client/admin.js
+++ b/client/admin.js
@@ -67,12 +67,13 @@ async function getStats() {
return apiRequest('/api/admin/stats');
}
-async function getUsers(query = '', offset = 0, includeBanned = true) {
+async function getUsers(query = '', offset = 0, includeBanned = true, includeTest = true) {
const params = new URLSearchParams({
query,
offset,
limit: PAGE_SIZE,
include_banned: includeBanned,
+ include_test: includeTest,
});
return apiRequest(`/api/admin/users?${params}`);
}
@@ -306,15 +307,19 @@ async function loadUsers() {
try {
const query = document.getElementById('user-search').value;
const includeBanned = document.getElementById('include-banned').checked;
- const data = await getUsers(query, usersPage * PAGE_SIZE, includeBanned);
+ const includeTest = document.getElementById('include-test').checked;
+ const data = await getUsers(query, usersPage * PAGE_SIZE, includeBanned, includeTest);
const tbody = document.querySelector('#users-table tbody');
tbody.innerHTML = '';
data.users.forEach(user => {
+ const testBadge = user.is_test_account
+ ? ' Test'
+ : '';
tbody.innerHTML += `
- | ${escapeHtml(user.username)} |
+ ${escapeHtml(user.username)}${testBadge} |
${escapeHtml(user.email || '-')} |
${user.role} |
${getStatusBadge(user)} |
@@ -447,10 +452,13 @@ async function loadInvites() {
: invite.remaining_uses <= 0
? 'Used Up'
: 'Active';
+ const testSeedBadge = invite.marks_as_test
+ ? ' Test-seed'
+ : '';
tbody.innerHTML += `
- ${escapeHtml(invite.code)} |
+ ${escapeHtml(invite.code)}${testSeedBadge} |
${invite.use_count} / ${invite.max_uses} |
${invite.remaining_uses} |
${escapeHtml(invite.created_by_username)} |
@@ -827,6 +835,10 @@ document.addEventListener('DOMContentLoaded', () => {
usersPage = 0;
loadUsers();
});
+ document.getElementById('include-test').addEventListener('change', () => {
+ usersPage = 0;
+ loadUsers();
+ });
document.getElementById('users-prev').addEventListener('click', () => {
if (usersPage > 0) {
usersPage--;