@@ -3,6 +3,7 @@ import DangerButton from "../ui/DangerButton";
3
3
import Button from "../ui/Button" ;
4
4
import Link from "next/link" ;
5
5
import PositiveButton from "../ui/PositiveButton" ;
6
+ import axios from "axios" ;
6
7
import DialogBox from "../ui/DialogBox" ;
7
8
import { useState } from "react" ;
8
9
@@ -39,6 +40,30 @@ const ProjectList = ({ projects, onDelete }: ProjectListProps) => {
39
40
const handleClick = async ( projectId : string ) => {
40
41
onDelete ( projectId ) ;
41
42
setIsDeleteDialogOpen ( false ) ;
43
+ try {
44
+ const response = await axios . delete ( `/project/${ projectId } ` ) ;
45
+
46
+ if ( response . status !== 200 ) {
47
+ throw new Error ( "Failed to delete project" ) ;
48
+ }
49
+ console . log ( "Project deleted successfully." ) ;
50
+ } catch ( error : unknown ) {
51
+ if ( axios . isAxiosError ( error ) ) {
52
+ if ( error . response ) {
53
+ if ( error . response . status === 403 ) {
54
+ console . log ( "Forbidden. User does not have sufficient permissions." ) ;
55
+ } else if ( error . response . status === 404 ) {
56
+ console . log ( "Project not found." ) ;
57
+ } else if ( error . response . status === 500 ) {
58
+ console . log ( "Unexpected server error." ) ;
59
+ } else {
60
+ console . log ( "An unexpected error occurred. Please try again later." ) ;
61
+ }
62
+ } else {
63
+ console . log ( "Please check your network connection and try again." ) ;
64
+ }
65
+ }
66
+ }
42
67
} ;
43
68
44
69
return (
@@ -110,4 +135,4 @@ const ProjectList = ({ projects, onDelete }: ProjectListProps) => {
110
135
) ;
111
136
} ;
112
137
113
- export default ProjectList ;
138
+ export default ProjectList ;
0 commit comments