diff --git a/containers/libreportal/frontend/components/admin/config/js/catalog-manager.js b/containers/libreportal/frontend/components/admin/config/js/catalog-manager.js index d04f6ce..e8efe0a 100644 --- a/containers/libreportal/frontend/components/admin/config/js/catalog-manager.js +++ b/containers/libreportal/frontend/components/admin/config/js/catalog-manager.js @@ -188,7 +188,7 @@ window.validateCatalogFormat = function (input) { window.officialCatalogActionHTML = function (enabled) { return enabled ? `` - : ``; + : ``; }; window.deleteOfficialCatalog = function () { diff --git a/containers/libreportal/frontend/core/forms/css/config.css b/containers/libreportal/frontend/core/forms/css/config.css index 0fe5a50..187bb79 100644 --- a/containers/libreportal/frontend/core/forms/css/config.css +++ b/containers/libreportal/frontend/core/forms/css/config.css @@ -324,6 +324,44 @@ pointer-events: none; } +/* Official-catalog row action column. align-self:stretch makes it match the + URL field's height (whatever that computes to), so its button sits inline and + the same height as the input — and centres the compact × in the enabled + state instead of pinning it to the top. */ +.domain-header [data-official-action] { + align-self: stretch; + display: inline-flex; + align-items: center; + flex-shrink: 0; +} + +/* Re-enable action (shown when the official catalog is hidden). A clear + accent-tinted, accent-bordered button with a hover state so it reads as + clickable — the generic .btn-secondary loses its themed polish outside + .config-actions and rendered as a flat, greyed-out pill. Fills the row + height (100% of the stretched column) to line up with the URL field. */ +.catalog-reenable-btn { + height: 100%; + padding: 0 16px; + border-radius: 4px; + border: 1px solid rgba(var(--accent-rgb), 0.55); + background: rgba(var(--accent-rgb), 0.16); + color: var(--accent); + font-size: 14px; + font-weight: 600; + cursor: pointer; + display: inline-flex; + align-items: center; + gap: 6px; + white-space: nowrap; + transition: background 0.15s ease, border-color 0.15s ease, transform 0.1s ease; +} +.catalog-reenable-btn:hover { + background: rgba(var(--accent-rgb), 0.26); + border-color: var(--accent); +} +.catalog-reenable-btn:active { transform: translateY(1px); } + /* Responsive column counts — colocated here (and not in style.css) because the base 3-column rule above loads later than style.css, so the unscoped base would otherwise win the cascade against the