"use client"; import { EyeIcon } from "@/assets/icons"; import EmptyListWrapper from "@/components/HOC/EmptyListWrapper"; import IsVisible from "@/components/ui/IsVisible"; import Pagination from "@/components/ui/pagination"; import Status from "@/components/ui/Status"; import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from "@/components/ui/table"; import TableSkeleton from "@/components/ui/TableSkeleton"; import { _TooltipDefaultParams } from "@/constants/tooltip"; import { getPaginatedRowNumber, truncateString, unixToDate, } from "@/utils/shared"; import { Tooltip } from "react-tooltip"; import Boolean from "@/components/ui/Boolean"; import ListHeader from "@/components/ui/ListHeader"; import ListWrapper from "@/components/ui/ListWrapper"; import Modal from "@/components/ui/modal"; import NotificationHistoryListFilters from "./NotificationHistoryListFilters"; import useNotificationHistoryTablePresenter from "./useNotificationHistoryTablePresenter"; const NotificationHistoryTable = () => { const { columns, isLoading, metadata, notificationHistory, pathName, router, isFilterModalOpen, setIsFilterModalOpen, setParams, handleSubmit, register, setValue, watch, search, isMutating, shouldShowPagination, } = useNotificationHistoryTablePresenter(); return ( <> setIsFilterModalOpen(true)} /> {columns.map((column) => ( {column} ))} {isLoading && ( )} {(notificationHistory ?? []).map((item, index) => ( {getPaginatedRowNumber({ index, page: metadata?.page, limit: metadata?.limit, })} {item.title} {item.event_type} {unixToDate({ hasTime: true, unix: item.created_at, })} {item.recipient?.full_name} {truncateString(item.message, 20, 20)} {item.priority} {item.type} {item.status} ))}
{ setParams((currentParams: Record) => ({ ...currentParams, offset: e.selected * (metadata?.limit ?? 10), limit: metadata?.limit ?? 10, })); }} />
setIsFilterModalOpen(false)} showButtons={false} > ); }; export default NotificationHistoryTable;