"use client"; import { EyeIcon } from "@/assets/icons"; import { ShowcaseSection } from "@/components/Layouts/showcase-section"; 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 { truncateString, unixToDate } from "@/utils/shared"; import { Tooltip } from "react-tooltip"; import Boolean from "@/components/ui/Boolean"; import ListHeader from "@/components/ui/ListHeader"; 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, } = useNotificationHistoryTablePresenter(); return ( <> setIsFilterModalOpen(true)} /> {columns.map((column) => ( {column} ))} {isLoading && } {!notificationHistory?.length ? (

No notifications

) : ( notificationHistory.map((item, index) => ( {index + 1} {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) => ({ ...currentParams, offset: e.selected * (metadata?.limit ?? 10), limit: metadata?.limit ?? 10, })); }} />
setIsFilterModalOpen(false)} showButtons={false} > ); }; export default NotificationHistoryTable;