80 lines
No EOL
1.7 KiB
TypeScript
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
|
|
};
|
|
}; |