@@ -1,6 +1,6 @@
|
||||
import Tabs from '@/components/Tabs'
|
||||
import { useMemo, useState, type FC } from 'react'
|
||||
import { Link, useNavigate } from 'react-router-dom'
|
||||
import { Link, useNavigate, useSearchParams } from 'react-router-dom'
|
||||
import { ProformaInvoiceStatusEnum } from './enum/InvoiceEnum'
|
||||
import Filters from '@/components/Filters'
|
||||
import Table from '@/components/Table'
|
||||
@@ -14,6 +14,12 @@ import moment from 'moment-jalaali'
|
||||
import StatusWithText from '@/components/StatusWithText'
|
||||
import { Eye } from 'iconsax-react'
|
||||
|
||||
const isInvoiceTab = (value: string | null): value is ProformaInvoiceStatusEnum =>
|
||||
value === ProformaInvoiceStatusEnum.ALL ||
|
||||
value === ProformaInvoiceStatusEnum.NOT_CONFIRMED ||
|
||||
value === ProformaInvoiceStatusEnum.PARTIALLY_CONFIRMED ||
|
||||
value === ProformaInvoiceStatusEnum.CONFIRMED
|
||||
|
||||
const getServiceNames = (invoice: Invoice): string => {
|
||||
const names = [...new Set(invoice.items.map((item) => item.product.title))]
|
||||
return names.join('، ') || '-'
|
||||
@@ -21,7 +27,11 @@ const getServiceNames = (invoice: Invoice): string => {
|
||||
|
||||
const ProformaInvoice: FC = () => {
|
||||
const navigate = useNavigate()
|
||||
const [activeTab, setActiveTab] = useState<ProformaInvoiceStatusEnum>(ProformaInvoiceStatusEnum.ALL)
|
||||
const [searchParams] = useSearchParams()
|
||||
const tabFromQuery = searchParams.get('tab')
|
||||
const [activeTab, setActiveTab] = useState<ProformaInvoiceStatusEnum>(
|
||||
isInvoiceTab(tabFromQuery) ? tabFromQuery : ProformaInvoiceStatusEnum.ALL,
|
||||
)
|
||||
const [filters, setFilters] = useState<FilterValues>({})
|
||||
|
||||
const { data, isPending } = useGetInvoices()
|
||||
|
||||
Reference in New Issue
Block a user