A try of overhauling the frontend tests, bailed after 24h+

This commit is contained in:
2026-06-11 09:09:02 +02:00
parent a9e1e96622
commit bb58389675
33 changed files with 3257 additions and 275 deletions
+2
View File
@@ -1,6 +1,8 @@
import { useContext } from 'react';
import { SettingsContext } from './SettingsProvider';
console.log('useSettings.ts loaded');
export function useSettings() {
const context = useContext(SettingsContext);
if (context === undefined) {
+12 -11
View File
@@ -12,7 +12,7 @@ export function useSleepSession() {
});
const createMutation = useMutation({
mutationFn: createSession,
mutationFn: (args) => createSession(args),
onSuccess: () => {
queryClient.invalidateQueries({ queryKey: ['activeSession'] });
queryClient.invalidateQueries({ queryKey: ['sessions'] });
@@ -20,8 +20,7 @@ export function useSleepSession() {
});
const endMutation = useMutation({
mutationFn: ({ sessionId, endTime }: { sessionId: number; endTime: string }) =>
endSession(sessionId, { end_time: endTime }),
mutationFn: (args) => endSession(args.sessionId, { end_time: args.endTime }),
onSuccess: () => {
queryClient.invalidateQueries({ queryKey: ['activeSession'] });
queryClient.invalidateQueries({ queryKey: ['sessions'] });
@@ -48,19 +47,19 @@ export function useSessions() {
});
const deleteMutation = useMutation({
mutationFn: deleteSession,
mutationFn: (id) => deleteSession(id),
onSuccess: () => {
queryClient.invalidateQueries({ queryKey: ['sessions'] });
},
});
const updateMutation = useMutation({
mutationFn: ({ sessionId, payload }: { sessionId: number; payload: import('../types').SleepSessionUpdate }) =>
updateSession(sessionId, payload),
onSuccess: () => {
queryClient.invalidateQueries({ queryKey: ['sessions'] });
},
});
const updateMutation = useMutation({
mutationFn: ({ sessionId, payload }: { sessionId: number; payload: import('../types').SleepSessionUpdate }) =>
updateSession(sessionId, payload),
onSuccess: () => {
queryClient.invalidateQueries({ queryKey: ['sessions'] });
},
});
return {
sessions: sessionsQuery.data?.sessions || [],
@@ -71,3 +70,5 @@ export function useSessions() {
updateSession: updateMutation.mutateAsync,
};
}
+8
View File
@@ -1,3 +1,4 @@
import { useMemo } from 'react';
import { useQuery } from '@tanstack/react-query';
import { fetchDailySummary, fetchTimetable, fetchWakeSleepTimes, fetchSummary } from '../api/client';
import type { DailySummaryResponse, TimetableResponse, WakeupBedtimeResponse, SummaryResponse } from '../types';
@@ -38,5 +39,12 @@ export function useStats(
timetable: timetableQuery.data,
wakeupBedtime: wakeupBedtimeQuery.data,
isLoading: dailySummaryQuery.isLoading || timetableQuery.isLoading || wakeupBedtimeQuery.isLoading,
error: dailySummaryQuery.error || timetableQuery.error || wakeupBedtimeQuery.error,
transformedDailySummary: dailySummaryQuery.data?.days ? dailySummaryQuery.data.days.map(day => ({
date: day.date,
daySleep: day.day_minutes / 60,
nightSleep: day.night_minutes / 60,
total: day.total_minutes / 60,
})) : null,
};
}