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 && (
)}
);
}