import {
Heading, HStack, Text, VStack,
Divider,
Wrap,
Image,
useColorModeValue,
Box,
StackDivider,
Tag
} from "@chakra-ui/react"
import SEO from "components/seo"
import siteConfig from "configs/site-config"
import PageContainer1 from "layouts/page-container1"
import React, { useEffect, useState } from "react"
import { IndexSidebar } from 'pages/index'
import Card from "components/card"
import { config } from "configs/config"
import { requestApi } from "utils/axios/request"
import { Story } from "src/types/story"
import { find } from "lodash"
import Empty from "components/empty"
import StoryCard from "components/story/story-card"
import { FaBell } from "react-icons/fa"
import { getSvgIcon } from "components/svg-icon"
import { Notification } from "src/types/notification"
import { getUserName } from "utils/user"
import moment from 'moment'
import userCustomTheme from "theme/user-custom"
import Link from "next/link"
const filters = [
{icon: 'bell',label:'All',type: 0},
{icon: 'comments',label:'Comments',type: 1},
{icon: 'favorites',label:'Likes', type: 2},
{icon: 'follow',label:'Follows', type: 5},
{icon: 'at',label: 'Mentions', type: 3},
{icon: 'post',label: 'Stories', type: 4},
]
const NotificationPage = () => {
const [filter, setFilter]= useState(filters[0])
const [notifications,setNotifications]: [Notification[],any] = useState([])
const stackBorderColor = useColorModeValue(userCustomTheme.borderColor.light, userCustomTheme.borderColor.dark)
useEffect(() => {
initData()
},[])
const initData = async () => {
await getNotifications()
await requestApi.post(`/notifications/unread`)
}
const getNotifications = async (f?) => {
const res = await requestApi.get(`/notifications/list/${f ? f.type : filter.type}`)
setNotifications(res.data)
}
const onFilterChange = (f) => {
setFilter(f)
getNotifications(f)
}
return (
<>
Notifications
{getSvgIcon("bell")}
{
{
filters.map(t =>
onFilterChange(t)}>
{t.label}
{getSvgIcon(t.icon,'1rem')}
)
}
}
{notifications.length !== 0
?
}>
{notifications.map((p,i) =>
{getUserName(p.user)}
{p.title}
{p.subTitle && {p.subTitle}}
{moment(p.created).fromNow()} {!p.read&& unread}
)}
:
}
>
)
}
export default NotificationPage