From 8f4d575ec8accc8224d48e2b45f3acb940191c16 Mon Sep 17 00:00:00 2001 From: Will Miao <13051207myq@gmail.com> Date: Thu, 19 Jun 2025 17:07:28 +0800 Subject: [PATCH] refactor: Improve metadata handling and streamline example image loading in modals --- py/utils/routes_common.py | 8 +- static/js/components/checkpointModal/index.js | 68 ++----------- static/js/components/loraModal/index.js | 99 ++++++------------- .../shared/showcase/ShowcaseView.js | 52 ++++++++++ 4 files changed, 96 insertions(+), 131 deletions(-) diff --git a/py/utils/routes_common.py b/py/utils/routes_common.py index 88068459..f337488e 100644 --- a/py/utils/routes_common.py +++ b/py/utils/routes_common.py @@ -40,16 +40,16 @@ class ModelRouteUtils: civitai_metadata: Dict, client: CivitaiClient) -> None: """Update local metadata with CivitAI data""" # Save existing trainedWords and customImages if they exist - existing_civitai = local_metadata.get('civitai', {}) - existing_trained_words = existing_civitai.get('trainedWords', []) + existing_civitai = local_metadata.get('civitai') or {} # Use empty dict if None # Create a new civitai metadata by updating existing with new merged_civitai = existing_civitai.copy() merged_civitai.update(civitai_metadata) # Special handling for trainedWords - ensure we don't lose any existing trained words - new_trained_words = civitai_metadata.get('trainedWords', []) - if existing_trained_words: + if 'trainedWords' in existing_civitai: + existing_trained_words = existing_civitai.get('trainedWords', []) + new_trained_words = civitai_metadata.get('trainedWords', []) # Use a set to combine words without duplicates, then convert back to list merged_trained_words = list(set(existing_trained_words + new_trained_words)) merged_civitai['trainedWords'] = merged_trained_words diff --git a/static/js/components/checkpointModal/index.js b/static/js/components/checkpointModal/index.js index cdd61b91..56c0f03e 100644 --- a/static/js/components/checkpointModal/index.js +++ b/static/js/components/checkpointModal/index.js @@ -6,12 +6,10 @@ import { showToast } from '../../utils/uiHelpers.js'; import { modalManager } from '../../managers/ModalManager.js'; import { - renderShowcaseContent, - initShowcaseContent, toggleShowcase, setupShowcaseScroll, scrollToTop, - initExampleImport + loadExampleImages } from '../shared/showcase/ShowcaseView.js'; import { setupTabSwitching, loadModelDescription } from './ModelDescription.js'; import { @@ -108,7 +106,7 @@ export function showCheckpointModal(checkpoint) { -