import { Avatar, Box, ButtonBase, List, ListItem, ListItemAvatar, ListItemText, useTheme, } from '@mui/material'; import React, { useCallback } from 'react'; import { IconWrapper } from '../Desktop/DesktopFooter'; import { HubsIcon } from '../../assets/Icons/HubsIcon'; import { MessagingIcon } from '../../assets/Icons/MessagingIcon'; import { ContextMenu } from '../ContextMenu'; import { getBaseApiReact } from '../../App'; import { formatEmailDate } from './QMailMessages'; import CampaignIcon from '@mui/icons-material/Campaign'; import MarkChatUnreadIcon from '@mui/icons-material/MarkChatUnread'; import LockIcon from '@mui/icons-material/Lock'; import { CustomButton } from '../../styles/App-styles'; import AddCircleOutlineIcon from '@mui/icons-material/AddCircleOutline'; import PersonOffIcon from '@mui/icons-material/PersonOff'; import { groupAnnouncementSelector, groupChatTimestampSelector, groupPropertySelector, groupsOwnerNamesSelector, isRunningPublicNodeAtom, timestampEnterDataSelector, } from '../../atoms/global'; import { timeDifferenceForNotificationChats } from './Group'; import { useAtom, useAtomValue } from 'jotai'; import { useTranslation } from 'react-i18next'; export const GroupList = ({ selectGroupFunc, setDesktopSideView, groupChatHasUnread, groupsAnnHasUnread, desktopSideView, directChatHasUnread, chatMode, groups, selectedGroup, getUserSettings, setOpenAddGroup, setIsOpenBlockedUserModal, myAddress, }) => { const theme = useTheme(); const { t } = useTranslation(['auth', 'core', 'group']); const [isRunningPublicNode] = useAtom(isRunningPublicNodeAtom); return (