fixed image and name chat

This commit is contained in:
SlimusMinus
2026-08-13 00:37:41 +03:00
parent 6b1b41d423
commit 66ff0dc5bf
6 changed files with 70 additions and 13 deletions

View File

@@ -15,7 +15,7 @@ export default function ChatListPage() {
const navigate = useNavigate();
const { chats, loading, fetchChats } = useChats();
const { isAuthenticated } = useAuthContext();
const { unreadMap } = useUnread();
const { unreadMap, totalUnread } = useUnread();
const { deleteChat } = useDeleteChat();
const [deleteError, setDeleteError] = useState("");
@@ -25,6 +25,17 @@ export default function ChatListPage() {
}
}, [isAuthenticated, fetchChats]);
// При поступлении непрочитанного сообщения (WS) обновляем список, чтобы
// превью показывало новое сообщение и подсветку, не дожидаясь ручного обновления.
useEffect(() => {
if (!isAuthenticated) return;
const timer = setTimeout(() => fetchChats(), 500);
return () => clearTimeout(timer);
// totalUnread — числовое значение, поэтому изменение состава чатов с той же
// суммой не создаст цикл обновлений.
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [totalUnread, isAuthenticated, fetchChats]);
const handleDeleteChat = useCallback(async (chatId) => {
if (!window.confirm(t('chat.confirmDeleteChat'))) return;
const result = await deleteChat(chatId);