<h1>Platform Role<% if (role) { %>: <code class="mono"><%= role.name %></code><% } %></h1>

<p><a href="/platform-roles">&larr; Back to Platform Roles</a></p>

<% if (forbidden) { %>
  <div class="alert alert-danger">Your role does not have permission to manage platform roles.</div>
<% } else if (!role) { %>
  <div class="alert alert-danger">Role not found.</div>
<% } else { %>

<% if (error) { %><div class="alert alert-danger"><%= error %></div><% } %>
<% if (saved) { %><div class="alert alert-ok">Permissions saved. Every firm using this role is affected immediately.</div><% } %>

<div class="card">
  <p style="color:var(--muted);font-size:12px;margin:0 0 16px">
    <%= role.description || '' %> Changing this affects every firm on the platform whose staff hold the
    <code class="mono"><%= role.name %></code> role — there is no per-firm override.
  </p>

  <% if (role.name === 'super_admin') { %>
    <div class="alert">super_admin always has full access — permissions cannot be restricted, this role is not editable.</div>
  <% } else { %>
  <%
    const grantedCodes = new Set((role.permissions || []).map(p => p.code));
    const modules = {};
    for (const p of permissions) { (modules[p.module] = modules[p.module] || []).push(p); }
  %>
  <form method="post" action="/platform-roles/<%= role.id %>">
    <% for (const [mod, perms] of Object.entries(modules)) { %>
    <div style="margin-bottom:16px">
      <p style="font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:6px"><%= mod.replace(/_/g,' ') %></p>
      <div style="display:flex;flex-wrap:wrap;gap:10px">
        <% for (const p of perms) { %>
        <label style="font-size:12px;display:flex;align-items:center;gap:4px;min-width:220px" title="<%= p.description %>">
          <input type="checkbox" name="permissions" value="<%= p.code %>" <%= grantedCodes.has(p.code) ? 'checked' : '' %>>
          <code class="mono"><%= p.code %></code>
        </label>
        <% } %>
      </div>
    </div>
    <% } %>
    <button class="btn btn-danger" type="submit" onclick="return confirm('Save these permissions for the ' + '<%= role.name %>' + ' role? This affects every firm on the platform immediately.');">Save Permissions</button>
  </form>
  <% } %>
</div>

<% } %>
