Tag-Ansicht: pausierte Zeiten bleiben als Verlauf stehen (verschwinden nicht mehr)
live-client loggt Pausen-Spannen (__pauseSpans: {s,e}), live.php reicht sie durch,
renderLiveSummary zeichnet jede als bleibendes halbhohes Segment im Tag-Balken
(offene/laufende Pause blinkt). Fallback fuer Sim-Pause via phase bleibt.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -71,6 +71,8 @@
|
||||
var sessionCapped = false;
|
||||
var paused = false; // Sim-Pause: friert activeMs ein (opt-in)
|
||||
var idleActive = false; // sichtbare Idle-Pause aktiv (Weiter-Overlay)
|
||||
var pauseSpans = []; // Verlauf abgeschlossener Pausen {s,e} (ms-Epoch)
|
||||
var curPauseStart = 0; // Beginn der laufenden Pause (0 = keine)
|
||||
|
||||
function onInteraction() {
|
||||
lastInteractionAt = Date.now();
|
||||
@@ -180,6 +182,10 @@
|
||||
state.__capped = sessionCapped;
|
||||
state.__paused = paused || idleActive;
|
||||
state.__idlePaused = idleActive;
|
||||
// Pausen-Verlauf für die Tag-Ansicht: abgeschlossene Spannen + laufende (offen).
|
||||
state.__pauseSpans = curPauseStart
|
||||
? pauseSpans.concat([{ s: curPauseStart, e: Date.now() }])
|
||||
: pauseSpans.slice();
|
||||
fetch(apiBase + '/live.php', {
|
||||
method: 'POST',
|
||||
headers: { 'Content-Type': 'application/json' },
|
||||
@@ -239,10 +245,16 @@
|
||||
function showIdlePause() {
|
||||
if (idleActive) return;
|
||||
idleActive = true;
|
||||
curPauseStart = Date.now(); // Pausenbeginn merken (für den Tag-Verlauf)
|
||||
ensureIdleOverlay().style.display = 'flex';
|
||||
}
|
||||
function resumeFromIdle() {
|
||||
idleActive = false;
|
||||
if (curPauseStart) {
|
||||
pauseSpans.push({ s: curPauseStart, e: Date.now() });
|
||||
if (pauseSpans.length > 30) pauseSpans.shift(); // Deckel gegen Wildwuchs
|
||||
curPauseStart = 0;
|
||||
}
|
||||
lastInteractionAt = Date.now();
|
||||
lastTickAt = Date.now(); // kein Zeitsprung beim Fortsetzen
|
||||
if (idleOverlay) idleOverlay.style.display = 'none';
|
||||
|
||||
Reference in New Issue
Block a user