import { addSearchEntryMutationOptions } from "@/shared/search-entries/mutation-options"; import { getPlooginsSettingsQueryOptions } from "@/shared/site-settings/query-options"; import { getSearchPluginsQueryOptions } from "@/shared/ploogins-search/query-options"; import useSearchStore from "@/stores/searchStore"; import { useMutation, useQuery } from "@tanstack/react-query"; import { useEffect } from "@wordpress/element"; export const useSearch = () => { const { query } = useSearchStore() const { data: settings } = useQuery(getPlooginsSettingsQueryOptions()) const { data, isFetching, dataUpdatedAt } = useQuery(getSearchPluginsQueryOptions(query, settings ?? {})) const addSearchEntryMutation = useMutation(addSearchEntryMutationOptions()) useEffect(() => { if (data && data.plugins.length > 0 && !isFetching) { const searchEntry: SearchEntry = { query: query, } addSearchEntryMutation.mutate(searchEntry) } }, [dataUpdatedAt]) return { query, data, isFetching, dataUpdatedAt, } }