From b870700056a734c5c991606efc66ca314a5774aa Mon Sep 17 00:00:00 2001 From: hamid zarghami Date: Sun, 9 Mar 2025 16:48:50 +0330 Subject: [PATCH] quik access --- src/pages/service/Category.tsx | 21 +++++++++++++++++-- .../service/components/UpdateCategory.tsx | 2 +- src/pages/service/hooks/useServiceData.ts | 6 ++++++ src/pages/service/service/ServiceService.ts | 5 +++++ 4 files changed, 31 insertions(+), 3 deletions(-) diff --git a/src/pages/service/Category.tsx b/src/pages/service/Category.tsx index c287d7f..15f8ab1 100644 --- a/src/pages/service/Category.tsx +++ b/src/pages/service/Category.tsx @@ -6,10 +6,11 @@ import Td from '../../components/Td' import CreateCategory from './components/CreateCategory' import PageLoading from '../../components/PageLoading' import { ServiceCategoryType } from './types/ServiceTypes' -import { useGetAllCategory } from './hooks/useServiceData' +import { useDeleteCategory, useGetAllCategory } from './hooks/useServiceData' import StatusCategory from './components/StatusCategory' import Pagination from '../../components/Pagination' import UpdateCategory from './components/UpdateCategory' +import { Trash } from 'iconsax-react' const Category: FC = () => { @@ -19,6 +20,15 @@ const Category: FC = () => { const [page, setPage] = useState(1) const [isActive, setIsActive] = useState<'active' | 'deactive' | ''>('') const getCategory = useGetAllCategory(page, search, isActive) + const deleteCategory = useDeleteCategory() + + const handleDelete = (id: string) => { + deleteCategory.mutate(id, { + onSuccess: () => { + getCategory.refetch() + } + }) + } return (
@@ -89,7 +99,14 @@ const Category: FC = () => { /> - getCategory.refetch()} id={item.id} /> +
+ getCategory.refetch()} id={item.id} /> + handleDelete(item.id)} + /> +
) diff --git a/src/pages/service/components/UpdateCategory.tsx b/src/pages/service/components/UpdateCategory.tsx index 61c0a2b..fc11c58 100644 --- a/src/pages/service/components/UpdateCategory.tsx +++ b/src/pages/service/components/UpdateCategory.tsx @@ -84,7 +84,7 @@ const UpdateCategory: FC = (props) => { } // eslint-disable-next-line react-hooks/exhaustive-deps - }, [getCategoryDetail.data]) + }, [getCategoryDetail.data, showModal]) return ( diff --git a/src/pages/service/hooks/useServiceData.ts b/src/pages/service/hooks/useServiceData.ts index b23d551..2301d73 100644 --- a/src/pages/service/hooks/useServiceData.ts +++ b/src/pages/service/hooks/useServiceData.ts @@ -176,3 +176,9 @@ export const useUpdateCategory = (id: string) => { api.updateCategory(id, variables), }); }; + +export const useDeleteCategory = () => { + return useMutation({ + mutationFn: (variables: string) => api.deleteCategory(variables), + }); +}; diff --git a/src/pages/service/service/ServiceService.ts b/src/pages/service/service/ServiceService.ts index 5f4fe49..a2cb96f 100644 --- a/src/pages/service/service/ServiceService.ts +++ b/src/pages/service/service/ServiceService.ts @@ -156,3 +156,8 @@ export const updateCategory = async ( ); return data; }; + +export const deleteCategory = async (id: string) => { + const { data } = await axios.delete(`/danak-services/categories/${id}`); + return data; +};