This commit is contained in:
@@ -8,6 +8,7 @@ import { Link, useSearchParams } from 'react-router-dom'
|
||||
import { Paths } from '@/config/Paths'
|
||||
import type { OrderListItemType } from './types/Types'
|
||||
import Button from '@/components/Button'
|
||||
import RefreshButton from '@/components/RefreshButton'
|
||||
import UserSearch from '../user/UserSearch'
|
||||
import DesignerSearch from '../designer/DesignerSearch'
|
||||
import CategoriesSelect from '../product/components/CategoriesSelect'
|
||||
@@ -50,20 +51,23 @@ const OrdersList: FC = () => {
|
||||
}, { replace: true })
|
||||
}
|
||||
|
||||
const { data } = useGetOrders({ designId, categoryId, userId, ...filters })
|
||||
const { data, refetch, isFetching } = useGetOrders({ designId, categoryId, userId, ...filters })
|
||||
|
||||
return (
|
||||
<div className='mt-5'>
|
||||
<div className='flex justify-between items-center'>
|
||||
<h1 className='text-lg font-light'>سفارش ها</h1>
|
||||
<Link to={Paths.convertToOrder}>
|
||||
<Button className='w-fit px-6'>
|
||||
<div className='flex gap-2 items-center'>
|
||||
<AddSquare size={18} color='black' />
|
||||
سفارش جدید
|
||||
</div>
|
||||
</Button>
|
||||
</Link>
|
||||
<div className='flex items-center gap-3'>
|
||||
<RefreshButton onClick={() => refetch()} isLoading={isFetching} />
|
||||
<Link to={Paths.convertToOrder}>
|
||||
<Button className='w-fit px-6'>
|
||||
<div className='flex gap-2 items-center'>
|
||||
<AddSquare size={18} color='black' />
|
||||
سفارش جدید
|
||||
</div>
|
||||
</Button>
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className='mt-8 flex flex-wrap items-end gap-4'>
|
||||
|
||||
@@ -2,6 +2,9 @@ import { type FC } from 'react'
|
||||
import { useParams } from 'react-router-dom'
|
||||
import moment from 'moment-jalaali'
|
||||
import { User } from 'iconsax-react'
|
||||
import BackButton from '@/components/BackButton'
|
||||
import RefreshButton from '@/components/RefreshButton'
|
||||
import { Paths } from '@/config/Paths'
|
||||
import { useGetOrderDetails } from './hooks/useOrderData'
|
||||
import TicketSection from './components/TicketSection'
|
||||
import OrderItem from './components/OrderItem'
|
||||
@@ -20,7 +23,7 @@ const InfoRow: FC<{ label: string; value?: string | number | null }> = ({ label,
|
||||
|
||||
const OrderDetail: FC = () => {
|
||||
const { id } = useParams()
|
||||
const { data } = useGetOrderDetails(id!)
|
||||
const { data, refetch, isFetching } = useGetOrderDetails(id!)
|
||||
const order = data?.data as (OrderDetailDataType & { items?: OrderItemType[] }) | undefined
|
||||
const creator = order?.creator
|
||||
const creatorName = creator ? `${creator.firstName} ${creator.lastName}`.trim() : ''
|
||||
@@ -28,8 +31,12 @@ const OrderDetail: FC = () => {
|
||||
return (
|
||||
<div className="w-full min-h-screen bg-[#eceef6] p-6">
|
||||
{/* Header */}
|
||||
<header className="mb-6">
|
||||
<span className="text-sm text-[#8C90A3]">سفارش #{order?.orderNumber}</span>
|
||||
<header className="flex items-center justify-between mb-6">
|
||||
<BackButton to={Paths.order.list} />
|
||||
<div className="flex items-center gap-3">
|
||||
<RefreshButton onClick={() => refetch()} isLoading={isFetching} />
|
||||
<span className="text-sm text-[#8C90A3]">سفارش #{order?.orderNumber}</span>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
{/* اطلاعات سفارش */}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import Button from '@/components/Button'
|
||||
import RefreshButton from '@/components/RefreshButton'
|
||||
import UploadBox from '@/components/UploadBox'
|
||||
import { Microphone, Paperclip2 } from 'iconsax-react'
|
||||
import { useState, type FC } from 'react'
|
||||
@@ -20,7 +21,7 @@ const TicketSection: FC = () => {
|
||||
const [message, setMessage] = useState('')
|
||||
const [files, setFiles] = useState<File[]>([])
|
||||
const addTicket = useAddTicket()
|
||||
const { data, refetch } = useGetTickets(id!)
|
||||
const { data, refetch, isFetching } = useGetTickets(id!)
|
||||
const singleUpload = useSingleUpload()
|
||||
const multiUpload = useMultiUpload()
|
||||
|
||||
@@ -88,6 +89,10 @@ const TicketSection: FC = () => {
|
||||
|
||||
return (
|
||||
<div className="bg-white rounded-2xl p-6">
|
||||
<div className="flex items-center justify-between mb-2">
|
||||
<h2 className="text-lg font-light">گفتگو</h2>
|
||||
<RefreshButton onClick={() => refetch()} isLoading={isFetching} />
|
||||
</div>
|
||||
{
|
||||
data?.data?.map((item) => {
|
||||
if (item.user)
|
||||
|
||||
Reference in New Issue
Block a user