diff --git a/portal/templates/layouts/app.html b/portal/templates/layouts/app.html index c60a05a..d1a0d1b 100644 --- a/portal/templates/layouts/app.html +++ b/portal/templates/layouts/app.html @@ -18,6 +18,7 @@ {{block "header-left" .}} Dealspace {{end}} +
{{block "header-right-extra" .}}{{end}} @@ -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');