// 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
  };
};