diff --git a/lib/ranges.ts b/lib/ranges.ts index b612ba5..4c049b6 100644 --- a/lib/ranges.ts +++ b/lib/ranges.ts @@ -20,7 +20,8 @@ const DAY_MS = 24 * HOUR_MS; * - 24h: ohne date -> rollierend die letzten 24h ab jetzt (1 Balken/Stunde) * mit date -> dieser Kalendertag 00:00-24:00 * - 7d: 7 Tage endend am gewaehlten Tag (Default heute), 1 Balken/Stunde - * - 31d: kompletter gewaehlter Monat (Default aktueller Monat), 1 Balken/Tag + * - 31d: aktueller Monat (Default) -> rollierend die letzten 31 Tage endend heute; + * ein konkret gewaehlter (vergangener) Monat -> dieser Kalendermonat. 1 Balken/Tag * - 365d: komplettes gewaehltes Jahr (Default aktuelles Jahr), 1 Balken/Tag */ export function resolveRange( @@ -50,6 +51,16 @@ export function resolveRange( const { year, month } = params.month ? parseMonth(params.month) : { year: now.getFullYear(), month: now.getMonth() }; + + // Default/laufender Monat: rollierend die letzten 31 Tage endend heute + // (analog zu 24h). Tagesgrenzen lokal via Datums-Arithmetik -> DST-sicher. + if (year === now.getFullYear() && month === now.getMonth()) { + const stop = new Date(now.getFullYear(), now.getMonth(), now.getDate() + 1); // Beginn morgen + const start = new Date(now.getFullYear(), now.getMonth(), now.getDate() + 1 - 31); + return { start, stop, every: '1d', source: 'rollup' }; + } + + // Konkret gewaehlter (vergangener) Monat: kompletter Kalendermonat const start = new Date(year, month, 1); const stop = new Date(year, month + 1, 1); return { start, stop, every: '1d', source: 'rollup' }; diff --git a/package.json b/package.json index 47b48ab..ce2f864 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "strom-next", - "version": "1.0.0", - "versiondate": "2026-06-28", + "version": "1.1.0", + "versiondate": "2026-07-01", "private": true, "scripts": { "dev": "next dev",