Загрузка данных


import { useUpdateSearchParams } from '@/shared/hooks';
import { useCallback } from 'react';

export const useSearchUpdater = () => {
  const updateSearchParams = useUpdateSearchParams();

  const resetPage = useCallback(() => {
    updateSearchParams({ paramName: 'offset', value: 0 });
  }, [updateSearchParams]);

  const updateParamAndResetPage = useCallback(
    (paramName: string, value: unknown) => {
      updateSearchParams({ paramName, value });
      resetPage();
    },
    [resetPage, updateSearchParams],
  );

  const updateParamsAndResetPage = useCallback(
    (queryObject: Record<string, unknown>) => {
      updateSearchParams({
        queryObject: {
          ...queryObject,
          offset: 0,
        },
      });
    },
    [updateSearchParams],
  );

  return {
    updateSearchParams,
    resetPage,
    updateParamAndResetPage,
    updateParamsAndResetPage,
  };
};