@assistant-ui/react
Version:
React components for AI chat.
27 lines • 909 B
JavaScript
// src/primitive-hooks/composer/useComposerAddAttachment.tsx
import { useCallback } from "react";
import { useComposer, useComposerRuntime } from "../../context/index.mjs";
var useComposerAddAttachment = () => {
const disabled = useComposer((c) => !c.isEditing);
const composerRuntime = useComposerRuntime();
const callback = useCallback(() => {
const input = document.createElement("input");
input.type = "file";
const attachmentAccept = composerRuntime.getAttachmentAccept();
if (attachmentAccept !== "*") {
input.accept = attachmentAccept;
}
input.onchange = (e) => {
const file = e.target.files?.[0];
if (!file) return;
composerRuntime.addAttachment(file);
};
input.click();
}, [composerRuntime]);
if (disabled) return null;
return callback;
};
export {
useComposerAddAttachment
};
//# sourceMappingURL=useComposerAddAttachment.mjs.map