stat
deploy to danak / build_and_deploy (push) Has been cancelled

This commit is contained in:
2026-07-21 14:53:40 +03:30
parent bf16a84ba4
commit 8c89128dad
10 changed files with 572 additions and 96 deletions
+22 -2
View File
@@ -5,18 +5,38 @@ import Filters from '@/components/Filters'
import RefreshButton from '@/components/RefreshButton'
import Table from '@/components/Table'
import { Eye, Add, Edit2 } from 'iconsax-react'
import { Link } from 'react-router-dom'
import { Link, useSearchParams } from 'react-router-dom'
import { Paths } from '@/config/Paths'
import moment from 'moment-jalaali'
import type { FilterValues } from '@/components/Filters'
import { useGetInvoice } from './hooks/useInvoiceData'
import type { InvoiceType } from './types/Types'
const isValidInvoiceTab = (value: string | null): value is ProformaInvoiceStatusEnum =>
Object.values(ProformaInvoiceStatusEnum).includes(value as ProformaInvoiceStatusEnum)
const ProformaInvoice: FC = () => {
const [activeTab, setActiveTab] = useState<ProformaInvoiceStatusEnum>(ProformaInvoiceStatusEnum.ALL)
const [searchParams, setSearchParams] = useSearchParams()
const tabParam = searchParams.get('tab')
const activeTab = isValidInvoiceTab(tabParam) ? tabParam : ProformaInvoiceStatusEnum.ALL
const [page, setPage] = useState(1)
const [filters, setFilters] = useState<FilterValues>({})
const setActiveTab = (tab: ProformaInvoiceStatusEnum) => {
setSearchParams(
(current) => {
const next = new URLSearchParams(current)
if (tab === ProformaInvoiceStatusEnum.ALL) {
next.delete('tab')
} else {
next.set('tab', tab)
}
return next
},
{ replace: true },
)
}
const { data, isLoading, refetch, isFetching } = useGetInvoice(page)
const meta = data?.meta