"use client"; import EmptyListWrapper from "@/components/HOC/EmptyListWrapper"; import Status from "@/components/ui/Status"; import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from "@/components/ui/table"; import { Tooltip } from "react-tooltip"; import useTenderListPresenter from "./useTenderListPresenter"; import { ExclamationIcon, EyeIcon } from "@/assets/icons"; import IsVisible from "@/components/ui/IsVisible"; import ListHeader from "@/components/ui/ListHeader"; import ListWrapper from "@/components/ui/ListWrapper"; import Modal from "@/components/ui/modal"; import Pagination from "@/components/ui/pagination"; import TableSkeleton from "@/components/ui/TableSkeleton"; import { _TooltipDefaultParams } from "@/constants/tooltip"; import { cn } from "@/lib/utils"; import { getPaginatedRowNumber, unixToDate } from "@/utils/shared"; import TenderListFilters from "./TenderListFilters"; const TendersTable = () => { const { allTenders, isPending, router, pathName, setParams, params, columns, isFilterModalOpen, setIsFilterModalOpen, filterRegister, handleFilterSubmit, search, watch, setFilterValue, isMutating, shouldShowPagination, } = useTenderListPresenter(); return ( setIsFilterModalOpen(true)} createButtonText="Create Tender" /> {columns.map((column) => ( {column} ))} {isPending && } {(allTenders?.data.tenders ?? []).map((item, index) => ( {getPaginatedRowNumber({ index, page: allTenders?.meta?.page, limit: allTenders?.meta?.limit, })} {item.title} {item.country_code} {unixToDate({ unix: item.publication_date, hasTime: true, })} {unixToDate({ unix: item.submission_deadline, hasTime: true, })} {unixToDate({ unix: item.tender_deadline, hasTime: true })} {unixToDate({ unix: item?.created_at ?? 0, hasTime: true, })} {item.status}
))}
setIsFilterModalOpen(false)} classNames="w-full xl:w-1/2" showButtons={false} > { setParams((currentParams) => ({ ...currentParams, offset: e.selected * (allTenders?.meta?.limit ?? 10), limit: allTenders?.meta?.limit ?? 10, })); }} />
); }; export default TendersTable;