import { memo } from "react" import { ToolUseBlock, ToolUseBlockHeader } from "../common/ToolUseBlock" import { vscode } from "@src/utils/vscode" import { formatPathTooltip } from "@src/utils/formatPathTooltip" import { PathTooltip } from "../ui/PathTooltip" interface FilePermissionItem { path: string lineSnippet?: string isOutsideWorkspace?: boolean key: string content?: string // full path } interface BatchFilePermissionProps { files: FilePermissionItem[] onPermissionResponse?: (response: { [key: string]: boolean }) => void ts: number } export const BatchFilePermission = memo(({ files = [], onPermissionResponse, ts }: BatchFilePermissionProps) => { // Don't render if there are no files or no response handler if (!files?.length || !onPermissionResponse) { return null } return (
{/* Individual files */}
{files.map((file) => { return (
vscode.postMessage({ type: "openFile", text: file.content })}> {file.path?.startsWith(".") && .} {formatPathTooltip( file.path, file.lineSnippet ? ` ${file.lineSnippet}` : undefined, )}
) })}
) }) BatchFilePermission.displayName = "BatchFilePermission"