roles guard + docs + logo
This commit is contained in:
+23
-1
@@ -785,4 +785,26 @@ function set_btn_state(selector, enabled, hint) {
|
||||
.prop('disabled', true)
|
||||
.attr('title', hint || '');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var ROLE_RANK = { viewer: 0, staff: 1, admin: 2, owner: 3 };
|
||||
|
||||
function apply_role_ui() {
|
||||
var role = document.getElementById('session-context')?.dataset.role || 'viewer';
|
||||
var rank = ROLE_RANK[role] ?? 0;
|
||||
|
||||
$('[data-min-role]').each(function() {
|
||||
var required = ROLE_RANK[$(this).data('min-role')] ?? 99;
|
||||
if (rank < required) $(this).hide();
|
||||
});
|
||||
}
|
||||
|
||||
$(function() {
|
||||
apply_role_ui();
|
||||
if (window.MutationObserver) {
|
||||
var roleObserver = new MutationObserver(function() {
|
||||
apply_role_ui();
|
||||
});
|
||||
roleObserver.observe(document.body, { childList: true, subtree: true });
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user