import type { ComponentProps } from 'react'; import { MessageCircle, MessageSquareText, X } from 'lucide-react'; import { LucentIconButton } from '../../../components/lucent/LucentIconButton'; import { CreateBotWizardModal } from '../../onboarding/CreateBotWizardModal'; import { TopicFeedPanel } from '../topic/TopicFeedPanel'; import type { CompactPanelTab, RuntimeViewMode } from '../types'; import { BotListPanel } from './BotListPanel'; import { DashboardChatPanel } from './DashboardChatPanel'; import { DashboardModalStack } from './DashboardModalStack'; import { RuntimePanel } from './RuntimePanel'; export interface BotDashboardViewProps { compactMode: boolean; hasForcedBot: boolean; showBotListPanel: boolean; botListPanelProps: ComponentProps; hasSelectedBot: boolean; isCompactListPage: boolean; compactPanelTab: CompactPanelTab; showCompactBotPageClose: boolean; forcedBotId?: string; selectBotText: string; isZh: boolean; runtimeViewMode: RuntimeViewMode; hasTopicUnread: boolean; onRuntimeViewModeChange: (mode: RuntimeViewMode) => void; topicFeedPanelProps: ComponentProps; dashboardChatPanelProps: ComponentProps; runtimePanelProps: ComponentProps; onCompactClose: () => void; dashboardModalStackProps: ComponentProps; createBotModalProps: ComponentProps; } export function BotDashboardView({ compactMode, hasForcedBot, showBotListPanel, botListPanelProps, hasSelectedBot, isCompactListPage, compactPanelTab, showCompactBotPageClose, selectBotText, isZh, runtimeViewMode, hasTopicUnread, onRuntimeViewModeChange, topicFeedPanelProps, dashboardChatPanelProps, runtimePanelProps, onCompactClose, dashboardModalStackProps, createBotModalProps, }: BotDashboardViewProps) { return ( <>
{showBotListPanel ? : null}
{hasSelectedBot ? (
{runtimeViewMode === 'topic' ? : }
) : (
{selectBotText}
)}
{showCompactBotPageClose ? ( ) : null} ); }