"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;