espace-paie-odentas/hooks/useDemoData.ts
2025-10-12 17:05:46 +02:00

80 lines
No EOL
1.7 KiB
TypeScript

// hooks/useDemoData.ts
'use client';
import { useDemoMode } from './useDemoMode';
import {
DEMO_CONTRACTS,
DEMO_PAYSLIPS,
DEMO_EMPLOYEES,
DEMO_USER,
DEMO_ORGANIZATION,
searchDemoData
} from '@/lib/demo-data';
// Hook pour récupérer les contrats en mode démo
export const useDemoContracts = () => {
const { isDemoMode } = useDemoMode();
return {
data: isDemoMode ? DEMO_CONTRACTS : null,
isLoading: false,
error: null,
isDemoMode
};
};
// Hook pour récupérer les bulletins de paie en mode démo
export const useDemoPayslips = () => {
const { isDemoMode } = useDemoMode();
return {
data: isDemoMode ? DEMO_PAYSLIPS : null,
isLoading: false,
error: null,
isDemoMode
};
};
// Hook pour récupérer les employés en mode démo
export const useDemoEmployees = () => {
const { isDemoMode } = useDemoMode();
return {
data: isDemoMode ? DEMO_EMPLOYEES : null,
isLoading: false,
error: null,
isDemoMode
};
};
// Hook pour récupérer les informations utilisateur en mode démo
export const useDemoUser = () => {
const { isDemoMode } = useDemoMode();
return {
data: isDemoMode ? {
...DEMO_USER,
active_org_id: DEMO_ORGANIZATION.id,
active_org_name: DEMO_ORGANIZATION.name,
active_org_api_name: DEMO_ORGANIZATION.api_name,
is_staff: false
} : null,
isLoading: false,
error: null,
isDemoMode
};
};
// Hook pour la recherche en mode démo
export const useDemoSearch = (query: string) => {
const { isDemoMode } = useDemoMode();
const results = isDemoMode && query ? searchDemoData(query) : [];
return {
data: isDemoMode ? results : null,
isLoading: false,
error: null,
isDemoMode
};
};