v0.2.11-beta: aparte ⚙️-knop voor Instellingen in de werkbalk
All checks were successful
dev - build & deploy naar test / build-and-deploy (push) Successful in 11s

- Instellingen opende voorheen alleen via de bestaande 👤-knop, zonder enig visueel signaal in de werkbalk dat daar iets veranderd was
- Nieuwe ⚙️-knop (zichtbaar zodra je bent ingelogd) opent Instellingen rechtstreeks; de 👤-knop blijft dit ook doen zodra je bent ingelogd

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Ramon 2026-07-13 15:46:06 +02:00
parent 7b6621ff9c
commit 8a3bf1e8fc
2 changed files with 10 additions and 5 deletions

View file

@ -24,6 +24,7 @@
<button class="tbtn ghost" id="btnFolders">📁</button>
<button class="tbtn ghost" id="btnSave">💾 <span data-i18n="saveBoard"></span></button>
<button class="tbtn ghost" id="btnUser">👤 <span id="userLbl"></span></button>
<button class="tbtn ghost" id="btnSettings" style="display:none;">⚙️</button>
<button class="tbtn ghost" id="btnAdmin" style="display:none;">👥</button>
<div id="langToggle">
<button data-lang="nl">NL</button>

View file

@ -373,6 +373,9 @@ const roleKey = r => r==="super" ? "roleSuper" : r==="admin" ? "roleAdmin" : r==
function updateUserUI(){
document.getElementById("userLbl").textContent = currentUser ? currentUser.displayName : T("login");
document.getElementById("btnUser").classList.toggle("on", !!currentUser);
const settingsBtn = document.getElementById("btnSettings");
settingsBtn.style.display = currentUser ? "" : "none";
settingsBtn.title = T("settingsTitle");
const adminBtn = document.getElementById("btnAdmin");
adminBtn.style.display = can("admin.access") ? "" : "none";
adminBtn.title = T("beheer");
@ -399,17 +402,18 @@ async function loadSchools(){
list.map(x=>`<option value="${x.id}">${x.name.replace(/</g,"&lt;")}</option>`).join("");
}catch(e){ sel.innerHTML = `<option value="">${T("schoolSel")}</option>`; }
}
document.getElementById("btnUser").addEventListener("click", ()=>{
if(currentUser){
function openSettings(){
settingsMsg.textContent = ""; settingsMsg.classList.remove("ok");
settingsWrap.classList.add("open");
return;
}
}
document.getElementById("btnUser").addEventListener("click", ()=>{
if(currentUser){ openSettings(); return; }
loginMsg.textContent = ""; loginMsg.classList.remove("ok");
switchLoginTab("login");
loadSchools();
loginWrap.classList.add("open");
});
document.getElementById("btnSettings").addEventListener("click", openSettings);
loginWrap.addEventListener("click", e=>{ if(e.target===loginWrap) loginWrap.classList.remove("open"); });
settingsWrap.addEventListener("click", e=>{ if(e.target===settingsWrap) settingsWrap.classList.remove("open"); });