diff --git a/src/api/ProductsApi.js b/src/api/ProductsApi.js
index b98bb6d..2ee0d92 100644
--- a/src/api/ProductsApi.js
+++ b/src/api/ProductsApi.js
@@ -52,4 +52,15 @@ export default class ProductsApi {
if (!res.ok) throw new Error(`Delete error ${res.status}: ${await res.text()}`);
return res.json();
}
+
+ async changeStatusVariant(payload) {
+ // If your API is change status, reuse updateVariant.
+ const res = await fetch(`${this.baseUrl}/ChangeStatus`, {
+ method: 'PATCH',
+ headers: this.headers(),
+ body: JSON.stringify(payload),
+ });
+ if (!res.ok) throw new Error(`ChangeStatus error ${res.status}: ${await res.text()}`);
+ return res.json();
+ }
}
\ No newline at end of file
diff --git a/src/private/catalogs/categories/Categories.jsx b/src/private/catalogs/categories/Categories.jsx
index 9da0707..48da03c 100644
--- a/src/private/catalogs/categories/Categories.jsx
+++ b/src/private/catalogs/categories/Categories.jsx
@@ -370,8 +370,8 @@ export default function Categories() {
Delete Category
-
-
+
+
diff --git a/src/private/catalogs/products/ProductCollections.jsx b/src/private/catalogs/products/ProductCollections.jsx
index 6c1115b..f0153f2 100644
--- a/src/private/catalogs/products/ProductCollections.jsx
+++ b/src/private/catalogs/products/ProductCollections.jsx
@@ -55,6 +55,8 @@ export default function ProductCollections() {
const [viewOnly, setViewOnly] = useState(false);
+ const [confirmOpen, setConfirmOpen] = useState(false);
+
// Tags
const [loadingTags, setLoadingTags] = useState(true);
const [typeMap, setTypeMap] = useState({});
@@ -167,6 +169,26 @@ export default function ProductCollections() {
}
}, [statusFilter, rawRows]);
+ const handleDeleteClick = (row) => {
+ setEditRow(row);
+ setConfirmOpen(true);
+ };
+
+ const confirmDelete = async () => {
+ try {
+ if (!editRow?.id) return;
+ await api.changeStatusVariant({ mongoId: editRow.id, status: 'Inactive' });
+ await load();
+ toast.success('Deleted successfully');
+ } catch (err) {
+ console.error(err);
+ toast.error(err?.message || 'Delete failed');
+ } finally {
+ setConfirmOpen(false);
+ setEditRow(null);
+ }
+ };
+
const columns = [
{
field: 'actions',
@@ -212,7 +234,7 @@ export default function ProductCollections() {
borderRadius: 2,
p: 1,
}}
- onClick={() => { setEditRow(params.row); setViewOnly(false); handleDeleteClick(params?.row); }}
+ onClick={() => { setViewOnly(false); handleDeleteClick(params?.row); }}
>
@@ -362,6 +384,16 @@ export default function ProductCollections() {
/>
+
+
);
}