import React from 'react'; import { Skeleton } from '@/components/ui/skeleton'; interface ThreadSkeletonProps { isSidePanelOpen?: boolean; showHeader?: boolean; messageCount?: number; } export function ThreadSkeleton({ isSidePanelOpen = false, showHeader = true, messageCount = 3, }: ThreadSkeletonProps) { return (
{/* Skeleton Header */} {showHeader && (
)} {/* Skeleton Chat Messages */}
{/* Generate multiple message skeletons based on messageCount */} {Array.from({ length: messageCount }).map((_, index) => ( {/* User message - every other message */} {index % 2 === 0 ? (
) : ( /* Assistant response with tool usage */
{/* Tool call button skeleton */} {index % 3 === 1 && (
)} {index % 3 === 1 && (
)}
)}
))} {/* Assistant thinking state */}
{/* Skeleton Side Panel (closed state) */} {isSidePanelOpen && (
)}
); }