zoom-out fallback to default view, pct 3 decimal places

This commit is contained in:
Meleki committed 2026-02-21 15:05:06 +01:00
1 parent 86e4f402ca
commit 1b17a3d4a2
1 file changed
+16 -8
+16 -8
View File
@@ -67,7 +67,7 @@ async function loadView() {
$('range-label').textContent =
`${fmtDate(viewFrom)} - ${fmtDate(viewTo)} (${entryMode ? 'Einträge' : ZOOM_LEVELS[zoomIndex].name})`;
$('btn-zoom-out').disabled = zoomStack.length === 0;
$('btn-zoom-out').disabled = zoomStack.length === 0 && zoomIndex === 0 && !entryMode;
if (entryMode) {
const [entries, summary] = await Promise.all([
@@ -337,12 +337,20 @@ function enterEntryMode(bucketStart, bucketEnd) {
}
function zoomOut() {
if (!zoomStack.length) return;
const prev = zoomStack.pop();
viewFrom = prev.from;
viewTo = prev.to;
zoomIndex = prev.zoom;
entryMode = prev.entry;
if (zoomStack.length) {
const prev = zoomStack.pop();
viewFrom = prev.from;
viewTo = prev.to;
zoomIndex = prev.zoom;
entryMode = prev.entry;
} else {
// Reset to default view
viewTo = new Date();
viewFrom = new Date(viewTo);
viewFrom.setDate(viewFrom.getDate() - ZOOM_LEVELS[0].days);
zoomIndex = 0;
entryMode = false;
}
loadView();
}
@@ -473,5 +481,5 @@ function escAttr(s) {
}
function pct(cost) {
return (cost / WEEKLY_BUDGET * 100).toFixed(2) + '%';
return (cost / WEEKLY_BUDGET * 100).toFixed(3) + '%';
}