Client Application Management

<% if (message && message.text) { %>
<%= message.text %>
<% } %> <% if (!managingClientGroups) { %>

WebSocket Settings (Debug)

<% } %> <% if (managingClientGroups) { %>

Manage Associated Groups for Client: <%= managingClientGroups.client.name %> (<%= managingClientGroups.client.id %>)

<% if (managingClientGroups.allGroups && managingClientGroups.allGroups.length > 0) { %> <% managingClientGroups.allGroups.forEach(group => { %>
>
<% }); %> <% } else { %>

No groups available to associate. Create groups in the main admin panel first.

<% } %>
Back to Client List
<% } else { %>

Pending Client Registrations

<% if (pendingClients && pendingClients.length > 0) { %> <% pendingClients.forEach(client => { %> <% }); %>
Name Client ID / Temp ID Requested Secrets (Legacy) Date Registered Actions
<%= client.name %> <%= client.id %> <%= client.requestedSecretKeys && client.requestedSecretKeys.length > 0 ? client.requestedSecretKeys.join(', ') : 'None' %> <%= new Date(client.dateCreated).toLocaleString() %>
<% } else { %>

No pending client registrations.

<% } %>

Approved Clients

<% if (approvedClients && approvedClients.length > 0) { %> <% approvedClients.forEach(client => { %> <%# Now using associatedGroupNames from server %> <% }); %>
Name Client ID Associated Groups Date Approved/Updated Actions
<%= client.name %> <%= client.id %> <%= client.associatedGroupNames %><%= new Date(client.dateUpdated).toLocaleString() %> Manage Groups
<% } else { %>

No approved clients.

<% } %> <% } %>
<%# The script for auto-approve toggle has been removed as it's now a form submission %> <%# The csrfToken is still available globally in the template if other scripts need it, %> <%# passed directly from the route handler. %>