refactor use cases

This commit is contained in:
2025-12-21 01:31:31 +01:00
parent 8ecd638396
commit 22f28728ce
17 changed files with 402 additions and 286 deletions

View File

@@ -1,6 +1,7 @@
'use client';
import React, { createContext, useContext, useMemo, ReactNode } from 'react';
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
import { ServiceFactory } from './ServiceFactory';
// Import all service types
@@ -58,6 +59,15 @@ export interface Services {
penaltyService: PenaltyService;
}
const queryClient = new QueryClient({
defaultOptions: {
queries: {
staleTime: 5 * 60 * 1000, // 5 minutes
gcTime: 10 * 60 * 1000, // 10 minutes
},
},
});
const ServicesContext = createContext<Services | null>(null);
interface ServiceProviderProps {
@@ -98,9 +108,11 @@ export function ServiceProvider({ children }: ServiceProviderProps) {
}, []);
return (
<ServicesContext.Provider value={services}>
{children}
</ServicesContext.Provider>
<QueryClientProvider client={queryClient}>
<ServicesContext.Provider value={services}>
{children}
</ServicesContext.Provider>
</QueryClientProvider>
);
}