From c9d25da4bbe15a150c59b882f3d36031b3162baf Mon Sep 17 00:00:00 2001
From: Austin Pardosi <13521084@std.stei.itb.ac.id>
Date: Fri, 17 Nov 2023 14:47:50 +0700
Subject: [PATCH] fix: add delete button

---
 src/api/watchlistService.ts             | 22 ++++++++++++++++++++++
 src/pages/AddWatchlist/AddWatchlist.tsx | 12 +++++++++++-
 2 files changed, 33 insertions(+), 1 deletion(-)

diff --git a/src/api/watchlistService.ts b/src/api/watchlistService.ts
index 9907993..e70e53c 100644
--- a/src/api/watchlistService.ts
+++ b/src/api/watchlistService.ts
@@ -67,3 +67,25 @@ export const fetchWatchlistDetail = async (
     throw error;
   }
 };
+
+export const deleteWatchlist = async (
+  watchlistid: number,
+) => {
+  try {
+    const token = await getToken();
+    const response = await axios.delete(
+      `${
+        import.meta.env.VITE_REACT_APP_REST_SERVICE_URL
+      }/watchlist/${watchlistid}`,
+      {
+        headers: {
+          Authorization: `Bearer ${token}`,
+        },
+      },
+    );
+    return response.data.data;
+  } catch (error) {
+    console.log(error);
+    throw error;
+  }
+};
\ No newline at end of file
diff --git a/src/pages/AddWatchlist/AddWatchlist.tsx b/src/pages/AddWatchlist/AddWatchlist.tsx
index 0cecfa1..e3623c3 100644
--- a/src/pages/AddWatchlist/AddWatchlist.tsx
+++ b/src/pages/AddWatchlist/AddWatchlist.tsx
@@ -25,6 +25,7 @@ import { handleAxiosError } from "@/lib/utils";
 import { getToken } from "@/lib/user";
 import { useAuth } from "@/context/AuthContext";
 import NotAuthorizedPage from "../NotAuthorized/NotAuthorized";
+import { deleteWatchlist } from "@/api/watchlistService";
 
 const formSchema = z.object({
   title: z.string().min(2).max(50),
@@ -54,6 +55,14 @@ const AddWatchlist = () => {
     return <NotAuthorizedPage />;
   }
 
+  const deleteWatchlistData = async (watchlistId: number) => {
+    try {
+      deleteWatchlist(watchlistId);
+    } catch (error) {
+      console.log(error);
+    }
+  };
+
   const handleRemoveFilm = (film: IFilm) => {
     const newSelectedFilms = selectedFilms.filter(
       (selectedFilm) => selectedFilm.film_id !== film.film_id,
@@ -233,10 +242,11 @@ const AddWatchlist = () => {
         <Navbar />
       </div>
       <div className="w-full flex flex-col justify-center pt-28 text-white p-8 md:px-16 gap-4 md:gap-8">
-        <div className="flex gap-4 md:gap-8 justify-start w-full">
+        <div className="flex gap-4 md:gap-8 justify-between items-center w-full">
           <NavLink to="/watchlists">
             <ChevronLeftCircle className="h-400 w-400" />
           </NavLink>
+          <Button variant="destructive">Delete Watchlist</Button>
         </div>
         <Form {...form}>
           <form onSubmit={form.handleSubmit(onSubmit)} className="space-y-8">
-- 
GitLab