diff --git a/extensions-builtin/sdnext-modernui b/extensions-builtin/sdnext-modernui index f0eacfce3..d24549711 160000 --- a/extensions-builtin/sdnext-modernui +++ b/extensions-builtin/sdnext-modernui @@ -1 +1 @@ -Subproject commit f0eacfce3c0945126d5516e61e508762a1b78671 +Subproject commit d24549711d0b29407e6bc1215c6c2ed743978335 diff --git a/javascript/extraNetworks.js b/javascript/extraNetworks.js index a93cff798..244f7c428 100644 --- a/javascript/extraNetworks.js +++ b/javascript/extraNetworks.js @@ -279,8 +279,8 @@ function applyStyles(styles) { if (index > -1) newStyles.splice(index, 1); else newStyles.push(desiredStyle); gradioApp().querySelectorAll('.extra-network-cards .card').forEach((el) => { - if (newStyles.includes(el.getAttribute('data-name'))) el.style.boxShadow = '0 0 2px 4px var(--button-primary-border-color)'; - else el.style.boxShadow = 'none'; + if (newStyles.includes(el.getAttribute('data-name'))) el.classList.add('card-selected'); + else el.classList.remove('card-selected'); }); return newStyles.join('|'); } diff --git a/javascript/sdnext.css b/javascript/sdnext.css index 7c3874a30..d68a1be8e 100644 --- a/javascript/sdnext.css +++ b/javascript/sdnext.css @@ -1250,6 +1250,11 @@ table.settings-value-table td { contain: strict; } +*.extra-network-cards .card-selected { + transform: scale(0.9); + box-shadow: 0 0 2em var(--button-primary-background-fill); +} + .extra-network-cards .card .overlay { background: none; width: 100%; diff --git a/modules/civitai/api_civitai.py b/modules/civitai/api_civitai.py index 8e4561723..92add902f 100644 --- a/modules/civitai/api_civitai.py +++ b/modules/civitai/api_civitai.py @@ -28,7 +28,7 @@ def get_civitai( period:str = '', # AllTime, Year, Month, Week, Day nsfw:bool = None, # optional:bool limit:int = 0, - base:list[str] = [], # list + base:str = '', token:str = None, exact:bool = True, ): diff --git a/modules/civitai/search_civitai.py b/modules/civitai/search_civitai.py index bb7601155..8f0f2bad5 100644 --- a/modules/civitai/search_civitai.py +++ b/modules/civitai/search_civitai.py @@ -7,6 +7,7 @@ from installer import install, log full_dct = False full_html = False +base_models = ['', 'ODOR', 'SD 1.4', 'SD 1.5', 'SD 1.5 LCM', 'SD 1.5 Hyper', 'SD 2.0', 'SD 2.0 768', 'SD 2.1', 'SD 2.1 768', 'SD 2.1 Unclip', 'SDXL 0.9', 'SDXL 1.0', 'SD 3', 'SD 3.5', 'SD 3.5 Medium', 'SD 3.5 Large', 'SD 3.5 Large Turbo', 'Pony', 'Flux.1 S', 'Flux.1 D', 'Flux.1 Kontext', 'AuraFlow', 'SDXL 1.0 LCM', 'SDXL Distilled', 'SDXL Turbo', 'SDXL Lightning', 'SDXL Hyper', 'Stable Cascade', 'SVD', 'SVD XT', 'Playground v2', 'PixArt a', 'PixArt E', 'Hunyuan 1', 'Hunyuan Video', 'Lumina', 'Kolors', 'Illustrious', 'Mochi', 'LTXV', 'CogVideoX', 'NoobAI', 'Wan Video', 'Wan Video 1.3B t2v', 'Wan Video 14B t2v', 'Wan Video 14B i2v 480p', 'Wan Video 14B i2v 720p', 'HiDream', 'OpenAI', 'Imagen4', 'Other'] # noqa: E501 @dataclass @@ -100,7 +101,7 @@ def search_civitai( period:str = '', # (AllTime, Year, Month, Week, Day) nsfw:bool = None, # optional:bool limit:int = 0, - base:list[str] = [], # list + base:str = '', # list token:str = None, exact:bool = True, ): @@ -128,7 +129,7 @@ def search_civitai( if len(period) > 0: dct['period'] = period if len(base) > 0: - dct['baseModels'] = ','.join(base) + dct['baseModels'] = base encoded = urlencode(dct) headers = {} diff --git a/modules/ui_models.py b/modules/ui_models.py index f6f2aa257..141558878 100644 --- a/modules/ui_models.py +++ b/modules/ui_models.py @@ -469,8 +469,8 @@ def create_ui(): ) with gr.Tab(label="CivitAI", elem_id="models_civitai_tab"): + from modules.civitai.search_civitai import search_civitai, create_model_cards, base_models def civitai_search(civit_search_text, civit_search_tag, civit_nsfw, civit_type, civit_base, civit_token): - from modules.civitai.search_civitai import search_civitai, create_model_cards results = search_civitai(query=civit_search_text, tag=civit_search_tag, nsfw=civit_nsfw, types=civit_type, base=civit_base, token=civit_token) html = create_model_cards(results) return html @@ -502,7 +502,8 @@ def create_ui(): with gr.Row(): civit_type = gr.Textbox(label='Model type', placeholder='Checkpoint, LORA, ...') with gr.Row(): - civit_base = gr.Textbox(label='Base model', placeholder='SDXL, ...') + # civit_base = gr.Textbox(label='Base model', placeholder='SDXL, ...') + civit_base = gr.Dropdown(choices=base_models, label='Base model', value='') with gr.Row(): civit_folder = gr.Textbox(label='Download folder', placeholder='optional folder for downloads') with gr.Row():