fixed image and name chat
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user