Mitmachspiele

GRÜNE Neukölln – Mitmach-Spiele
🔄
Bitte halte das Gerät quer

🌻 GRÜNE Neukölln – Mitmach-Spiele

Wähle ein Spiel – tippen startet im Vollbild.

Tipp: Ein Spiel öffnet im Vollbild – oben links kommst du über „← Mitmachspiele“ jederzeit zurück zur Auswahl.

GRÜNE Neukölln – Mitmach-Spiele
🔄
Bitte halte das Gerät quer

🌻 GRÜNE Neukölln – Mitmach-Spiele

Wähle ein Spiel – tippen startet im Vollbild.

Tipp: Ein Spiel öffnet im Vollbild – oben links kommst du über „← Mitmachspiele“ jederzeit zurück zur Auswahl.

}; const launcher=document.getElementById("launcher"); const stage=document.getElementById("stage"); const frame=document.getElementById("frame"); const appTitle=document.getElementById("appTitle"); function decode(b64){ const bin=atob(b64); const u=new Uint8Array(bin.length); for(let i=0;i{}); }catch(e){} } function goFullscreen(){ const el=document.documentElement; const rf=el.requestFullscreen||el.webkitRequestFullscreen||el.mozRequestFullScreen; if(rf && !(document.fullscreenElement||document.webkitFullscreenElement)){ try{ const p=rf.call(el); (p&&p.then)?p.then(lockLandscape).catch(()=>{}):lockLandscape(); }catch(e){} } else lockLandscape(); } function exitFullscreen(){ const ef=document.exitFullscreen||document.webkitExitFullscreen||document.mozCancelFullScreen; if(ef && (document.fullscreenElement||document.webkitFullscreenElement)){ try{ ef.call(document); }catch(e){} } } function openApp(key){ const app=APPS[key]; if(!app) return; goFullscreen(); frame.srcdoc=decode(app.b64); appTitle.textContent=app.title; launcher.classList.add("hidden"); stage.classList.remove("hidden"); } function backToMenu(){ frame.srcdoc=""; // unload current app (stops its loop) stage.classList.add("hidden"); launcher.classList.remove("hidden"); } document.querySelectorAll(".tile").forEach(function(b){ b.addEventListener("click", function(){ openApp(b.dataset.app); }); }); document.getElementById("btnBack").addEventListener("click", backToMenu); window.addEventListener("message", function(e){ if(e&&e.data&&(e.data.kiezEntsiegeln==="home"||e.data==="backToHub")) backToMenu(); }); function fsActive(){return !!(document.fullscreenElement||document.webkitFullscreenElement);} function fsToggle(){ if(fsActive()) exitFullscreen(); else goFullscreen(); } function updateFsLabel(){ var b=document.getElementById("btnExitFs"); if(b) b.textContent=fsActive()?"⛶ Vollbild beenden":"⛶ Vollbild"; } document.getElementById("btnExitFs").addEventListener("click", fsToggle); document.addEventListener("fullscreenchange", updateFsLabel); document.addEventListener("webkitfullscreenchange", updateFsLabel); updateFsLabel(); if(!(document.fullscreenEnabled||document.webkitFullscreenEnabled)){ var _x=document.getElementById("btnExitFs"); if(_x) _x.style.display="none"; } })();