From 9cdbf2efff0b58ffe154bff0324742eda06fa25e Mon Sep 17 00:00:00 2001 From: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com> Date: Mon, 23 Mar 2026 10:09:24 -0500 Subject: [PATCH] frontend --- web/public/locales/en/views/settings.json | 2 ++ .../views/settings/MediaSyncSettingsView.tsx | 23 ++++++++++++++++++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/web/public/locales/en/views/settings.json b/web/public/locales/en/views/settings.json index f5c20a410..dae615e87 100644 --- a/web/public/locales/en/views/settings.json +++ b/web/public/locales/en/views/settings.json @@ -1253,6 +1253,8 @@ "dryRunDisabled": "Files will be deleted", "force": "Force", "forceDesc": "Bypass safety threshold and complete sync even if more than 50% of the files would be deleted.", + "verbose": "Verbose", + "verboseDesc": "Write a full list of orphaned files to disk for review.", "running": "Sync Running...", "start": "Start Sync", "inProgress": "Sync is in progress. This page is disabled.", diff --git a/web/src/views/settings/MediaSyncSettingsView.tsx b/web/src/views/settings/MediaSyncSettingsView.tsx index afbfe3ea1..5ff72b8c8 100644 --- a/web/src/views/settings/MediaSyncSettingsView.tsx +++ b/web/src/views/settings/MediaSyncSettingsView.tsx @@ -22,6 +22,7 @@ export default function MediaSyncSettingsView() { ]); const [dryRun, setDryRun] = useState(true); const [force, setForce] = useState(false); + const [verbose, setVerbose] = useState(false); const [isSubmitting, setIsSubmitting] = useState(false); const MEDIA_TYPES = [ @@ -67,6 +68,7 @@ export default function MediaSyncSettingsView() { dry_run: dryRun, media_types: selectedMediaTypes, force: force, + verbose: verbose, }, { headers: { @@ -94,7 +96,7 @@ export default function MediaSyncSettingsView() { } finally { setIsSubmitting(false); } - }, [selectedMediaTypes, dryRun, force, t]); + }, [selectedMediaTypes, dryRun, force, verbose, t]); return ( <> @@ -205,6 +207,25 @@ export default function MediaSyncSettingsView() { /> + +
+
+
+ +

+ {t("maintenance.sync.verboseDesc")} +

+
+ +
+
{/* Action Buttons */}