diff --git a/pluginHolder/templates/pluginHolder/plugins.html b/pluginHolder/templates/pluginHolder/plugins.html index 089569bc6..f53e351a0 100644 --- a/pluginHolder/templates/pluginHolder/plugins.html +++ b/pluginHolder/templates/pluginHolder/plugins.html @@ -709,6 +709,32 @@ cursor: not-allowed; } + .btn-upgrade { + padding: 8px 16px; + background: #f59e0b; + color: white; + border: none; + border-radius: 6px; + font-size: 13px; + font-weight: 600; + cursor: pointer; + transition: all 0.2s; + display: inline-flex; + align-items: center; + gap: 6px; + } + + .btn-upgrade:hover:not(:disabled) { + background: #d97706; + transform: translateY(-1px); + box-shadow: 0 4px 8px rgba(245,158,11,0.3); + } + + .btn-upgrade:disabled { + opacity: 0.6; + cursor: not-allowed; + } + .btn-link { padding: 6px 12px; background: var(--bg-secondary, #f8f9ff); @@ -772,6 +798,17 @@ box-shadow: 0 4px 8px rgba(88,86,214,0.3); } + .btn-revert { + background: #6c757d; + color: white; + } + + .btn-revert:hover:not(:disabled) { + background: #5a6268; + transform: translateY(-1px); + box-shadow: 0 4px 8px rgba(108,117,125,0.3); + } + .btn-uninstall { background: #dc3545; color: white; @@ -1042,6 +1079,9 @@ {% trans "Activate" %} {% endif %} + @@ -1123,6 +1163,9 @@ {% trans "Activate" %} {% endif %} + @@ -1194,6 +1237,17 @@
+ +
+ {% trans "Loading plugins from store..." %} +
+ + + +
@@ -1208,6 +1262,9 @@ {% trans "Cache Information:" %} {% trans "Plugin store data is cached for 1 hour to improve performance and reduce GitHub API rate limits. New plugins may take up to 1 hour to appear after being published." %} + {% if cache_expiry_timestamp %} +
{% trans "Next cache update:" %} {% trans "Calculating..." %} + {% endif %}

@@ -1410,12 +1467,20 @@ function displayStorePlugins() {

`; - // Action column - Store view only shows Install/Installed (no Deactivate/Uninstall) + // Action column - Store view only shows Install/Installed/Upgrade (no Deactivate/Uninstall) // NOTE: Store view should NOT show Deactivate/Uninstall buttons - users manage from Grid/Table views let actionHtml = ''; if (plugin.installed) { - // Show "Installed" text - actionHtml = 'Installed'; + // Check if update is available + if (plugin.update_available) { + // Show Upgrade button + actionHtml = ``; + } else { + // Show "Installed" text + actionHtml = 'Installed'; + } } else { // Show Install button actionHtml = `