fix(recipe): reimport data loss, local file support, and scroll bugs

- Add local file reimport support via _do_reimport_from_local
- Validate source_path BEFORE deleting old recipe (prevent data loss)
- Move delete_recipe after save_recipe (safe ordering)
- Preserve folder location, NSFW level, and carry over user edits
- Remove old timestamp preservation (use current time)
- Add scrollTop reset in resetAndReloadWithVirtualScroll
- Only reload on successful bulk reimport (avoid empty grid)
- Disable preserveScroll for both single and bulk reimport
This commit is contained in:
Will Miao
2026-06-11 21:31:30 +08:00
parent 05f3018495
commit 46cbcf94c8
5 changed files with 154 additions and 35 deletions

View File

@@ -347,7 +347,7 @@ export class RecipeContextMenu extends BaseContextMenu {
state.loadingManager.hide();
showToast('toast.recipes.reimportSuccess', {}, 'success');
const { resetAndReload } = await import('../../api/recipeApi.js');
resetAndReload(false, { preserveScroll: true });
resetAndReload(false, { preserveScroll: false });
} else {
throw new Error(result.error || 'Re-import failed');
}