diff --git a/public/img/admin/app-edit-badge-98d02665.png b/public/img/admin/app-edit-badge-98d02665.png
new file mode 100644
index 0000000..bcb6d0a
Binary files /dev/null and b/public/img/admin/app-edit-badge-98d02665.png differ
diff --git a/public/img/admin/app-edit-badge-b0148914.png b/public/img/admin/app-edit-badge-b0148914.png
deleted file mode 100644
index 8fb7f8d..0000000
Binary files a/public/img/admin/app-edit-badge-b0148914.png and /dev/null differ
diff --git a/public/img/admin/app-edit-badge-dark-cee1d99a.png b/public/img/admin/app-edit-badge-dark-cee1d99a.png
new file mode 100644
index 0000000..1ac71c6
Binary files /dev/null and b/public/img/admin/app-edit-badge-dark-cee1d99a.png differ
diff --git a/public/img/admin/app-edit-badge-dark-d272ba44.png b/public/img/admin/app-edit-badge-dark-d272ba44.png
deleted file mode 100644
index 55c9136..0000000
Binary files a/public/img/admin/app-edit-badge-dark-d272ba44.png and /dev/null differ
diff --git a/public/img/admin/app-edit-labels-3cce9d48.png b/public/img/admin/app-edit-labels-3cce9d48.png
deleted file mode 100644
index a3abccd..0000000
Binary files a/public/img/admin/app-edit-labels-3cce9d48.png and /dev/null differ
diff --git a/public/img/admin/app-edit-labels-b87badcc.png b/public/img/admin/app-edit-labels-b87badcc.png
new file mode 100644
index 0000000..354827a
Binary files /dev/null and b/public/img/admin/app-edit-labels-b87badcc.png differ
diff --git a/public/img/admin/app-edit-labels-dark-7729b939.png b/public/img/admin/app-edit-labels-dark-7729b939.png
deleted file mode 100644
index e6114f8..0000000
Binary files a/public/img/admin/app-edit-labels-dark-7729b939.png and /dev/null differ
diff --git a/public/img/admin/app-edit-labels-dark-7cf4b4cd.png b/public/img/admin/app-edit-labels-dark-7cf4b4cd.png
new file mode 100644
index 0000000..ae1ada7
Binary files /dev/null and b/public/img/admin/app-edit-labels-dark-7cf4b4cd.png differ
diff --git a/public/img/admin/appearance-14c98840.png b/public/img/admin/appearance-14c98840.png
new file mode 100644
index 0000000..399d123
Binary files /dev/null and b/public/img/admin/appearance-14c98840.png differ
diff --git a/public/img/admin/appearance-da7cfb3d.png b/public/img/admin/appearance-da7cfb3d.png
deleted file mode 100644
index ba004aa..0000000
Binary files a/public/img/admin/appearance-da7cfb3d.png and /dev/null differ
diff --git a/public/img/admin/appearance-dark-d382dd9a.png b/public/img/admin/appearance-dark-d382dd9a.png
deleted file mode 100644
index 8b0c74c..0000000
Binary files a/public/img/admin/appearance-dark-d382dd9a.png and /dev/null differ
diff --git a/public/img/admin/appearance-dark-ff2e7225.png b/public/img/admin/appearance-dark-ff2e7225.png
new file mode 100644
index 0000000..f29b46a
Binary files /dev/null and b/public/img/admin/appearance-dark-ff2e7225.png differ
diff --git a/public/js/admin-app-form.js b/public/js/admin-app-form.js
index 311ae52..8bab610 100644
--- a/public/js/admin-app-form.js
+++ b/public/js/admin-app-form.js
@@ -369,19 +369,20 @@ function renderActLabels(host) {
);
const ctl = document.createElement('span');
ctl.className = 'albl-ctl';
- const mkBtn = (txt, aria, cls, disabled, onClick) => {
+ const mkBtn = (txt, aria, cls, disabled, onClick, icon) => {
const b = document.createElement('button');
b.type = 'button';
b.className = cls;
- b.textContent = txt;
+ if (icon) setHtml(b, html`${raw(iconSvg(icon, 14))}`);
+ else b.textContent = txt;
b.setAttribute('aria-label', aria);
b.disabled = disabled;
b.onclick = onClick;
return b;
};
ctl.append(
- mkBtn('\u2191', t('app.moveUp'), 'albl-move', i === 0, () => moveActLabel(i, -1)),
- mkBtn('\u2193', t('app.moveDown'), 'albl-move', i === state.spaths.length - 1, () => moveActLabel(i, 1)),
+ mkBtn('', t('app.moveUp'), 'albl-move', i === 0, () => moveActLabel(i, -1), 'arrow-up'),
+ mkBtn('', t('app.moveDown'), 'albl-move', i === state.spaths.length - 1, () => moveActLabel(i, 1), 'arrow-down'),
mkBtn(t('widgetCfg.remove'), t('app.removeLabel'), 'grp-hdr-rm', false, () => {
captureActLabels();
state.spaths.splice(i, 1);
diff --git a/public/js/admin.js b/public/js/admin.js
index 7490754..47315ef 100644
--- a/public/js/admin.js
+++ b/public/js/admin.js
@@ -1,4 +1,4 @@
-import { buildAppForm, buildFolderForm, captureActLabels, serializeKvRows } from '/js/admin-app-form.js?v=0b617803';
+import { buildAppForm, buildFolderForm, captureActLabels, serializeKvRows } from '/js/admin-app-form.js?v=72ab8cad';
import { checkAuth, requireLogin, wirePasswordStrength } from '/js/admin-auth.js?v=9833ce5d';
import { initList, render, syncFilterUI } from '/js/admin-list.js?v=1c65c8ad';
import { resolveAdminSection } from '/js/admin-logic.js?v=e3673bd7';
diff --git a/src/content/docs/docs/badges.md b/src/content/docs/docs/badges.md
index 98eaa65..a2b4403 100644
--- a/src/content/docs/docs/badges.md
+++ b/src/content/docs/docs/badges.md
@@ -8,7 +8,7 @@ description: Add health checks, fixed labels and live values from any API to Sta
A badge is the small pill on an app tile. Each app can have three kinds.

+ 

+ 

+ 