roshikhan301's picture
Upload 2113 files
8a37e0a verified
import { enqueueRequested } from 'app/store/actions';
import { useAppDispatch, useAppSelector } from 'app/store/storeHooks';
import { useIsReadyToEnqueue } from 'common/hooks/useIsReadyToEnqueue';
import { selectActiveTab } from 'features/ui/store/uiSelectors';
import { useCallback } from 'react';
import { useEnqueueBatchMutation } from 'services/api/endpoints/queue';
export const useInvoke = () => {
const dispatch = useAppDispatch();
const tabName = useAppSelector(selectActiveTab);
const { isReady } = useIsReadyToEnqueue();
const [_, { isLoading }] = useEnqueueBatchMutation({
fixedCacheKey: 'enqueueBatch',
});
const queueBack = useCallback(() => {
if (!isReady) {
return;
}
dispatch(enqueueRequested({ tabName, prepend: false }));
}, [dispatch, isReady, tabName]);
const queueFront = useCallback(() => {
if (!isReady) {
return;
}
dispatch(enqueueRequested({ tabName, prepend: true }));
}, [dispatch, isReady, tabName]);
return { queueBack, queueFront, isLoading, isDisabled: !isReady };
};