add: more things

Signed-off-by: Kenneth Obsequio <k80308392@gmail.com>
This commit is contained in:
2026-07-06 15:21:36 +08:00
parent 41e98bb602
commit 244aa607f7
71 changed files with 2998 additions and 1014 deletions
+54 -9
View File
@@ -69,7 +69,12 @@ export function AssetsProvider({ children }) {
return await fn();
} catch (err) {
const message = err?.response?.data?.message ?? "Something went wrong.";
toast.error(message);
toast(message, {
action: {
label: "Close",
onClick: () => {}
}
});
return null;
} finally {
setLoading(false);
@@ -201,7 +206,12 @@ export function AssetsProvider({ children }) {
if (asset) {
setAssets((prev) => [asset, ...prev]);
invalidateListCache();
toast.success("Asset uploaded successfully.");
toast("Asset uploaded successfully.", {
action: {
label: "Close",
onClick: () => {}
}
});
}
return res.data;
}),
@@ -227,7 +237,12 @@ export function AssetsProvider({ children }) {
setAssets((prev) => prev.map((a) => (a.asset_id === assetId ? asset : a)));
setSelectedAsset(asset);
invalidateListCache();
toast.success("Asset updated successfully.");
toast("Asset updated successfully.", {
action: {
label: "Close",
onClick: () => {}
}
});
}
return res.data;
}),
@@ -244,7 +259,12 @@ export function AssetsProvider({ children }) {
setAssets((prev) => prev.filter((a) => a.asset_id !== assetId));
setSelectedAsset((prev) => (prev?.asset_id === assetId ? null : prev));
invalidateListCache();
toast.success("Asset archived.");
toast("Asset archived.", {
action: {
label: "Close",
onClick: () => {}
}
});
return res.data;
}),
[request]
@@ -259,7 +279,12 @@ export function AssetsProvider({ children }) {
});
setAssets((prev) => prev.filter((a) => !ids.includes(a.asset_id)));
invalidateListCache();
toast.success(`${ids.length} asset(s) archived.`);
toast(`${ids.length} asset(s) archived.`, {
action: {
label: "Close",
onClick: () => {}
}
});
return res.data;
}),
[request]
@@ -274,7 +299,12 @@ export function AssetsProvider({ children }) {
if (asset) {
setAssets((prev) => prev.filter((a) => a.asset_id !== assetId));
invalidateListCache();
toast.success("Asset restored.");
toast("Asset restored.", {
action: {
label: "Close",
onClick: () => {}
}
});
}
return res.data;
}),
@@ -288,7 +318,12 @@ export function AssetsProvider({ children }) {
const res = await api.patch("/admin/assets/bulk-restore", { ids });
setAssets((prev) => prev.filter((a) => !ids.includes(a.asset_id)));
invalidateListCache();
toast.success(`${ids.length} asset(s) restored.`);
toast(`${ids.length} asset(s) restored.`, {
action: {
label: "Close",
onClick: () => {}
}
});
return res.data;
}),
[request]
@@ -302,7 +337,12 @@ export function AssetsProvider({ children }) {
setAssets((prev) => prev.filter((a) => a.asset_id !== assetId));
setSelectedAsset((prev) => (prev?.asset_id === assetId ? null : prev));
invalidateListCache();
toast.success("Asset permanently deleted.");
toast("Asset permanently deleted.", {
action: {
label: "Close",
onClick: () => {}
}
});
return res.data;
}),
[request]
@@ -317,7 +357,12 @@ export function AssetsProvider({ children }) {
});
setAssets((prev) => prev.filter((a) => !ids.includes(a.asset_id)));
invalidateListCache();
toast.success(`${ids.length} asset(s) permanently deleted.`);
toast(`${ids.length} asset(s) permanently deleted.`, {
action: {
label: "Close",
onClick: () => {}
}
});
return res.data;
}),
[request]