order report by food

This commit is contained in:
2026-06-18 21:51:39 +03:30
parent 3ba1290e56
commit e89a74035b
13 changed files with 282 additions and 2 deletions
@@ -0,0 +1,10 @@
import { useQuery } from '@tanstack/react-query';
import * as api from '../service/OrderService';
import type { GetFoodOrderReportParams } from '../service/OrderService';
export const useGetFoodOrderReport = (params?: GetFoodOrderReportParams) => {
return useQuery({
queryKey: ['food-order-report', params],
queryFn: () => api.getFoodOrderReport(params),
});
};
@@ -0,0 +1,37 @@
import { useState, useMemo } from 'react';
import type { FilterValues } from '@/components/Filters';
import type { GetFoodOrderReportParams } from '../service/OrderService';
export const useFoodOrderReportFilters = () => {
const [filters, setFilters] = useState<FilterValues>({
sortBy: 'count',
});
const apiParams = useMemo(() => {
const params: GetFoodOrderReportParams = {};
if (filters.from) {
params.from = filters.from as string;
}
if (filters.to) {
params.to = filters.to as string;
}
if (filters.sortBy) {
params.sortBy = filters.sortBy as GetFoodOrderReportParams['sortBy'];
}
return params;
}, [filters]);
const handleFiltersChange = (newFilters: FilterValues) => {
setFilters(newFilters);
};
return {
filters,
apiParams,
handleFiltersChange,
};
};