import { skipToken } from '@reduxjs/toolkit/query'; import { useAppSelector } from 'app/store/storeHooks'; import { selectMetadataFetchDebounce } from 'features/system/store/configSlice'; import { useGetImageMetadataQuery } from 'services/api/endpoints/images'; import { useDebounce } from 'use-debounce'; export const useDebouncedMetadata = (imageName?: string | null) => { const metadataFetchDebounce = useAppSelector(selectMetadataFetchDebounce); const [debouncedImageName] = useDebounce(imageName, metadataFetchDebounce); const { data: metadata, isLoading } = useGetImageMetadataQuery(debouncedImageName ?? skipToken); return { metadata, isLoading }; };