import React from 'react';
import { LuCheck, LuFileJson } from 'react-icons/lu';
import { Tooltip } from 'react-tooltip';
import { useThemeMode } from './ThemeModeContext.tsx';
import { DroppedFile } from './useFileDrop.ts';
import { loadRegistry, substraitFileToJson } from '@substrait-viz/react';
export interface DownloadJSONButtonProps {
plan: DroppedFile;
descriptors: undefined | DroppedFile[];
}
export function CopyAsJSONButton({
plan,
descriptors,
}: DownloadJSONButtonProps) {
const { isDarkMode } = useThemeMode();
const [copied, setCopied] = React.useState(false);
const copyAsJson = React.useCallback(async () => {
const registry = await loadRegistry(descriptors?.map(_ => _.value));
const data = await substraitFileToJson(plan.value, registry);
await navigator.clipboard.writeText(data);
setCopied(true);
setTimeout(() => setCopied(false), 2000); // Reset after 1 seconds
}, [descriptors, plan.value]);
return (
<>
>
);
}