import { cn } from "@/lib/utils" import { Tables } from "@/supabase/types" import { ChatFile, MessageImage } from "@/types" import { IconFileFilled } from "@tabler/icons-react" import Image from "next/image" import { FC } from "react" import { DrawingCanvas } from "../utility/drawing-canvas" import { Dialog, DialogContent } from "./dialog" interface FilePreviewProps { type: "image" | "file" | "file_item" item: ChatFile | MessageImage | Tables<"file_items"> isOpen: boolean onOpenChange: (isOpen: boolean) => void } export const FilePreview: FC = ({ type, item, isOpen, onOpenChange }) => { return ( {(() => { if (type === "image") { const imageItem = item as MessageImage return imageItem.file ? ( ) : ( File image ) } else if (type === "file_item") { const fileItem = item as Tables<"file_items"> return (
{fileItem.content}
) } else if (type === "file") { return (
) } })()}
) }