From dd19c00948b4342b524aecbeea15450cbe351e12 Mon Sep 17 00:00:00 2001 From: morteza-mortezai Date: Fri, 26 Jun 2026 11:35:17 +0330 Subject: [PATCH] up --- src/config/statusRegistry.ts | 7 +--- src/pages/request/MyRequests.tsx | 39 +++++++-------------- src/pages/request/enum/RequestEnum.ts | 11 ------ src/pages/request/hooks/useRequestData.ts | 7 ++-- src/pages/request/service/RequestService.ts | 19 ++-------- src/pages/request/type/Types.ts | 2 -- 6 files changed, 18 insertions(+), 67 deletions(-) diff --git a/src/config/statusRegistry.ts b/src/config/statusRegistry.ts index e58b32d..7e2361d 100644 --- a/src/config/statusRegistry.ts +++ b/src/config/statusRegistry.ts @@ -1,5 +1,4 @@ import { OrderStatusEnum } from '@/pages/order/enum/OrderEnum' -import { RequestStatusEnum } from '@/pages/request/enum/RequestEnum' import { ProformaInvoiceStatusEnum } from '@/pages/invoice/enum/InvoiceEnum' import { PaymentStatusEnum } from '@/pages/payment/enum/Enum' @@ -17,10 +16,6 @@ export type StatusConfig = { * برای اضافه کردن وضعیت جدید: یک کلید (مقدار enum یا string از API) و مقدار { label, variant } بگذار. */ export const statusRegistry: Record = { - // --- RequestStatusEnum --- - [RequestStatusEnum.PENDING]: { label: 'در انتظار تایید', variant: 'warning' }, - // INVOICED shared with OrderStatusEnum (same value 'invoiced') — see OrderStatusEnum.INVOICED below - // --- ProformaInvoiceStatusEnum --- [ProformaInvoiceStatusEnum.ALL]: { label: 'همه', variant: 'neutral' }, [ProformaInvoiceStatusEnum.NOT_CONFIRMED]: { label: 'تایید نشده', variant: 'warning' }, @@ -44,7 +39,7 @@ export const statusRegistry: Record = { [OrderStatusEnum.CANCELED]: { label: 'لغو شده', variant: 'error' }, // --- PaymentStatusEnum --- - // Pending shared with RequestStatusEnum.PENDING and ticket (same value 'pending') — see above and ticket section + // Pending shared with ticket (same value 'pending') — see ticket section [PaymentStatusEnum.Paid]: { label: 'پرداخت شده', variant: 'success' }, [PaymentStatusEnum.Failed]: { label: 'ناموفق', variant: 'error' }, [PaymentStatusEnum.Refunded]: { label: 'مسترد شده', variant: 'info' }, diff --git a/src/pages/request/MyRequests.tsx b/src/pages/request/MyRequests.tsx index 757182c..a2decec 100644 --- a/src/pages/request/MyRequests.tsx +++ b/src/pages/request/MyRequests.tsx @@ -1,7 +1,5 @@ -import Tabs from '@/components/Tabs' -import { useState, type FC } from 'react' -import { TabMyRequestsEnum } from './enum/RequestEnum' import Filters from '@/components/Filters' +import { useState, type FC } from 'react' import Button from '@/components/Button' import { AddSquare, Eye } from 'iconsax-react' import Table from '@/components/Table' @@ -12,8 +10,7 @@ import { Paths } from '@/config/Paths' const MyRequests: FC = () => { const [page, setPage] = useState(1) - const [activeTab, setActiveTab] = useState(TabMyRequestsEnum.ALL) - const { data } = useGetMyRequests(page, activeTab) + const { data } = useGetMyRequests(page) return (
@@ -21,18 +18,6 @@ const MyRequests: FC = () => { درخواست های من -
- setActiveTab(tab as TabMyRequestsEnum)} - /> -
-
{ }, { key: 'items', - title: 'تعداد اقلام', - render: (item) => { - return ( -
{item.items.length}
- ) - } + title: 'اقلام', + render: (item) => ( +
+ {item.items.map((requestItem) => ( +
+ {requestItem.product.title} {requestItem.quantity} عدد +
+ ))} +
+ ), }, { key: 'createdAt', @@ -84,10 +73,6 @@ const MyRequests: FC = () => { ) } }, - { - key: 'status', - title: 'وضعیت درخواست', - }, { key: 'actions', title: '', diff --git a/src/pages/request/enum/RequestEnum.ts b/src/pages/request/enum/RequestEnum.ts index 16c8da5..d2330c1 100644 --- a/src/pages/request/enum/RequestEnum.ts +++ b/src/pages/request/enum/RequestEnum.ts @@ -1,9 +1,3 @@ -export const enum TabMyRequestsEnum { - ALL = "all", - PENDING = "pending", - INVOICED = "invoiced", -} - export const enum FieldTypeEnum { text = "text", textarea = "textarea", @@ -13,8 +7,3 @@ export const enum FieldTypeEnum { checkbox = "checkbox", date = "date", } - -export enum RequestStatusEnum { - PENDING = "pending", - INVOICED = "invoiced", -} diff --git a/src/pages/request/hooks/useRequestData.ts b/src/pages/request/hooks/useRequestData.ts index d1f9d75..2e49e5c 100644 --- a/src/pages/request/hooks/useRequestData.ts +++ b/src/pages/request/hooks/useRequestData.ts @@ -1,6 +1,5 @@ import { useMutation, useQuery } from "@tanstack/react-query"; import * as api from "../service/RequestService"; -import type { TabMyRequestsEnum } from "../enum/RequestEnum"; import type { AddTicketType } from "../type/Types"; export const useGetProducts = () => { @@ -24,10 +23,10 @@ export const useSubmitRequest = () => { }); }; -export const useGetMyRequests = (page: number = 1, statuses: TabMyRequestsEnum) => { +export const useGetMyRequests = (page: number = 1) => { return useQuery({ - queryKey: ["my-requests", page, statuses], - queryFn: () => api.getMyRequests(page, statuses), + queryKey: ["my-requests", page], + queryFn: () => api.getMyRequests(page), }); }; diff --git a/src/pages/request/service/RequestService.ts b/src/pages/request/service/RequestService.ts index 1dce1da..385b23a 100644 --- a/src/pages/request/service/RequestService.ts +++ b/src/pages/request/service/RequestService.ts @@ -8,7 +8,6 @@ import type { ProductsResponseType, TicketsResponseType, } from "../type/Types"; -import { RequestStatusEnum, TabMyRequestsEnum } from "../enum/RequestEnum"; export const getProducts = async () => { const { data } = await axios.get(`/public/products`); @@ -27,23 +26,9 @@ export const submitRequest = async (params: RequestType[]) => { return data; }; -export const getMyRequests = async ( - page: number = 1, - active: TabMyRequestsEnum, -) => { - const statuses = - active === TabMyRequestsEnum.PENDING - ? [RequestStatusEnum.PENDING] - : active === TabMyRequestsEnum.INVOICED - ? [RequestStatusEnum.INVOICED] - : undefined; - - let query = `?page=${page}`; - if (statuses) { - query += `&statuses=${statuses}`; - } +export const getMyRequests = async (page: number = 1) => { const { data } = await axios.get( - `/public/request${query}`, + `/public/request?page=${page}`, ); return data; }; diff --git a/src/pages/request/type/Types.ts b/src/pages/request/type/Types.ts index fcee83c..274d58a 100644 --- a/src/pages/request/type/Types.ts +++ b/src/pages/request/type/Types.ts @@ -77,7 +77,6 @@ export interface MyRequestType extends RowDataType { orderNumber: number; paidAmount: number; paymentMethod: string; - status: string; subTotal: number; taxAmount: number; total: number; @@ -174,7 +173,6 @@ export type RequestDetailType = { deletedAt: string | null; user: RequestDetailUserType; requestNumber: number; - status: string; items: RequestDetailItemType[]; };