Fix: Welten-Config — Sicherheitsnetz entfernt (Rolle-Chips ausblendbar), Duplikat-Schutz (SW by-v778)

This commit is contained in:
rene 2026-05-08 15:27:03 +02:00
parent 9fd146440f
commit 5664616a2a
5 changed files with 12 additions and 16 deletions

View file

@ -3,7 +3,7 @@
Router, State-Management, Navigation, Initialisierung.
============================================================ */
const APP_VER = '777'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen
const APP_VER = '778'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen
const APP_VERSION = '1.5.0'; // ← semantische Version, wird bei make release gesetzt
const IS_STAGING = location.hostname === 'staging.banyaro.app';
// Cache-Bust-Parameter nach Update-Reload sofort entfernen

View file

@ -640,18 +640,14 @@ window.Worlds = (() => {
}
function _chipsForWorld(world) {
const pages = _getConfig()[world] || _DEFAULT_CONFIG[world];
// Alle Chips filtern — _chipAllowed entscheidet ob angezeigt
const chips = pages.map(_chipMeta).filter(c => c && _chipAllowed(c));
// Sicherheitsnetz: Rolle-gebundene Chips aus Default einfügen wenn berechtigt
// (aber noch nicht in persönlicher Config) — _chipAllowed() entscheidet für alle
const alreadyIn = new Set(chips.map(c => c.page));
for (const page of (_DEFAULT_CONFIG[world] || [])) {
if (alreadyIn.has(page)) continue;
const meta = _chipMeta(page);
if (!meta?.role) continue; // nur role-gebundene Chips
if (_chipAllowed(meta)) { chips.push(meta); alreadyIn.add(page); }
}
const cfg = _getConfig();
const pages = cfg[world] || _DEFAULT_CONFIG[world];
// Deduplizieren + filtern — _chipAllowed entscheidet ob angezeigt
const seen = new Set();
const chips = pages
.filter(p => { if (seen.has(p)) return false; seen.add(p); return true; })
.map(_chipMeta)
.filter(c => c && _chipAllowed(c));
return chips;
}