diff --git a/App/teacher.html b/App/teacher.html index b94030a..4bc54cf 100644 --- a/App/teacher.html +++ b/App/teacher.html @@ -2109,6 +2109,7 @@ var IV_CSS = '' + '.iv-hot .iv-dotA{background:var(--ivg);animation:ivblink .55s ease-in-out infinite}.iv-on .iv-dotA{background:var(--ivg);animation:ivblink 1.2s ease-in-out infinite}.iv-mid .iv-dotA{background:var(--ivy);animation:ivblink 2.2s ease-in-out infinite}.iv-off .iv-dotA{background:var(--ivr);opacity:.5}' + '@keyframes ivblink{0%,100%{opacity:1}50%{opacity:.28}}' + '.iv-vl{display:inline-flex;align-items:flex-end;gap:2px;height:18px;justify-self:center}.iv-vl i{width:4px;border-radius:1.5px;min-height:2px}' ++ '.iv-vl i.iv-cap{box-shadow:inset 0 2px 0 0 rgba(255,255,255,.7),0 -2px 0 0 var(--ivr)}' + '.iv-chev{width:15px;height:15px;fill:none;stroke:var(--ivmut);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.45}.iv-prow:hover .iv-chev{opacity:1}' + '.iv-calm{background:#fff;border:1px solid var(--ivline);border-radius:12px;padding:11px 16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:8px}.iv-calm .iv-dot{width:9px;height:9px;border-radius:50%;background:var(--ivg)}.iv-calm b{font-weight:750}.iv-calm .iv-names{font-size:.8rem;color:var(--ivmut)}' + '.iv-legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px 24px;background:#fff;border:1px solid var(--ivline);border-radius:12px;padding:14px 16px;margin-top:6px;font-size:.74rem;color:var(--ivmut)}.iv-legend b{color:#2f3a34}' @@ -2127,13 +2128,15 @@ function ivAkt(status){ var x=m[status]||m.kalt; return ''; } -function ivSpark(secArr, maxSec){ +function ivSpark(secArr, maxSec, cap){ maxSec = maxSec||1; var bars = secArr.map(function(sec){ var frac = sec/maxSec; // 0..1 var h = Math.max(2, Math.round(frac*18)); var cls = sec<=0 ? 'iv-z' : (frac<.2?'iv-r':frac<.4?'iv-o':frac<.62?'iv-y':frac<.82?'iv-li':'iv-g'); - return ''; + var capd = (cap && sec>=cap) ? ' iv-cap' : ''; // Woche am 3-h-Deckel + var tt = capd ? ' title="≥ 3 h – gedeckelt (mehr wird nicht gewertet)"' : ''; + return ''; }).join(''); return ''+bars+''; } @@ -2212,7 +2215,7 @@ function ivBuildOverview(cockpit, weeks, studentsCount, matrix){ h+='
'+IV_ICON[key]+'

'+m[0]+'

'+m[1]+'

'+rows.length+'
'; h+='
ErfolgAktivVerlauf
'; rows.forEach(function(r){ - h+=''; + h+=''; }); h+='
'; }); @@ -2222,7 +2225,7 @@ function ivBuildOverview(cockpit, weeks, studentsCount, matrix){ h+='
' +'
Erfolg Wie gut die Simulation gemeistert wird, 0 – 100 (grün gut … rot schwach). Normiert zwischen Scheitern und „sehr gut".
' +'
Aktuell aktiv Interaktionen der letzten Minuten, live: aktiv teilweise inaktiv
' - +'
Verlauf Aktive Zeit pro Woche, letzte 10 Wochen, gleiches Raster für alle. Farbe = Aktivität der Woche.
' + +'
Verlauf Aktive Zeit pro Woche, letzte 10 Wochen, gleiches Raster für alle. Farbe = Aktivität der Woche. Rote Kappe über einem Balken = bei 3 h gedeckelt (Ausreißer werden nicht überbewertet).
' +'
'; h+=''; return h;