import { useEffect, useCallback } from "react"; import { useNavigate } from "react-router-dom"; import { useChats } from "../hooks/useChats"; import { useAuthContext } from "../context/AuthContext"; import { useUnread } from "../context/UnreadContext"; import { getPostForChat } from "../stores/chatPostStore"; import { getImageUrl } from "../config/authConstants"; import { useDeleteChat } from "../hooks/useDeleteChat"; import TrashIcon from "../components/icons/TrashIcon"; import { useTranslation } from 'react-i18next'; export default function ChatListPage() { const { t } = useTranslation(); const navigate = useNavigate(); const { chats, loading, fetchChats } = useChats(); const { isAuthenticated } = useAuthContext(); const { updateFromChats, unreadMap } = useUnread(); const { deleteChat } = useDeleteChat(); useEffect(() => { if (isAuthenticated) { fetchChats(); } }, [isAuthenticated, fetchChats]); useEffect(() => { if (chats.length > 0) { updateFromChats(chats); } }, [chats, updateFromChats]); const handleDeleteChat = useCallback(async (chatId) => { if (!window.confirm(t('chat.confirmDeleteChat'))) return; const ok = await deleteChat(chatId); if (ok) fetchChats(); }, [t, deleteChat, fetchChats]); if (!isAuthenticated) { return (