diff --git a/04_Tablet-Quiz/app/index.html b/04_Tablet-Quiz/app/index.html index 3253a08..9aa465c 100644 --- a/04_Tablet-Quiz/app/index.html +++ b/04_Tablet-Quiz/app/index.html @@ -1199,6 +1199,7 @@ function draw(){ if(S.view!=="run"){ document.body.classList.remove("navOpen","akteOpen","rollenOpen"); } renderCardBadge(); if(S.view==="deck") return renderDeck(); + if(S.view==="mainIntro") return renderMainIntro(); if(S.view==="classify") return renderClassify(); if(S.view==="freigabe") return renderFreigabe(); if(S.view==="entry") return renderEntry(); @@ -1234,13 +1235,41 @@ function renderDeck(){
${cards}
`; $("#panel").querySelectorAll(".deckCard").forEach(el=>{ el.onclick=()=>{ S.service=+el.dataset.s; S.change=0; S.mode="main"; - S.classifyDone=false; S.classifyWrong=null; - S.freigabeDone=false; S.freigabeWrong=null; - S.entryDone=false; S.entryWrong=null; S.bonusDone={}; - S.view="classify"; save(); draw(); }; + S.classifyDone=true; S.classifyWrong=null; + S.freigabeDone=true; S.freigabeWrong=null; + S.entryDone=true; S.entryWrong=null; S.bonusDone={}; + S.view="mainIntro"; save(); draw(); }; }); } +/* ---------- Main-Intro: Major Change — Service wird neu eingeführt ------- */ +function renderMainIntro(){ + const u = USE_CASES[S.service]; + const card = acard(S.service, 0); + const rec = START_EMPFEHLUNG[0]; + const recIndex = STATIONEN.findIndex(s=>s.id===rec.id); + const cardBig = `${card.titel}`; + $("#panel").innerHTML = ` +
Main · ${u.service}
+
+ ${cardBig} +
+
Major Change
+

${card.titel}

+

Worum geht's

+

${card.text}

+

Als Major Change wird der Service neu eingeführt und durchläuft den kompletten Lifecycle ab Design. Die Freigaben fallen unterwegs an den Gates (SOR bzw. Service Owner) an — hier müsst ihr nichts einordnen. Das Einordnen (Change-Art · Freigabe · Einstieg) kommt danach bei den Bonus-Varianten.

+
+
+
+ +
+ +
`; + $("#mainBackDeck").onclick=()=>{ S.view="deck"; save(); draw(); }; + $("#startRun").onclick=()=>{ seedAkte(recIndex); enterStation(recIndex); S.view="run"; save(); draw(); }; +} + /* ---------- Schritt 2+3: Change-Art bestimmen (retry bis richtig) -------- */ function renderClassify(){ const correct = S.change; @@ -1265,13 +1294,13 @@ function renderClassify(){
${choices}
-
`; +
`; $("#panel").querySelectorAll(".choice").forEach(el=>{ el.onclick=()=>{ const i=+el.dataset.i; if(i===correct){ S.classifyWrong=null; S.classifyDone=true; } else { S.classifyWrong=i; } save(); renderClassify(); }; }); - $("#backDeck").onclick=()=>{ S.view="deck"; save(); draw(); }; + $("#backDeck").onclick=()=>{ S.view="bonusPick"; save(); draw(); }; } else { $("#panel").innerHTML = `
Aufgabe 1 · Change-Art ✓
@@ -1286,11 +1315,11 @@ function renderClassify(){
- +
`; - $("#backDeck").onclick=()=>{ S.view="deck"; save(); draw(); }; + $("#backDeck").onclick=()=>{ S.view="bonusPick"; save(); draw(); }; $("#toFreigabe").onclick=()=>{ S.view="freigabe"; S.freigabeDone=false; S.freigabeWrong=null; save(); draw(); }; } } diff --git a/04_Tablet-Quiz/app/sw.js b/04_Tablet-Quiz/app/sw.js index c818a76..3a0baba 100644 --- a/04_Tablet-Quiz/app/sw.js +++ b/04_Tablet-Quiz/app/sw.js @@ -1,5 +1,5 @@ /* Service Worker — SLC-Workshop Companion (App-Shell, offline-first) */ -const CACHE = "slc-companion-v19"; +const CACHE = "slc-companion-v20"; const SHELL = ["./", "index.html", "manifest.webmanifest", "icon.svg"]; // Action-Card-Grafiken (cards/s-c.png) fuer Offline vorab cachen (alle 30). const CARDS = [];