From 84386e93d09ed678da7b7c110758a0cd0ae6899c Mon Sep 17 00:00:00 2001 From: Thomas Date: Mon, 20 Jul 2026 14:51:48 +0200 Subject: [PATCH] =?UTF-8?q?Lehrer:=20Default-Klasse=20=3D=20zuletzt=20gew?= =?UTF-8?q?=C3=A4hlte=20(persistent),=20Fallback=20=C3=A4lteste?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.8 --- App/teacher.html | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/App/teacher.html b/App/teacher.html index a003f43..ac502f1 100644 --- a/App/teacher.html +++ b/App/teacher.html @@ -2004,7 +2004,17 @@ async function loadClasses() { opt.value = c.id; opt.textContent = c.name + ' (' + c.school_year + ')'; sel.appendChild(opt); }); - if (!currentClassId) currentClassId = classes[0].id; + // Default-Klasse: zuletzt gewählte (persistent gemerkt), sonst die ÄLTESTE. + if (!currentClassId) { + var saved = null; + try { saved = parseInt(localStorage.getItem('ggs-last-class'), 10); } catch(_) {} + if (saved && classes.some(function(c){ return c.id === saved; })) { + currentClassId = saved; + } else { + var byAge = classes.slice().sort(function(a,b){ return (a.created_at||'') < (b.created_at||'') ? -1 : 1; }); + currentClassId = byAge[0].id; // älteste zuerst + } + } sel.value = currentClassId; currentClass = classes.find(function(c) { return c.id === currentClassId; }); document.getElementById('class-code').textContent = currentClass?.join_code || '—'; @@ -2025,6 +2035,7 @@ async function loadClasses() { function onClassChange() { currentClassId = parseInt(document.getElementById('class-select').value); + try { localStorage.setItem('ggs-last-class', currentClassId); } catch(_) {} // „letzter Aufruf" merken currentClass = allClasses.find(function(c) { return c.id === currentClassId; }); document.getElementById('class-code').textContent = currentClass?.join_code || '—'; loadTab(currentTab);