import { Button, Group, Stack, Text, Title } from "@mantine/core"; import { ContentViewer } from "../../elements/ContentViewer/ContentViewer"; export interface ResultContentItem { type: string; text?: string; data?: string; mimeType?: string; } export interface ResultPanelProps { content: ResultContentItem[]; onClear: () => void; } const ClearButton = Button.withProps({ variant: "light", size: "sm", }); function resolveTextType(type: string): "text" | "json" { return type === "text" ? "text" : "json"; } function resolveMediaType(mimeType?: string): "image" | "audio" { return mimeType?.startsWith("image") ? "image" : "audio"; } export function ResultPanel({ content, onClear }: ResultPanelProps) { return ( Results {content.length === 0 ? ( No results yet ) : ( <> {content.map((item, index) => { if (item.text !== undefined) { return ( ); } if (item.data !== undefined) { return ( ); } return null; })} )} Clear ); }