import { Activity, useEffect, useRef, useState } from 'react'; import { Link } from 'react-router-dom'; // material-ui import { useTheme } from '@mui/material/styles'; import useMediaQuery from '@mui/material/useMediaQuery'; import Avatar from '@mui/material/Avatar'; import Button from '@mui/material/Button'; import CardActions from '@mui/material/CardActions'; import Chip from '@mui/material/Chip'; import ClickAwayListener from '@mui/material/ClickAwayListener'; import Divider from '@mui/material/Divider'; import Paper from '@mui/material/Paper'; import Popper from '@mui/material/Popper'; import Stack from '@mui/material/Stack'; import TextField from '@mui/material/TextField'; import Typography from '@mui/material/Typography'; import Box from '@mui/material/Box'; // project imports import MainCard from 'ui-component/cards/MainCard'; import Transitions from 'ui-component/extended/Transitions'; import NotificationList from './NotificationList'; // assets import { IconBell } from '@tabler/icons-react'; // notification status options const status = [ { value: 'all', label: 'All Notification' }, { value: 'new', label: 'New' }, { value: 'unread', label: 'Unread' }, { value: 'other', label: 'Other' } ]; // ==============================|| NOTIFICATION ||============================== // export default function NotificationSection() { const theme = useTheme(); const downMD = useMediaQuery(theme.breakpoints.down('md')); const [open, setOpen] = useState(false); const [value, setValue] = useState(''); /** * anchorRef is used on different componets and specifying one type leads to other components throwing an error * */ const anchorRef = useRef(null); const handleToggle = () => { setOpen((prevOpen) => !prevOpen); }; const handleClose = (event) => { if (anchorRef.current && anchorRef.current.contains(event.target)) { return; } setOpen(false); }; const prevOpen = useRef(open); useEffect(() => { if (prevOpen.current === true && open === false) { anchorRef.current.focus(); } prevOpen.current = open; }, [open]); const handleChange = (event) => { event?.target.value && setValue(event?.target.value); }; return ( <> {({ TransitionProps }) => ( All Notification Mark as all read {status.map((option) => ( ))} )} ); }