File tree Expand file tree Collapse file tree
app/next-client-app/components/files Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -14,6 +14,7 @@ import { Button } from "../ui/button";
1414import { deleteFile } from "@/api/files" ;
1515import { useRouter } from "next/navigation" ;
1616import { Trash2 } from "lucide-react" ;
17+ import { useState } from "react" ;
1718
1819interface DeleteFileDialogProps {
1920 fileId : number ;
@@ -29,26 +30,29 @@ const DeleteFileDialog = ({
2930 scanReportId,
3031 fileName,
3132 isOpen,
32- setOpen = ( ) => { } ,
33+ setOpen,
3334 needTrigger = false
3435} : DeleteFileDialogProps ) => {
3536 const router = useRouter ( ) ;
37+ const [ internalOpen , setInternalOpen ] = useState ( false ) ;
38+ const dialogOpen = isOpen !== undefined ? isOpen : internalOpen ;
39+ const setDialogOpen = setOpen || setInternalOpen ;
3640
3741 const handleDelete = async ( ) => {
3842 const response = await deleteFile ( scanReportId , fileId ) ;
3943 if ( response . success ) {
4044 toast . success ( `File "${ fileName } " deleted successfully` ) ;
4145 router . refresh ( ) ;
46+ setDialogOpen ( false ) ; // This will close dialog after successful deletion
4247 } else {
4348 toast . error (
4449 `Failed to delete file: ${ response . errorMessage || "Unknown error" } `
4550 ) ;
4651 }
47- setOpen ( false ) ;
4852 } ;
4953
5054 return (
51- < Dialog open = { isOpen } onOpenChange = { ( ) => setOpen ( false ) } >
55+ < Dialog open = { dialogOpen } onOpenChange = { setDialogOpen } >
5256 { needTrigger && (
5357 < DialogTrigger asChild >
5458 < Button variant = "destructive" size = "sm" >
You can’t perform that action at this time.
0 commit comments