Create component select + fix filter

This commit is contained in:
hamid zarghami
2025-12-24 10:51:39 +03:30
parent f0d5082723
commit 85a17e42d1
5 changed files with 218 additions and 35 deletions
+30 -5
View File
@@ -5,8 +5,8 @@ export interface GetOrdersParams {
page?: number;
limit?: number;
search?: string;
status?: string;
deliveryType?: string;
statuses?: string[];
paymentStatus?: string;
}
export interface ChangeOrderStatusParams {
@@ -20,9 +20,34 @@ export interface RefundPaymentParams {
export const getOrders = async (
params?: GetOrdersParams
): Promise<GetOrdersResponse> => {
const { data } = await axios.get<GetOrdersResponse>("/admin/orders", {
params,
});
const queryParams = new URLSearchParams();
if (params?.page) {
queryParams.append('page', params.page.toString());
}
if (params?.limit) {
queryParams.append('limit', params.limit.toString());
}
if (params?.search) {
queryParams.append('search', params.search);
}
if (params?.statuses && Array.isArray(params.statuses) && params.statuses.length > 0) {
params.statuses.forEach((status) => {
queryParams.append('statuses', status);
});
}
if (params?.paymentStatus) {
queryParams.append('paymentStatus', params.paymentStatus);
}
const queryString = queryParams.toString();
const url = queryString ? `/admin/orders?${queryString}` : '/admin/orders';
const { data } = await axios.get<GetOrdersResponse>(url);
return data;
};