This commit is contained in:
Josh Hawkins 2026-03-23 10:09:24 -05:00
parent 102be124d4
commit 9cdbf2efff
2 changed files with 24 additions and 1 deletions

View File

@ -1253,6 +1253,8 @@
"dryRunDisabled": "Files will be deleted", "dryRunDisabled": "Files will be deleted",
"force": "Force", "force": "Force",
"forceDesc": "Bypass safety threshold and complete sync even if more than 50% of the files would be deleted.", "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...", "running": "Sync Running...",
"start": "Start Sync", "start": "Start Sync",
"inProgress": "Sync is in progress. This page is disabled.", "inProgress": "Sync is in progress. This page is disabled.",

View File

@ -22,6 +22,7 @@ export default function MediaSyncSettingsView() {
]); ]);
const [dryRun, setDryRun] = useState(true); const [dryRun, setDryRun] = useState(true);
const [force, setForce] = useState(false); const [force, setForce] = useState(false);
const [verbose, setVerbose] = useState(false);
const [isSubmitting, setIsSubmitting] = useState(false); const [isSubmitting, setIsSubmitting] = useState(false);
const MEDIA_TYPES = [ const MEDIA_TYPES = [
@ -67,6 +68,7 @@ export default function MediaSyncSettingsView() {
dry_run: dryRun, dry_run: dryRun,
media_types: selectedMediaTypes, media_types: selectedMediaTypes,
force: force, force: force,
verbose: verbose,
}, },
{ {
headers: { headers: {
@ -94,7 +96,7 @@ export default function MediaSyncSettingsView() {
} finally { } finally {
setIsSubmitting(false); setIsSubmitting(false);
} }
}, [selectedMediaTypes, dryRun, force, t]); }, [selectedMediaTypes, dryRun, force, verbose, t]);
return ( return (
<> <>
@ -205,6 +207,25 @@ export default function MediaSyncSettingsView() {
/> />
</div> </div>
</div> </div>
<div className="flex flex-col">
<div className="flex flex-row items-center justify-between gap-4">
<div className="space-y-0.5">
<Label htmlFor="verbose" className="cursor-pointer">
{t("maintenance.sync.verbose")}
</Label>
<p className="text-xs text-muted-foreground">
{t("maintenance.sync.verboseDesc")}
</p>
</div>
<Switch
id="verbose"
checked={verbose}
onCheckedChange={setVerbose}
disabled={isJobRunning}
/>
</div>
</div>
</div> </div>
{/* Action Buttons */} {/* Action Buttons */}