diff --git a/frontend/src/components/settings/ImportTriggerPanel.vue b/frontend/src/components/settings/ImportTriggerPanel.vue index 232df86..957aaf6 100644 --- a/frontend/src/components/settings/ImportTriggerPanel.vue +++ b/frontend/src/components/settings/ImportTriggerPanel.vue @@ -2,7 +2,7 @@ Trigger scan -
+
@@ -13,20 +13,40 @@ failed {{ store.activeBatch.failed }} / {{ store.activeBatch.total_files }} files + + + Clear stuck +
-
-

+ +

+ Run a quick scan of the import directory. Deep scan (pHash dedup, archives) lands in FC-2d. -

- - mdi-magnify-scan - Quick scan - - - {{ store.triggerError }} - -
+ + + An active batch is in progress. Wait for it to finish, or click + Clear stuck above if it has been wedged with no + measurable progress. + +

+ + + mdi-magnify-scan + Quick scan + + + + {{ store.triggerError }} + @@ -37,9 +57,21 @@ import { useImportStore } from '../../stores/import.js' const store = useImportStore() const busy = ref(false) +const clearing = ref(false) async function trigger() { busy.value = true try { await store.triggerScan() } catch {} finally { busy.value = false } } + +async function onClearStuck() { + clearing.value = true + try { + await store.clearStuck() + } catch { + // store surfaces error via triggerError if needed + } finally { + clearing.value = false + } +}