add: more things

Signed-off-by: Kenneth Obsequio <k80308392@gmail.com>
This commit is contained in:
2026-07-04 03:35:22 +08:00
parent 72298b86cd
commit b0f40e5133
78 changed files with 2116 additions and 1621 deletions
@@ -195,6 +195,30 @@ export function NotificationBroadcastsProvider({ children }) {
[request]
);
// ─── DELETE /api/admin/notification-broadcasts/:broadcastId/permanent ─────
const permanentlyDeleteBroadcast = useCallback(
(broadcastId) =>
request(async () => {
const res = await api.delete(`/admin/notification-broadcasts/${broadcastId}/permanent`);
setBroadcasts((prev) => prev.filter((b) => b.broadcast_id !== broadcastId));
toast.success("Notification broadcast permanently deleted.");
return res.data;
}),
[request]
);
// ─── DELETE /api/admin/notification-broadcasts/bulk/permanent ─────────────
const permanentlyDeleteBroadcasts = useCallback(
({ ids }) =>
request(async () => {
const res = await api.delete("/admin/notification-broadcasts/bulk/permanent", { data: { ids } });
setBroadcasts((prev) => prev.filter((b) => !ids.includes(b.broadcast_id)));
toast.success(`${ids.length} notification broadcast(s) permanently deleted.`);
return res.data;
}),
[request]
);
return (
<NotificationBroadcastsContext.Provider value={{
broadcasts,
@@ -214,6 +238,8 @@ export function NotificationBroadcastsProvider({ children }) {
archiveBroadcasts,
restoreBroadcast,
restoreBroadcasts,
permanentlyDeleteBroadcast,
permanentlyDeleteBroadcasts,
}}>
{children}
</NotificationBroadcastsContext.Provider>