mirror of
https://github.com/Sea-Haven-Industries/open-swe.git
synced 2026-10-03 12:43:30 +00:00
37 lines
955 B
TypeScript
37 lines
955 B
TypeScript
import React from "react";
|
|
import type { Base64ContentBlock } from "@langchain/core/messages";
|
|
import { MultimodalPreview } from "./MultimodalPreview";
|
|
import { cn } from "@/lib/utils";
|
|
|
|
interface ContentBlocksPreviewProps {
|
|
blocks: Base64ContentBlock[];
|
|
onRemove: (idx: number) => void;
|
|
size?: "sm" | "md" | "lg";
|
|
className?: string;
|
|
}
|
|
|
|
/**
|
|
* Renders a preview of content blocks with optional remove functionality.
|
|
* Uses cn utility for robust class merging.
|
|
*/
|
|
export const ContentBlocksPreview: React.FC<ContentBlocksPreviewProps> = ({
|
|
blocks,
|
|
onRemove,
|
|
size = "md",
|
|
className,
|
|
}) => {
|
|
if (!blocks.length) return null;
|
|
return (
|
|
<div className={cn("flex flex-wrap gap-2 p-3.5 pb-0", className)}>
|
|
{blocks.map((block, idx) => (
|
|
<MultimodalPreview
|
|
key={idx}
|
|
block={block}
|
|
removable
|
|
onRemove={() => onRemove(idx)}
|
|
size={size}
|
|
/>
|
|
))}
|
|
</div>
|
|
);
|
|
};
|