chore: clean code, add delete
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
export default class ProductsApi {
|
||||
constructor(token) {
|
||||
this.baseUrl = 'https://inventory-bff.dream-views.com/api/v1/FurnitureVariant';
|
||||
this.token = token;
|
||||
this.token = token;
|
||||
}
|
||||
|
||||
headers(json = true) {
|
||||
@@ -53,7 +53,7 @@ export default class ProductsApi {
|
||||
return res.json();
|
||||
}
|
||||
|
||||
async changeStatusVariant(payload) {
|
||||
async changeStatusVariant(payload) {
|
||||
// If your API is change status, reuse updateVariant.
|
||||
const res = await fetch(`${this.baseUrl}/ChangeStatus`, {
|
||||
method: 'PATCH',
|
||||
|
||||
@@ -52,14 +52,14 @@ export default function AddOrEditCategoryForm({ onAdd, initialData, onCancel, ma
|
||||
const [types, setTypes] = useState([]);
|
||||
const [allTags, setAllTags] = useState([]);
|
||||
|
||||
const tagLabelById = useMemo(() => {
|
||||
const map = {};
|
||||
for (const t of allTags) {
|
||||
const key = t._id;
|
||||
map[key] = t.tagName || t.name || key;
|
||||
}
|
||||
return map;
|
||||
}, [allTags]);
|
||||
const tagLabelById = useMemo(() => {
|
||||
const map = {};
|
||||
for (const t of allTags) {
|
||||
const key = t._id;
|
||||
map[key] = t.tagName || t.name || key;
|
||||
}
|
||||
return map;
|
||||
}, [allTags]);
|
||||
|
||||
const [form, setForm] = useState({
|
||||
_id: '',
|
||||
|
||||
@@ -149,7 +149,7 @@ export default function Categories() {
|
||||
{
|
||||
field: 'actions',
|
||||
headerName: '',
|
||||
width: 130,
|
||||
width: 150,
|
||||
sortable: false,
|
||||
filterable: false,
|
||||
disableExport: true,
|
||||
|
||||
@@ -43,7 +43,7 @@ export default function ProductCollections() {
|
||||
const tagTypeApi = useMemo(() => new TagTypeApi(token), [token]);
|
||||
const categoriesApi = useMemo(() => new CategoriesApi(token), [token]);
|
||||
|
||||
const toast = useApiToast();
|
||||
const { handleError } = useApiToast();
|
||||
|
||||
const [rows, setRows] = useState([]);
|
||||
const [rawRows, setRawRows] = useState([]);
|
||||
@@ -85,7 +85,7 @@ export default function ProductCollections() {
|
||||
return found?.tagName || String(value);
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
// Cargar TagTypes + Tags
|
||||
useEffect(() => {
|
||||
let mounted = true;
|
||||
@@ -153,7 +153,7 @@ export default function ProductCollections() {
|
||||
setRawRows(normalized);
|
||||
} catch (err) {
|
||||
console.error(err);
|
||||
toast.error(err?.message || 'Error loading variants');
|
||||
handleError(err, 'Error loading product collections');
|
||||
} finally {
|
||||
setLoading(false);
|
||||
}
|
||||
@@ -177,12 +177,10 @@ export default function ProductCollections() {
|
||||
const confirmDelete = async () => {
|
||||
try {
|
||||
if (!editRow?.id) return;
|
||||
await api.changeStatusVariant({ mongoId: editRow.id, status: 'Inactive' });
|
||||
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);
|
||||
@@ -361,13 +359,13 @@ export default function ProductCollections() {
|
||||
</Box>
|
||||
|
||||
<Dialog open={open} onClose={() => setOpen(false)} maxWidth="md" fullWidth>
|
||||
<DialogTitle>
|
||||
{viewOnly
|
||||
? 'View Product Collection'
|
||||
: editRow
|
||||
? 'Edit Product Collection'
|
||||
: 'Add Product Collection'}
|
||||
</DialogTitle>
|
||||
<DialogTitle>
|
||||
{viewOnly
|
||||
? 'View Product Collection'
|
||||
: editRow
|
||||
? 'Edit Product Collection'
|
||||
: 'Add Product Collection'}
|
||||
</DialogTitle>
|
||||
<DialogContent>
|
||||
<AddOrEditProductCollectionForm
|
||||
initialData={editRow}
|
||||
@@ -384,7 +382,7 @@ export default function ProductCollections() {
|
||||
/>
|
||||
</DialogContent>
|
||||
</Dialog>
|
||||
|
||||
|
||||
<Dialog open={confirmOpen} onClose={() => setConfirmOpen(false)}>
|
||||
<DialogTitle>Delete Product Collection</DialogTitle>
|
||||
<DialogContent>
|
||||
|
||||
@@ -102,7 +102,7 @@ export default function UserManagement() {
|
||||
status: r.status ?? 'Active',
|
||||
companies: Array.isArray(r.companies) ? r.companies : [],
|
||||
projects: Array.isArray(r.projects) ? r.projects : [],
|
||||
};
|
||||
};
|
||||
setEditingData(normalized);
|
||||
setOpen(true);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user