import React, { useState } from "react";
import { useSelector } from "react-redux";
import TimeDifference from "../Helpers/TimeDifference";
import { handlePagingFunc } from "../Pagination/HandlePagination";
import PaginatedList from "../Pagination/PaginatedList";
import Layout from "../Partials/Layout";
const tabs = [
{
id: 1,
date: "today",
title: "Today's",
},
{
id: 2,
date: "days",
title: "7 days",
},
{
id: 3,
date: "all",
title: "All",
},
];
export default function Notification() {
const [selectTab, setValue] = useState(tabs ? tabs[2].title : "");
const { notifications } = useSelector((state) => state?.notifications);
const [notificationData, setNotificationData] = useState(notifications?.data || [])
const [currentPage, setCurrentPage] = useState(0);
const indexOfFirstItem = Number(currentPage);
const indexOfLastItem = Number(indexOfFirstItem) + Number(process.env.REACT_APP_ITEM_PER_PAGE);
const currentNotifications = notificationData?.slice(indexOfFirstItem, indexOfLastItem);
const filterHandler = (value) => {
setValue(value);
switch(value){
case `Today's`:
// setNotificationData(notifications?.data?.slice(0,5))
setNotificationData(notifications?.data.filter(item => (new Date().getTime() - new Date(item.date).getTime())/(1000*60*60*24) <= 1))
setCurrentPage(0)
break;
case `All`:
setNotificationData(notifications?.data)
setCurrentPage(0)
break;
case `7 days`:
// setNotificationData(notifications?.data?.slice(0,2))
setNotificationData(notifications?.data.filter(item => (new Date().getTime() - new Date(item.date).getTime())/(1000*60*60*24) <= 7))
setCurrentPage(0)
break;
default:
break;
}
};
const handlePagination = (e) => {
handlePagingFunc(e, setCurrentPage);
};
return (
{selectTab + " "} Notifications
{currentNotifications?.length > 0 ? (
<>
{currentNotifications?.map(({ date, icon, title }, idx) => {
return (
{title}