feat: test role switcher in sidebar (admin only) — amber banner when impersonating
This commit is contained in:
parent
d19ce5e8fa
commit
e89b4e5a5c
|
|
@ -18,6 +18,7 @@
|
|||
{{block "header-left" .}}
|
||||
<a href="/app/projects" class="text-2xl font-bold text-white tracking-tight"><span class="text-[#c9a84c]">Deal</span>space</a>
|
||||
{{end}}
|
||||
<div id="testRoleBanner" style="display:none;position:fixed;bottom:0;left:0;right:0;background:#b45309;color:#fff;text-align:center;font-size:12px;padding:3px 0;z-index:999;pointer-events:none"></div>
|
||||
<div class="flex items-center gap-4">
|
||||
{{block "header-right-extra" .}}{{end}}
|
||||
<span id="userName" class="text-sm text-[#94a3b8]"></span>
|
||||
|
|
@ -82,6 +83,22 @@
|
|||
function escHtml(s) { if (!s) return ''; const d = document.createElement('div'); d.textContent = s; return d.innerHTML; }
|
||||
|
||||
// Theme switcher
|
||||
function setTestRole(role) {
|
||||
localStorage.setItem('ds_test_role', role);
|
||||
document.getElementById('testRoleSelect').value = role;
|
||||
// Show banner when impersonating
|
||||
const banner = document.getElementById('testRoleBanner');
|
||||
if (banner) { banner.textContent = role ? '⚠ Viewing as: ' + role : ''; banner.style.display = role ? 'block' : 'none'; }
|
||||
}
|
||||
// Restore test role select on load
|
||||
(function(){
|
||||
const r = localStorage.getItem('ds_test_role') || '';
|
||||
const sel = document.getElementById('testRoleSelect');
|
||||
if (sel) sel.value = r;
|
||||
const banner = document.getElementById('testRoleBanner');
|
||||
if (banner && r) { banner.textContent = '⚠ Viewing as: ' + r; banner.style.display = 'block'; }
|
||||
})();
|
||||
|
||||
function setTheme(t){document.documentElement.setAttribute('data-theme',t);localStorage.setItem('ds_theme',t);document.querySelectorAll('#ds-theme-bar button').forEach(b=>b.classList.toggle('active',b.getAttribute('data-t')===t))}
|
||||
setTheme(localStorage.getItem('ds_theme')||'midnight');
|
||||
</script>
|
||||
|
|
|
|||
Loading…
Reference in New Issue