utc dates

This commit is contained in:
Fran Jurmanović
2025-05-29 01:27:46 +02:00
parent eecd2794a0
commit 93b5cfb331
4 changed files with 17 additions and 5 deletions

7
package-lock.json generated
View File

@@ -9,6 +9,7 @@
"version": "0.0.1",
"dependencies": {
"@date-fns/tz": "^1.2.0",
"@date-fns/utc": "^2.1.0",
"chart.js": "^4.4.9",
"chartjs-adapter-date-fns": "^3.0.0",
"date-fns": "^4.1.0",
@@ -78,6 +79,12 @@
"integrity": "sha512-LBrd7MiJZ9McsOgxqWX7AaxrDjcFVjWH/tIKJd7pnR7McaslGYOP1QmmiBXdJH/H/yLCT+rcQ7FaPBUxRGUtrg==",
"license": "MIT"
},
"node_modules/@date-fns/utc": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@date-fns/utc/-/utc-2.1.0.tgz",
"integrity": "sha512-176grgAgU2U303rD2/vcOmNg0kGPbhzckuH1TEP2al7n0AQipZIy9P15usd2TKQCG1g+E1jX/ZVQSzs4sUDwgA==",
"license": "MIT"
},
"node_modules/@esbuild/aix-ppc64": {
"version": "0.24.2",
"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.2.tgz",

View File

@@ -45,6 +45,7 @@
},
"dependencies": {
"@date-fns/tz": "^1.2.0",
"@date-fns/utc": "^2.1.0",
"chart.js": "^4.4.9",
"chartjs-adapter-date-fns": "^3.0.0",
"date-fns": "^4.1.0",

View File

@@ -1,7 +1,7 @@
<script lang="ts">
import Chart from 'chart.js/auto';
import { onMount, onDestroy } from 'svelte';
import { compareAsc } from 'date-fns';
import { compareAsc, isSameDay } from 'date-fns';
import { formatInTimeZone } from 'date-fns-tz';
import 'chartjs-adapter-date-fns';
import type { StateHistory } from '$models/config';
@@ -230,16 +230,18 @@
if (!acc[date]) {
acc[date] = {
count: 0,
sessions: [session]
sessions: []
};
}
// Check if this session is part of a sequence
if (index > 0) {
const prevSession = stateHistory[index - 1];
const prevDate = formatDate(prevSession.dateCreated, 'yyyy-MM-dd');
if (date === prevDate && prevSession.session === session.session) {
if (
isSameDay(session.dateCreated, prevSession.dateCreated) &&
prevSession.session === session.session
) {
return acc;
}
}
@@ -261,6 +263,7 @@
const sortedEntries = Object.entries(dailyActivity).sort(
([a], [b]) => new Date(a).getTime() - new Date(b).getTime()
);
console.log(sortedEntries);
return {
labels: sortedEntries.map(([date]) => formatDate(date, 'MMM dd')),

View File

@@ -7,12 +7,13 @@ import type { RequestEvent } from '@sveltejs/kit';
import { configFile, type Config, type Session } from '$models/config';
import { set } from 'lodash-es';
import { subDays, formatISO } from 'date-fns';
import { UTCDate } from '@date-fns/utc';
export const load = async (event: RequestEvent) => {
const isAuth = await checkAuth(event);
if (!isAuth) return redirect(308, '/login');
if (!event.params.id) return redirect(308, '/dashboard');
const today = new Date();
const today = new UTCDate();
const endDate = formatISO(today);
const startDate = formatISO(subDays(today, 30));