diff --git a/App/teacher.html b/App/teacher.html
index 965d9d8..b53dfef 100644
--- a/App/teacher.html
+++ b/App/teacher.html
@@ -2725,6 +2725,29 @@ var IV_ICON={
idle:''};
var IV_META={support:['Fördern','zuletzt schwächere Läufe','--ivns'],more:['Fordern','zuletzt sicher, kaum gefordert','--ivnm'],
work:['Begleiten','zuletzt viel gearbeitet, wenig Ertrag','--ivnw'],good:['Bestätigen','zuletzt besser geworden','--ivngd'],idle:['Nicht aktiv','länger nicht mehr dran (oder noch nie)','--ivni']};
+var IV_WEEK_CAP = 10800; // eine Woche zählt max. 3 h aktive Zeit (Ausreißer-Schutz)
+
+// Rendert die 5 Triage-Karten (support/more/work/good/idle) aus fertigen Gruppen.
+// Wiederverwendet für „HEUTE" und „insgesamt". todayMode passt Untertitel/Tooltips an.
+function _ivTriageCards(groups, maxSec, todayMode){
+ var h='
';
+ ['support','more','work','good','idle'].forEach(function(key){
+ var rows=groups[key], m=IV_META[key];
+ var sub=(todayMode && key==='idle')?'heute noch nicht dran':m[1];
+ h+='
';
+ return h;
+}
// Triage NUR aus der AKTUELLEN Leistung (Empfehlung = Reaktion auf das Zuletzt-
// Gesehene, kein Allzeit-Rückblick): recentErfolg = Ø letzte 3 Läufe, daysSince =
@@ -2762,13 +2785,13 @@ function _todayHelpReason(simId, st){
}
return 'stockt · braucht evtl. Hilfe';
}
-function ivBuildOverview(cockpit, weeks, studentsCount, matrix){
+function ivBuildOverview(cockpit, weeks, studentsCount, matrix, todaySummary){
ivInjectCss();
var cs = (cockpit && cockpit.students) || [];
var sc = (cockpit && cockpit.statusCounts) || {};
// Verlauf-Map je Schüler. CAP gegen Ausreißer (z. B. Zwischenspeicher-Logs
- // mit aufgeblähter duration): eine Woche zählt max. 3 h aktive Zeit.
- var IV_WEEK_CAP=10800, wById={}, maxSec=1;
+ // mit aufgeblähter duration): eine Woche zählt max. 3 h aktive Zeit (IV_WEEK_CAP).
+ var wById={}, maxSec=1;
((weeks&&weeks.students)||[]).forEach(function(w){ wById[w.studentId]=w; });
// Plays je Schüler aus Matrix
var playsById={};
@@ -2830,23 +2853,38 @@ function ivBuildOverview(cockpit, weeks, studentsCount, matrix){
h+='
Simulationen
'+simTotal+'
Durchläufe insgesamt
';
h+='';
// Triage
- var need=groups.support.length+groups.more.length+groups.work.length+groups.good.length+groups.idle.length;
- h+='
Empfohlene Aktivität für dich.'+need+' von '+studentsCount+'
';
- ['support','more','work','good','idle'].forEach(function(key){
- var rows=groups[key];
- var m=IV_META[key];
- h+='