import { Box, Divider, Flex, ScrollArea } from '@mantine/core'; import { RequestsButton } from '../RequestsButton/RequestsButton'; import { UserButton } from '../UserButton/UserButton'; import { useEffect, useState } from 'react'; import { useRosettaColors } from '@/app/hooks/useRosettaColors'; import { UpdateAlert } from '../UpdateAlert/UpdateAlert'; import { useNavigate } from 'react-router-dom'; import { DialogsList } from '../DialogsList/DialogsList'; import { DialogsPanelHeader } from '../DialogsPanelHeader/DialogsPanelHeader'; import { useDialogsList } from '@/app/providers/DialogListProvider/useDialogsList'; export function DialogsPanel() { const [dialogsMode, setDialogsMode] = useState<'all' | 'requests'>('all'); const [requestsCount, setRequestsCount] = useState(0); const {dialogs} = useDialogsList(); const colors = useRosettaColors(); const navigate = useNavigate(); useEffect(() => { ((async () => { let requests = dialogs.filter(d => d.is_request); setRequestsCount(requests.length); if(requests.length == 0 && dialogsMode == 'requests'){ setDialogsMode('all'); } }))(); }, [dialogs]); const changeDialogMode = () => { if(dialogsMode == 'all'){ setDialogsMode('requests'); } else { setDialogsMode('all'); } } const onSelectDialog = async (dialog: string) => { console.info("[PT] SELECT DIALOG ", Date.now()); navigate(`/main/chat/${dialog.replace("#", "%23")}`); } return ( {requestsCount > 0 && } ); }