import React, { useState, useEffect, useRef, useCallback } from 'react'; import { formatTime } from '@/utils/date'; import { ResizablePanel } from '@/components/ui/ResizablePanel'; import { useUIStore } from '@/store/uiStore'; import { useCommStore } from '@/store/commStore'; import { useTranslation } from 'react-i18next'; import { useUsers, useGroups } from '@/api/hooks'; import { Avatar } from '@/components/ui/Avatar'; import { listConversations, getMessages, sendMessage, markRead, createConversation, } from '@/api/comm'; import { useCommWebSocket } from '@/hooks/useCommWebSocket'; import type { Conversation, Message } from '@/store/commStore'; import { BlockRenderer } from '@/components/comm/blocks'; import { Bell, Bookmark, Bot, ChevronLeft, ChevronRight, Lightbulb, MessageSquare, Send, Users } from 'lucide-react'; // ─── Icons (identical to AISidebar) ─── const robotIcon = (className: string) => (