diff --git a/apps/web/hooks/contacts/index.ts b/apps/web/hooks/contacts/index.ts index 59a9b65..2c24633 100644 --- a/apps/web/hooks/contacts/index.ts +++ b/apps/web/hooks/contacts/index.ts @@ -1 +1,2 @@ +export * from './query'; export * from './use-customer-contacts'; diff --git a/apps/web/hooks/contacts/query.ts b/apps/web/hooks/contacts/query.ts new file mode 100644 index 0000000..69273a4 --- /dev/null +++ b/apps/web/hooks/contacts/query.ts @@ -0,0 +1,10 @@ +import { getClients, getMasters } from '@/actions/contacts'; +import { useQuery } from '@tanstack/react-query'; + +export const useClientsQuery = () => { + return useQuery({ queryFn: getClients, queryKey: ['contacts', 'clients', 'get'] }); +}; + +export const useMastersQuery = () => { + return useQuery({ queryFn: getMasters, queryKey: ['contacts', 'masters', 'get'] }); +}; diff --git a/apps/web/hooks/contacts/use-customer-contacts.ts b/apps/web/hooks/contacts/use-customer-contacts.ts index 043b41b..f9bb7c2 100644 --- a/apps/web/hooks/contacts/use-customer-contacts.ts +++ b/apps/web/hooks/contacts/use-customer-contacts.ts @@ -1,26 +1,18 @@ 'use client'; -import { getClients, getMasters } from '@/actions/contacts'; +import { useClientsQuery, useMastersQuery } from './query'; import { ContactsFilterContext } from '@/context/contacts-filter'; -import { useQuery } from '@tanstack/react-query'; import { sift } from 'radash'; import { use, useMemo } from 'react'; export function useCustomerContacts() { const { filter } = use(ContactsFilterContext); - const { data: clientsData, isLoading: isLoadingClients } = useQuery({ - queryFn: getClients, - queryKey: ['contacts', 'clients'], - }); + const { data: clientsData, isLoading: isLoadingClients } = useClientsQuery(); + const { data: mastersData, isLoading: isLoadingMasters } = useMastersQuery(); const clients = clientsData?.clients; - - const { data: mastersData, isLoading: isLoadingMasters } = useQuery({ - queryFn: getMasters, - queryKey: ['contacts', 'masters'], - }); - const masters = mastersData?.masters; + const isLoading = isLoadingClients || isLoadingMasters; const contacts = useMemo(() => { switch (filter) { @@ -33,5 +25,5 @@ export function useCustomerContacts() { } }, [clients, masters, filter]); - return { contacts, isLoading: isLoadingClients || isLoadingMasters }; + return { contacts, isLoading }; }