diff --git a/src/pages/product/attribute/AttributeValues.tsx b/src/pages/product/attribute/AttributeValues.tsx
index 6eb0949..8576ec7 100644
--- a/src/pages/product/attribute/AttributeValues.tsx
+++ b/src/pages/product/attribute/AttributeValues.tsx
@@ -1,14 +1,29 @@
import { type FC } from 'react'
import { useParams } from 'react-router-dom'
-import { useGetAttributeValues } from '../hooks/useProductData'
+import { useDeleteAttributeValue, useGetAttributeValues } from '../hooks/useProductData'
import CreateValue from '../components/CreateValue'
import Table from '@/components/Table'
import UpdateValue from '../components/UpdateValue'
+import TrashWithConfrim from '@/components/TrashWithConfrim'
+import { toast } from 'react-toastify'
+import { extractErrorMessage } from '@/config/func'
const AttributeValues: FC = () => {
const { id } = useParams()
const { data, refetch } = useGetAttributeValues(Number(id))
+ const { mutate: deleteValue, isPending } = useDeleteAttributeValue()
+
+ const handleDelete = (id: number) => {
+ deleteValue(id, {
+ onSuccess: () => {
+ refetch()
+ },
+ onError: (error) => {
+ toast.error(extractErrorMessage(error))
+ }
+ })
+ }
return (
@@ -42,6 +57,12 @@ const AttributeValues: FC = () => {
id={item.id}
refetch={refetch}
/>
+
+ handleDelete(item.id)}
+ colorIcon='red'
+ isloading={isPending}
+ />
)
}
diff --git a/src/pages/product/hooks/useProductData.ts b/src/pages/product/hooks/useProductData.ts
index ff45794..50fbad7 100644
--- a/src/pages/product/hooks/useProductData.ts
+++ b/src/pages/product/hooks/useProductData.ts
@@ -180,3 +180,9 @@ export const useGetAttributeValueDetail = (id: number, enabled: boolean) => {
enabled: !!id && enabled,
});
};
+
+export const useDeleteAttributeValue = () => {
+ return useMutation({
+ mutationFn: (id: number) => api.deleteAttributeValue(id),
+ });
+};
diff --git a/src/pages/product/service/ProductService.ts b/src/pages/product/service/ProductService.ts
index ef629a6..f1bc832 100644
--- a/src/pages/product/service/ProductService.ts
+++ b/src/pages/product/service/ProductService.ts
@@ -94,4 +94,9 @@ export const updateAttributeValues = async (id: number, params:CreateAttributeVa
export const getAttributeValueDetail = async (id: number) => {
const { data } = await axios.get(`/admin/products/attributes/value/${id}`);
return data;
+};
+
+export const deleteAttributeValue = async (id: number) => {
+ const { data } = await axios.delete(`/admin/products/attributes/value/${id}`);
+ return data;
};
\ No newline at end of file