report
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
import { useQuery } from '@tanstack/react-query';
|
||||
import * as api from '../service/OrderService';
|
||||
import type { GetDailyOrderReportParams } from '../service/OrderService';
|
||||
|
||||
export const useGetDailyOrderReport = (params?: GetDailyOrderReportParams) => {
|
||||
return useQuery({
|
||||
queryKey: ['daily-order-report', params],
|
||||
queryFn: () => api.getDailyOrderReport(params),
|
||||
});
|
||||
};
|
||||
@@ -0,0 +1,37 @@
|
||||
import { useState, useMemo } from 'react';
|
||||
import type { FilterValues } from '@/components/Filters';
|
||||
import type { GetDailyOrderReportParams } from '../service/OrderService';
|
||||
|
||||
export const useDailyOrderReportFilters = () => {
|
||||
const [filters, setFilters] = useState<FilterValues>({
|
||||
sortBy: 'date',
|
||||
});
|
||||
|
||||
const apiParams = useMemo(() => {
|
||||
const params: GetDailyOrderReportParams = {};
|
||||
|
||||
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 GetDailyOrderReportParams['sortBy'];
|
||||
}
|
||||
|
||||
return params;
|
||||
}, [filters]);
|
||||
|
||||
const handleFiltersChange = (newFilters: FilterValues) => {
|
||||
setFilters(newFilters);
|
||||
};
|
||||
|
||||
return {
|
||||
filters,
|
||||
apiParams,
|
||||
handleFiltersChange,
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user