"use client"; import { useRef } from "react"; import { Paperclip } from "lucide-react"; import { cn } from "@/lib/utils"; import type { UploadResult } from "@/shared/hooks/use-file-upload"; interface FileUploadButtonProps { onUpload: (file: File) => Promise; onInsert?: (result: UploadResult, isImage: boolean) => void; disabled?: boolean; className?: string; size?: "sm" | "default"; } function FileUploadButton({ onUpload, onInsert, disabled, className, size = "default", }: FileUploadButtonProps) { const inputRef = useRef(null); const handleChange = async (e: React.ChangeEvent) => { const file = e.target.files?.[0]; if (!file) return; e.target.value = ""; const result = await onUpload(file); if (result && onInsert) { onInsert(result, file.type.startsWith("image/")); } }; const iconSize = size === "sm" ? "h-3.5 w-3.5" : "h-4 w-4"; const btnSize = size === "sm" ? "h-6 w-6" : "h-7 w-7"; return ( <> ); } export { FileUploadButton, type FileUploadButtonProps };