From dac71afedcbc59b9aebfbbb4c910bb4e61ee33f0 Mon Sep 17 00:00:00 2001 From: Chuck <33324927+ChuckBuilds@users.noreply.github.com> Date: Mon, 14 Sep 2026 13:27:00 -0400 Subject: [PATCH] fix(web): full-height plugin config form and full-width plugin card descriptions (#573) * fix(web): let the plugin config form use the full page height The form wrapper has carried `max-h-96 overflow-y-auto` since #145, but the class was a no-op until #568 defined `.max-h-96` in app.css. That silently capped the whole config form at 24rem with a nested scrollbar. Drop the cap so the form flows naturally and the page scrolls. Co-Authored-By: Claude Opus 5 * fix(web): give installed plugin card descriptions the full card width The enable/disable toggle was a flex sibling of the whole text column (name, metadata, description), so it reserved its width for the full height of the card body. Descriptions wrapped into a narrow strip, leaving blank space under the toggle and making cards very tall. Move the toggle into a header row with just the name and badges, and render the metadata and description below at full width. Co-Authored-By: Claude Opus 5 --------- Co-authored-by: Claude Opus 5 --- web_interface/static/v3/plugins_manager.js | 25 +++++++++++-------- .../templates/v3/partials/plugin_config.html | 2 +- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/web_interface/static/v3/plugins_manager.js b/web_interface/static/v3/plugins_manager.js index 95bb7155..cf4f87b3 100644 --- a/web_interface/static/v3/plugins_manager.js +++ b/web_interface/static/v3/plugins_manager.js @@ -1556,22 +1556,18 @@ function renderInstalledCards(plugins, total) { return `
-
-
-
+
+ +
+

${escapeHtml(plugin.name || plugin.id)}

${plugin.is_starlark_app ? 'Starlark' : ''} ${plugin.verified ? 'Verified' : ''}
-
-

${escapeHtml(plugin.author || 'Unknown')}

- ${plugin.version ? `

v${escapeHtml(plugin.version)}${plugin.update_available && plugin.latest_version ? `v${escapeHtml(plugin.latest_version)} available` : ''}

` : ''} -

${escapeHtml(plugin.category || 'General')}

-
-

${escapeHtml(plugin.description || 'No description available')}

-
-
+
+
+
+

${escapeHtml(plugin.author || 'Unknown')}

+ ${plugin.version ? `

v${escapeHtml(plugin.version)}${plugin.update_available && plugin.latest_version ? `v${escapeHtml(plugin.latest_version)} available` : ''}

` : ''} +

${escapeHtml(plugin.category || 'General')}

+
+

${escapeHtml(plugin.description || 'No description available')}

diff --git a/web_interface/templates/v3/partials/plugin_config.html b/web_interface/templates/v3/partials/plugin_config.html index 3e30f7fc..8b7e661b 100644 --- a/web_interface/templates/v3/partials/plugin_config.html +++ b/web_interface/templates/v3/partials/plugin_config.html @@ -1266,7 +1266,7 @@

Configuration

{{ ui.settings_filter("Filter this plugin's settings…") }} -
+
{% if schema and schema.properties %} {# Use property order if defined, otherwise use natural order #} {# Skip 'enabled' field - it's handled by the header toggle #}