'use client'; import { useClientsQuery, useMastersQuery } from './query'; import { ContactsFilterContext } from '@/context/contacts-filter'; import { sift } from 'radash'; import { use, useMemo } from 'react'; export function useCustomerContacts() { const { filter } = use(ContactsFilterContext); const { data: clientsData, isLoading: isLoadingClients } = useClientsQuery(); const { data: mastersData, isLoading: isLoadingMasters } = useMastersQuery(); const clients = clientsData?.clients; const masters = mastersData?.masters; const isLoading = isLoadingClients || isLoadingMasters; const contacts = useMemo(() => { switch (filter) { case 'clients': return clients ? sift(clients) : []; case 'masters': return masters ? sift(masters) : []; default: return [...(clients ? sift(clients) : []), ...(masters ? sift(masters) : [])]; } }, [clients, masters, filter]); return { contacts, isLoading }; }