Compare commits

..

2 Commits

Author SHA1 Message Date
shamoon
96ac9046b3 Fix: handle widget version parsing for array labels (#6053) 2025-12-04 08:53:28 -08:00
shamoon
6d5f35f07e Enhancement: add valueOnly option to block highlighting feature (#6051) 2025-12-04 08:42:24 -08:00
3 changed files with 9 additions and 18 deletions

View File

@@ -165,22 +165,11 @@ You can optionally apply highlighting only to the value portion of a block (not
```yaml
- Sonarr:
icon: sonarr.png
href: http://sonarr.host.or.ip
widget:
type: sonarr
url: http://sonarr.host.or.ip
key: ${SONARR_API_KEY}
...
highlight:
queued:
valueOnly: true
numeric:
- level: danger
when: gte
value: 20
- level: warn
when: gte
value: 5
...
```
## Descriptions

View File

@@ -39,16 +39,18 @@ export default function Block({ value, label, field }) {
className={classNames(
"bg-theme-200/50 dark:bg-theme-900/20 rounded-sm m-1 flex-1 flex flex-col items-center justify-center text-center p-1",
value === undefined ? "animate-pulse" : "",
!applyToValueOnly && highlightClass,
highlightClass,
"service-block",
)}
data-highlight-level={highlight?.level}
data-highlight-source={highlight?.source}
>
<div className={classNames("font-thin text-sm", applyToValueOnly && highlightClass)}>
{value === undefined || value === null ? "-" : value}
<div className="font-thin text-sm">{value === undefined || value === null ? "-" : value}</div>
<div
className={classNames("font-bold text-xs uppercase", applyToValueOnly && "text-theme-700 dark:text-theme-200")}
>
{t(label)}
</div>
<div className="font-bold text-xs uppercase">{t(label)}</div>
</div>
);
}

View File

@@ -111,7 +111,7 @@ export async function servicesFromDocker() {
};
}
let substitutedVal = substituteEnvironmentVars(containerLabels[label]);
if (value === "widget.version") {
if (value === "widget.version" || /^widgets\[\d+\]\.version$/.test(value)) {
substitutedVal = parseInt(substitutedVal, 10);
}
shvl.set(constructedService, value, substitutedVal);