diff --git a/apps/backoffice/app/components/LibraryActions.tsx b/apps/backoffice/app/components/LibraryActions.tsx index 88ee32b..115782c 100644 --- a/apps/backoffice/app/components/LibraryActions.tsx +++ b/apps/backoffice/app/components/LibraryActions.tsx @@ -35,21 +35,32 @@ export function LibraryActions({ const handleSubmit = (formData: FormData) => { startTransition(async () => { - const data = { - monitor_enabled: formData.get("monitor_enabled") === "true", - scan_mode: formData.get("scan_mode") as string, - watcher_enabled: formData.get("watcher_enabled") === "true", - }; + const monitorEnabled = formData.get("monitor_enabled") === "true"; + const watcherEnabled = formData.get("watcher_enabled") === "true"; + const scanMode = formData.get("scan_mode") as string; - await fetch(`/api/libraries/${libraryId}/monitoring`, { - method: "PATCH", - headers: { "Content-Type": "application/json" }, - body: JSON.stringify(data), - }); - - setIsOpen(false); - onUpdate?.(); - window.location.reload(); + try { + const response = await fetch(`/api/libraries/${libraryId}/monitoring`, { + method: "PATCH", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify({ + monitor_enabled: monitorEnabled, + scan_mode: scanMode, + watcher_enabled: watcherEnabled, + }), + }); + + if (response.ok) { + setIsOpen(false); + window.location.reload(); + } else { + console.error("Failed to save settings:", response.statusText); + alert("Failed to save settings. Please try again."); + } + } catch (error) { + console.error("Failed to save settings:", error); + alert("Failed to save settings. Please try again."); + } }); }; @@ -69,23 +80,29 @@ export function LibraryActions({