From 22c0dbd734e7a1db8cfe0f76d6a213bae5288854 Mon Sep 17 00:00:00 2001 From: Will Miao Date: Tue, 17 Mar 2026 11:01:41 +0800 Subject: [PATCH] feat(recipes): persist 'Skip images without metadata' choice in batch import --- static/js/managers/BatchImportManager.js | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/static/js/managers/BatchImportManager.js b/static/js/managers/BatchImportManager.js index ff100398..53984a6b 100644 --- a/static/js/managers/BatchImportManager.js +++ b/static/js/managers/BatchImportManager.js @@ -2,6 +2,7 @@ import { modalManager } from './ModalManager.js'; import { showToast } from '../utils/uiHelpers.js'; import { translate } from '../utils/i18nHelpers.js'; import { WS_ENDPOINTS } from '../api/apiConfig.js'; +import { getStorageItem, setStorageItem } from '../utils/storageHelpers.js'; /** * Manager for batch importing recipes from multiple images @@ -34,6 +35,14 @@ export class BatchImportManager { */ initialize() { this.initialized = true; + + // Add event listener for persisting "Skip images without metadata" choice + const skipNoMetadata = document.getElementById('batchSkipNoMetadata'); + if (skipNoMetadata) { + skipNoMetadata.addEventListener('change', (e) => { + setStorageItem('batch_import_skip_no_metadata', e.target.checked); + }); + } } /** @@ -61,7 +70,10 @@ export class BatchImportManager { if (tagsInput) tagsInput.value = ''; const skipNoMetadata = document.getElementById('batchSkipNoMetadata'); - if (skipNoMetadata) skipNoMetadata.checked = true; + if (skipNoMetadata) { + // Load preference from storage, defaulting to true + skipNoMetadata.checked = getStorageItem('batch_import_skip_no_metadata', true); + } const recursiveCheck = document.getElementById('batchRecursiveCheck'); if (recursiveCheck) recursiveCheck.checked = true;