Skip to content
Extraits de code Groupes Projets
Valider c12b1d84 rédigé par Brieuc Dubois's avatar Brieuc Dubois
Parcourir les fichiers

Fix #83

parent 89fe386c
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -4,6 +4,8 @@ import { updateMessageAPI, createMessageFeedbackAPI } from '$lib/api/sessions';
import { toastAlert } from '$lib/utils/toasts';
import { get, writable, type Writable } from 'svelte/store';
import Feedback from './feedback';
import { parse } from 'svelte/compiler';
import { parseToLocalDate } from '$lib/utils/date';
export default class Message {
private _id: number;
......@@ -140,7 +142,7 @@ export default class Message {
json.id,
json.message_id,
json.content,
new Date(json.created_at),
parseToLocalDate(json.created_at),
user,
session
);
......
......@@ -11,6 +11,7 @@ import {
import Message from './message';
import config from '$lib/config';
import Feedback from './feedback';
import { parseToLocalDate } from '$lib/utils/date';
const { subscribe, set, update } = writable<Session[]>([]);
......@@ -371,9 +372,9 @@ export default class Session {
json.token,
json.is_active,
[],
new Date(json.created_at),
new Date(json.start_time),
new Date(json.end_time),
parseToLocalDate(json.created_at),
parseToLocalDate(json.start_time),
parseToLocalDate(json.end_time),
json.language
);
......
......@@ -98,3 +98,29 @@ export function displayDuration(start: Date, end: Date): string | null {
if (hours === 0) return minutes + 'm';
else return hours + 'h ' + minutes + 'm';
}
export function parseToLocalDate(dateStr: string): Date {
const isDST = isInDST(new Date(dateStr + 'Z'));
const offset = isDST ? '+02:00' : '+01:00';
return new Date(dateStr + offset);
}
function isInDST(date: Date): boolean {
const year = date.getUTCFullYear();
// Calculate the last Sunday in March
const startOfDST = new Date(Date.UTC(year, 2, 31));
const startDay = startOfDST.getUTCDay();
const lastSundayMarch = 31 - startDay;
const startOfDSTDate = new Date(Date.UTC(year, 2, lastSundayMarch, 1));
// Calculate the last Sunday in October
const endOfDST = new Date(Date.UTC(year, 9, 31));
const endDay = endOfDST.getUTCDay();
const lastSundayOctober = 31 - endDay;
const endOfDSTDate = new Date(Date.UTC(year, 9, lastSundayOctober, 1));
return date >= startOfDSTDate && date < endOfDSTDate;
}
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter