about: show only sections the account's groups actually permit
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
@@ -123,7 +123,7 @@
|
||||
|
||||
<section id="s-admins" class="hidden">
|
||||
<h2>Administration</h2>
|
||||
<p class="lead">You are in <code>admins</code> or <code>authentik Admins</code>. Sections you are not a member of are shown for reference and say so.</p>
|
||||
<p class="lead">You are in <code>admins</code> or <code>authentik Admins</code>.</p>
|
||||
<div class="links">
|
||||
<a class="card" id="l-auth" href="#"><b>Authentik admin</b><span>users, groups, Discord source, policies</span></a>
|
||||
<a class="card" id="l-jfadmin" href="#"><b>Jellyfin dashboard</b><span>libraries, plugin, scheduled tasks</span></a>
|
||||
@@ -155,17 +155,15 @@ $('dockurl').textContent = location.origin + '/dock/'; $('gitssh').textContent =
|
||||
$('pills').innerHTML = d.groups.map(g => `<span class="pill">${g}</span>`).join('') || '<span class="pill">no groups yet — ask an admin for a role</span>';
|
||||
const has = g => d.groups.includes(g);
|
||||
const show = (id, on) => $(id).classList.toggle('hidden', !on);
|
||||
// sections appear only for what this account can actually do (the gates check these same groups)
|
||||
const isAdmin = has('admins') || has('authentik Admins');
|
||||
show('s-streamers', has('streamers') || isAdmin);
|
||||
show('s-editors', has('editors') || has('media-admins') || isAdmin);
|
||||
show('s-mediaadmins', has('media-admins') || isAdmin);
|
||||
show('s-git', has('git-users') || has('git-admins') || isAdmin);
|
||||
show('s-bot', has('bot-users') || isAdmin);
|
||||
show('s-streamers', has('streamers'));
|
||||
show('s-editors', has('editors') || has('media-admins'));
|
||||
show('s-mediaadmins', has('media-admins'));
|
||||
show('s-git', has('git-users') || has('git-admins'));
|
||||
show('s-bot', has('bot-users'));
|
||||
show('s-admins', isAdmin);
|
||||
document.querySelectorAll('p.lead[data-group]').forEach(p => {
|
||||
const member = has(p.dataset.group) || (p.dataset.alt && has(p.dataset.alt));
|
||||
p.innerHTML = member ? p.dataset.yes : p.dataset.no;
|
||||
});
|
||||
document.querySelectorAll('p.lead[data-group]').forEach(p => { p.innerHTML = p.dataset.yes; });
|
||||
} catch (e) { $('who').textContent = 'unknown (' + e.message + ')'; }
|
||||
})();
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user