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