|
|
|
|
@ -3,6 +3,7 @@ import { useMutation, useQuery } from "@tanstack/react-query";
|
|
|
|
|
import { STATUSES } from "./config";
|
|
|
|
|
import { usePointSelection } from "./stores/usePointSelection";
|
|
|
|
|
import { RANGE_FILTERS_KEYS, usePendingPointsFilters } from "./stores/usePendingPointsFilters";
|
|
|
|
|
import {fieldHasChanged} from "./utils.js";
|
|
|
|
|
|
|
|
|
|
export const BASE_URL = import.meta.env.VITE_API_URL;
|
|
|
|
|
|
|
|
|
|
@ -70,24 +71,45 @@ export const useGetTotalInitialPointsCount = () => {
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export const useGetFilteredPendingPointsCount = () => {
|
|
|
|
|
const { filters } = usePendingPointsFilters();
|
|
|
|
|
const { prediction, categories, region } = filters;
|
|
|
|
|
const { filters, ranges } = usePendingPointsFilters();
|
|
|
|
|
const {
|
|
|
|
|
prediction,
|
|
|
|
|
categories,
|
|
|
|
|
region,
|
|
|
|
|
} = filters;
|
|
|
|
|
const {
|
|
|
|
|
selection: { included },
|
|
|
|
|
} = usePointSelection();
|
|
|
|
|
|
|
|
|
|
const includedIds = [...included];
|
|
|
|
|
|
|
|
|
|
const getParams = () => {
|
|
|
|
|
let tempParams = {
|
|
|
|
|
page: 1,
|
|
|
|
|
page_size: 1,
|
|
|
|
|
"prediction_current[]": prediction,
|
|
|
|
|
"status[]": [STATUSES.pending],
|
|
|
|
|
"categories[]": categories,
|
|
|
|
|
"included[]": includedIds,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
RANGE_FILTERS_KEYS.map((filterKey) => {
|
|
|
|
|
if (!fieldHasChanged(filters, ranges, filterKey).result) return;
|
|
|
|
|
tempParams = {
|
|
|
|
|
...tempParams,
|
|
|
|
|
[`${filterKey}__gt`]: filters[`${filterKey}__gt`] - 1,
|
|
|
|
|
[`${filterKey}__lt`]: filters[`${filterKey}__lt`] + 1,
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
return tempParams;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return useQuery(
|
|
|
|
|
["filtered-points", filters, includedIds],
|
|
|
|
|
async () => {
|
|
|
|
|
const params = new URLSearchParams({
|
|
|
|
|
page: 1,
|
|
|
|
|
page_size: 1,
|
|
|
|
|
"prediction_current[]": prediction,
|
|
|
|
|
"status[]": [STATUSES.pending],
|
|
|
|
|
"categories[]": categories,
|
|
|
|
|
"included[]": includedIds,
|
|
|
|
|
...getParams()
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
return await getPoints(params, region);
|
|
|
|
|
|