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


import { type AuditRouteSearch } from '@/app/router/routes/audit';
import { useCallback } from 'react';

type Params = {
  searchParams: AuditRouteSearch;
  updateParamAndResetPage: (paramName: string, value: unknown) => void;
};

export const useAuditLocationFilters = ({
  searchParams,
  updateParamAndResetPage,
}: Params) => {
  const setRegionId = useCallback(
    (value: string[]) => {
      updateParamAndResetPage('regionId', value);
    },
    [updateParamAndResetPage],
  );

  const setCityId = useCallback(
    (value: string[]) => {
      updateParamAndResetPage('cityId', value);
    },
    [updateParamAndResetPage],
  );

  const setPlaceId = useCallback(
    (value: string[]) => {
      updateParamAndResetPage('placeId', value);
    },
    [updateParamAndResetPage],
  );

  const setFloorId = useCallback(
    (value: string[]) => {
      updateParamAndResetPage('floorId', value);
    },
    [updateParamAndResetPage],
  );

  const setRoomId = useCallback(
    (value: string[]) => {
      updateParamAndResetPage('roomId', value);
    },
    [updateParamAndResetPage],
  );

  return {
    locationIds: searchParams.locationIds,
    cityId: searchParams.cityId,
    floorId: searchParams.floorId,
    placeId: searchParams.placeId,
    regionId: searchParams.regionId,
    roomId: searchParams.roomId,
    setRegionId,
    setCityId,
    setPlaceId,
    setFloorId,
    setRoomId,
  };
};