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,
};
};