homepage: icon swaps, clickable tiles, down pulse, header nav, compaction callout
- Icons: Copyparty -> improvised amber folder, Marreta -> crumbling wall (bricks + red crack), Calibre-Web -> book, OpenWebUI -> official logo.png from openwebui.com, Seerr -> official seerr.dev os_logo_filled.svg. - Tiles with an open link are clickable whole (.panel.clickable: hover lift + glow; inner link clicks pass through). - Any DOWN panel (app tile or model card) gets a red gradient wash and a slow pulsing glow (.panel.down, .mi-card:has(.badge.down)). - docs / admin / account-settings buttons moved from the footer to the header (nav.top-links); footer keeps the deployment stamp. - Zealot compaction advice promoted from the Use paragraph to a bordered glowing model.compaction callout (.mi-comp); component seam pinned to the new field.
This commit is contained in:
1 parent
c1e192df00
commit
22a7331100
11 files changed
+78
-18
No files matched your search
@@ -90,7 +90,7 @@ function miCard(svc, state) {
|
||||
if (m.spec) parts.push('<div class="mi-spec">' + esc(m.spec) + '</div>');
|
||||
if (m.inputs && m.inputs.length) parts.push('<div class="mi-inputs">Inputs: ' + esc(m.inputs.join(' · ')) + '</div>');
|
||||
if (m.use) parts.push('<div class="mi-use">Use: ' + esc(m.use) + '</div>');
|
||||
if (m.voice) parts.push(voiceBtn(m.voice.text, m.voice.sfx));
|
||||
if (m.compaction) parts.push('<div class="mi-comp">⚡ ' + esc(m.compaction) + '</div>');
|
||||
if (m.supervision) parts.push('<div class="mi-super">' + esc(m.supervision) + '</div>');
|
||||
if (m.permission) parts.push('<div class="mi-perm" title="' + esc(m.permission) + '">⚠ ' + esc(m.permission) + '</div>');
|
||||
if (m.warn) parts.push('<div class="mi-warn" title="' + esc(m.warn) + '">' +
|
||||
@@ -137,6 +137,12 @@ function renderPanel(svc, state) {
|
||||
'</div>' +
|
||||
'<div class="desc">' + descHTML(svc) + '</div>' + warn +
|
||||
'<div class="links">' + links.join('') + '</div>';
|
||||
if (svc.showLink && svc.url) {
|
||||
panel.classList.add('clickable');
|
||||
panel.addEventListener('click', function (ev) {
|
||||
if (!ev.target.closest('a')) window.location.href = svc.url;
|
||||
});
|
||||
}
|
||||
return panel;
|
||||
}
|
||||
|
||||
@@ -220,6 +226,7 @@ function main() {
|
||||
applyBare();
|
||||
fillDeployed();
|
||||
gateAdminLink();
|
||||
|
||||
Promise.all([load('services.json'), load('status.json')])
|
||||
.then(function (pair) { renderPanels(pair[0], pair[1]); })
|
||||
.catch(function (e) {
|
||||
|
||||
Reference in new issue
Block a user