import { memo, useState } from 'react'; import clsx from 'clsx'; import InfiniteScroll from 'react-infinite-scroll-component'; import Grid from '@mui/material/Grid'; import Typography from '@mui/material/Typography'; import Tabs from '@mui/material/Tabs'; import Tab from '@mui/material/Tab'; import Tooltip from '@mui/material/Tooltip'; import { Avatar } from '../avatar'; import { Button } from '../button'; import { CustomIcon } from '../custom-icon'; import type { InfoListProps } from './types'; import { ASSETS_URL } from '../../consts/common'; import createClasses from './styles'; export const InfoList = memo((props: InfoListProps) => { const { handleListItemClick, tabsButtons, listItems, onClose, tabsProps, tabs, title, handleStatusDotClick, infiniteScrollProps, markAsReadBtnTxt = 'Mark As Read', hideBtnTxt = 'Hide', hideClose = false } = props; const hover = (id?: string) => { setHoverId(id); }; const classes = createClasses(); const [hoverId, setHoverId] = useState(); const [value, setValue] = useState(0); const handleChange = (newValue: number, event?: React.SyntheticEvent) => { setValue(newValue); }; const filterdList = value === 1 ? listItems.filter(item => item.isActive === true) : listItems; return ( {title} {!hideClose && ( )} {tabs.map((tab, i) => ( { handleChange(tab?.value); }} data-testid={`tab_${i}`} key={tab.label?.toString()} {...tab} /> ))} {tabsButtons.map(button => ( )} ); })} ); });