diff --git a/extensions-builtin/sd-webui-controlnet b/extensions-builtin/sd-webui-controlnet
index 30cc2ec84..2785cbe61 160000
--- a/extensions-builtin/sd-webui-controlnet
+++ b/extensions-builtin/sd-webui-controlnet
@@ -1 +1 @@
-Subproject commit 30cc2ec84f6bf618312a942464be8e563b6f80f3
+Subproject commit 2785cbe61a61c137d4e980752771f6329b03612a
diff --git a/javascript/extraNetworks.js b/javascript/extraNetworks.js
index 378348d33..f2e763362 100644
--- a/javascript/extraNetworks.js
+++ b/javascript/extraNetworks.js
@@ -32,19 +32,19 @@ function setupExtraNetworksForTab(tabname) {
if (rect.top > 0) {
if (!en) return
if (window.opts.extra_networks_card_cover == 'cover') {
- en.style.zIndex = 0;
+ en.style.zIndex = 9999;
en.style.position = 'absolute';
en.style.right = 'unset';
en.style.width = 'unset';
el.style.height = document.body.offsetHeight - el.getBoundingClientRect().top + 'px';
gradioApp().getElementById(`${tabname}_settings`).parentNode.style.width = 'unset'
} if (window.opts.extra_networks_card_cover == 'sidebar') {
- en.style.zIndex = 9999;
+ en.style.zIndex = 0;
en.style.position = 'absolute';
en.style.right = '0';
- en.style.width = '38vw';
+ en.style.width = window.opts.extra_networks_sidebar_width + 'vw';
el.style.height = gradioApp().getElementById(`${tabname}_settings`).offsetHeight - 90 + 'px';
- gradioApp().getElementById(`${tabname}_settings`).parentNode.style.width = '60vw'
+ gradioApp().getElementById(`${tabname}_settings`).parentNode.style.width = 100 - 2 - window.opts.extra_networks_sidebar_width + 'vw';
} else {
en.style.zIndex = 0;
en.style.position = 'relative';
@@ -156,7 +156,6 @@ function readCardDescription(event, tabname, filename, descript, extraPage, card
const button = gradioApp().getElementById(`${tabname}_read_description`);
textarea.value = filename;
description.value = descript;
- console.log(textarea.value, description.value);
updateInput(textarea);
updateInput(description);
button.click();
diff --git a/javascript/style.css b/javascript/style.css
index c216e545f..19faaa021 100644
--- a/javascript/style.css
+++ b/javascript/style.css
@@ -542,7 +542,7 @@ table.settings-value-table td{
.extra-networks-page { display: flex }
.extra-networks .custom-button { min-width: 60px; width: 100%; background: none; justify-content: left; padding: 2px 8px 2px 8px; box-shadow: none; }
.extra-networks .custom-button:hover { background: var(--button-primary-background-fill) }
-.extra-network-cards { display: flex; flex-wrap: wrap; height: 50vh; overflow-y: scroll; overflow-x: hidden; scroll-snap-type: y mandatory; }
+.extra-network-cards { display: flex; flex-wrap: wrap; height: 50vh; overflow-y: scroll; overflow-x: hidden; scroll-snap-type: y mandatory; width: -webkit-fill-available; }
.extra-network-cards .card { height: fit-content; margin: 0.5em; position: relative; scroll-snap-align: start; scroll-margin-top: 0; }
.extra-network-cards .card .overlay { position: absolute; bottom: 0; padding: 0.2em; z-index: 10; width: 100%; background: none; }
.extra-network-cards .card:hover .overlay { background: rgba(0, 0, 0, 0.40); }
diff --git a/modules/shared.py b/modules/shared.py
index 36854d33a..7d5b939d3 100644
--- a/modules/shared.py
+++ b/modules/shared.py
@@ -522,6 +522,7 @@ options_templates.update(options_section(('upscaling', "Upscaling"), {
options_templates.update(options_section(('extra_networks', "Extra Networks"), {
"extra_networks_card_cover": OptionInfo("inline", "UI position", gr.Radio, lambda: {"choices": ["cover", "inline", "sidebar"]}),
+ "extra_networks_sidebar_width": OptionInfo(35, "UI sidebar width (%)", gr.Slider, {"minimum": 10, "maximum": 80, "step": 1}),
"extra_networks_card_size": OptionInfo(200, "UI card size (px)", gr.Slider, {"minimum": 20, "maximum": 2000, "step": 1}),
"extra_networks_card_square": OptionInfo(False, "UI disable variable aspect ratio"),
"extra_networks_card_fit": OptionInfo("cover", "UI image contain method", gr.Radio, lambda: {"choices": ["contain", "cover", "fill"]}),
diff --git a/modules/ui_extensions.py b/modules/ui_extensions.py
index 281ad9597..2a3c36a09 100644
--- a/modules/ui_extensions.py
+++ b/modules/ui_extensions.py
@@ -332,7 +332,7 @@ def refresh_extensions_list_from_data(search_text, sort_column):
ext['sort_enabled'] = f"{'0' if ext['enabled'] else '1'}{'1' if ext['is_builtin'] else '0'}{'1' if ext['installed'] else '0'}{ext.get('updated', '2000-01-01T00:00')}"
ext['sort_update'] = f"{'1' if update_available else '0'}{'1' if ext['installed'] else '0'}{ext.get('updated', '2000-01-01T00:00')}"
timedelta = datetime.now() - datetime.fromisoformat(ext.get('created', '2000-01-01T00:00Z')[:-1])
- ext['sort_trending'] = round(stars / (timedelta.days + 1), 1)
+ ext['sort_trending'] = round(stars / min(timedelta.days, 5), 1)
tags = ext.get("tags", [])
if not isinstance(tags, list):
tags = tags.split(' ')
diff --git a/modules/ui_extra_networks.py b/modules/ui_extra_networks.py
index ded4f809f..ba4e7662e 100644
--- a/modules/ui_extra_networks.py
+++ b/modules/ui_extra_networks.py
@@ -165,26 +165,29 @@ class ExtraNetworksPage:
""" for subdir in subdirs])
-# try:
- self.items = list(self.list_items())
- self.create_xyz_grid()
- for item in self.items:
- self.metadata[item["name"]] = item.get("metadata", {})
- self.info[item["name"]] = self.find_info(item['filename'])
- items_html += self.create_html_for_item(item, tabname)
- if items_html == '':
- dirs = "".join([f"