This commit is contained in:
team3
2026-06-18 12:22:34 +02:00
parent b8f08ed71b
commit 3df5976d3d
2 changed files with 36 additions and 45 deletions

View File

@@ -1,9 +1,25 @@
// Session-Cache für den Prüfungs-Verlauf pro Baustein.
// Lebt als Modul-Map: überlebt das Remounten von BausteinPanel (Baustein-Wechsel,
// Fokus schließen/öffnen), geht aber bei Page-Reload verloren — bewusst kein DB-Aufwand.
// Geteilter Prüfungs-State pro Baustein.
// Die durablen Refs leben hier als Modul-Map: alle BausteinPanel-Instanzen desselben
// Bausteins nutzen DIESELBEN Refs. So überlebt der Verlauf das Remounten (Baustein-
// Wechsel, Fokus zu/auf) UND eine spät eintreffende Frage ist sofort reaktiv sichtbar.
// Geht bei Page-Reload verloren (Modul re-init) — bewusst kein DB-Aufwand.
import { ref } from 'vue'
const store = new Map() // key "topic::baustein" -> { messages, phase, aktuelleFrage, letztesFeedback, scoreVorFrage, streakVorFrage }
export const getPruef = (key) => store.get(key)
export const setPruef = (key, val) => store.set(key, val)
export function usePruefSlot(key) {
if (!store.has(key)) {
store.set(key, {
messages: ref([]),
phase: ref('idle'),
aktuelleFrage: ref(''),
letztesFeedback: ref(''),
scoreVorFrage: ref(0),
streakVorFrage: ref(0),
})
}
return store.get(key)
}
export const clearPruef = (key) => store.delete(key)