chatbot-template/hooks/use-multimodal-copy-to-clipboard.ts

23 lines
601 B
TypeScript
Raw Normal View History

2025-01-15 19:59:29 +05:30
import { useCopyToClipboard } from 'usehooks-ts';
async function copyImageToClipboard(base64String: string) {
try {
const blob = await fetch(`data:image/png;base64,${base64String}`).then(
(res) => res.blob(),
);
const item = new ClipboardItem({
'image/png': blob,
});
await navigator.clipboard.write([item]);
} catch (error) {
console.error('Failed to copy image to clipboard:', error);
}
}
export function useMultimodalCopyToClipboard() {
const [_, copyTextToClipboard] = useCopyToClipboard();
return { copyTextToClipboard, copyImageToClipboard };
}