"use client" import { deleteTransactionFileAction, uploadTransactionFilesAction } from "@/app/(app)/transactions/actions" import { FilePreview } from "@/components/files/preview" import { Button } from "@/components/ui/button" import { Card } from "@/components/ui/card" import config from "@/lib/config" import { File, Transaction } from "@prisma/client" import { Loader2, Upload, X } from "lucide-react" import { useState } from "react" export default function TransactionFiles({ transaction, files }: { transaction: Transaction; files: File[] }) { const [isUploading, setIsUploading] = useState(false) const handleDeleteFile = async (fileId: string) => { await deleteTransactionFileAction(transaction.id, fileId) } const handleFileChange = async (e: React.ChangeEvent) => { setIsUploading(true) if (e.target.files && e.target.files.length > 0) { const formData = new FormData() formData.append("transactionId", transaction.id) for (let i = 0; i < e.target.files.length; i++) { formData.append("files", e.target.files[i]) } await uploadTransactionFilesAction(formData) setIsUploading(false) } } return ( <> {files.map((file) => ( ))} ) }