Enhance recipe search functionality with improved state management and search options

- Introduced new search options for recipes, allowing users to filter by title, tags, LoRA filename, and LoRA model name.
- Updated the RecipeRoutes and RecipeScanner to accommodate the new search options, enhancing the filtering capabilities.
- Refactored RecipeManager and RecipeSearchManager to utilize the hierarchical state structure for managing search parameters and pagination state.
- Improved the user interface by dynamically displaying relevant search options based on the current page context.
This commit is contained in:
Will Miao
2025-03-20 08:27:38 +08:00
parent 90f74018ae
commit caf5b1528c
7 changed files with 145 additions and 61 deletions

View File

@@ -194,7 +194,7 @@ export class SearchManager {
});
}
// Apply recursive search
// Apply recursive search - only if the toggle exists
if (this.recursiveSearchToggle && preferences.recursive !== undefined) {
this.recursiveSearchToggle.checked = preferences.recursive;
}
@@ -245,10 +245,14 @@ export class SearchManager {
});
const preferences = {
options,
recursive: this.recursiveSearchToggle ? this.recursiveSearchToggle.checked : false
options
};
// Only add recursive option if the toggle exists
if (this.recursiveSearchToggle) {
preferences.recursive = this.recursiveSearchToggle.checked;
}
localStorage.setItem(`${this.currentPage}_search_prefs`, JSON.stringify(preferences));
} catch (error) {
console.error('Error saving search preferences:', error);