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",
"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.",

View File

@ -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() {
/>
</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>
{/* Action Buttons */}