diff --git a/docs/widgets/authoring/getting-started.md b/docs/widgets/authoring/getting-started.md
index dd33c21e..d3aa106f 100644
--- a/docs/widgets/authoring/getting-started.md
+++ b/docs/widgets/authoring/getting-started.md
@@ -48,7 +48,7 @@ self-hosted / open-source alternative, we ask that any widgets, etc. are develop
## New Feature Guidelines
-- New features should usually be linked to an existing feature request. The purpose of this requirement is to avoid the addition (and maintenance) of features that might only benefit a small number of users.
+- New features should be linked to an existing feature request. The purpose of this requirement is to avoid the addition (and maintenance) of features that might only benefit a small number of users.
- If you have ideas for a larger feature you may want to open a discussion first.
## Service Widget Guidelines
diff --git a/public/locales/it/common.json b/public/locales/it/common.json
index fae5613b..b5621f9c 100644
--- a/public/locales/it/common.json
+++ b/public/locales/it/common.json
@@ -335,7 +335,7 @@
},
"technitium": {
"totalQueries": "Richieste",
- "totalNoError": "Success",
+ "totalNoError": "Successo",
"totalServerFailure": "Failures",
"totalNxDomain": "NX Domains",
"totalRefused": "Refused",
@@ -590,7 +590,7 @@
"total": "Totale"
},
"peanut": {
- "battery_charge": "Battery Charge",
+ "battery_charge": "Carica Batteria",
"ups_load": "Carico UPS",
"ups_status": "Stato UPS",
"online": "Online",
@@ -854,7 +854,7 @@
},
"romm": {
"platforms": "Piattaforme",
- "totalRoms": "Games",
+ "totalRoms": "Giochi",
"saves": "Saves",
"states": "States",
"screenshots": "Screenshots",
@@ -890,7 +890,7 @@
"sceneDuration": "Durata Delle Scene",
"images": "Immagini",
"imageSize": "Dimensioni immagine",
- "galleries": "Galleries",
+ "galleries": "Gallerie",
"performers": "Esecutori",
"studios": "Studi",
"movies": "Film",
@@ -933,7 +933,7 @@
},
"stocks": {
"stocks": "Stocks",
- "loading": "Loading",
+ "loading": "Caricamento",
"open": "Open - US Market",
"closed": "Closed - US Market",
"invalidConfiguration": "Invalid Configuration"
@@ -944,8 +944,8 @@
"version": "Versione"
},
"linkwarden": {
- "links": "Links",
- "collections": "Collections",
+ "links": "Collegamenti",
+ "collections": "Raccolte",
"tags": "Tag"
},
"zabbix": {
@@ -957,12 +957,12 @@
"disaster": "Disaster"
},
"lubelogger": {
- "vehicle": "Vehicle",
- "vehicles": "Vehicles",
+ "vehicle": "Veicolo",
+ "vehicles": "Veicoli",
"serviceRecords": "Service Records",
- "reminders": "Reminders",
- "nextReminder": "Next Reminder",
- "none": "None"
+ "reminders": "Promemoria",
+ "nextReminder": "Promemoria Seguente",
+ "none": "Nessuno"
},
"vikunja": {
"projects": "Active Projects",
@@ -1000,7 +1000,7 @@
"suspended": "Suspended"
},
"spoolman": {
- "loading": "Loading"
+ "loading": "Caricamento"
},
"gitlab": {
"groups": "Groups",
diff --git a/public/locales/nl/common.json b/public/locales/nl/common.json
index eb92b489..419051ba 100644
--- a/public/locales/nl/common.json
+++ b/public/locales/nl/common.json
@@ -311,13 +311,13 @@
},
"suwayomi": {
"download": "Gedownload",
- "nondownload": "Non-Downloaded",
+ "nondownload": "Niet gedownload",
"read": "Gelezen",
"unread": "Ongelezen",
- "downloadedread": "Downloaded & Read",
- "downloadedunread": "Downloaded & Unread",
- "nondownloadedread": "Non-Downloaded & Read",
- "nondownloadedunread": "Non-Downloaded & Unread"
+ "downloadedread": "Gedownload & gelezen",
+ "downloadedunread": "Gedownload & ongelezen",
+ "nondownloadedread": "Niet-gedownload & gelezen",
+ "nondownloadedunread": "Niet-gedownload & ongelezen"
},
"tailscale": {
"address": "Adres",
@@ -980,32 +980,32 @@
},
"beszel": {
"name": "Naam",
- "systems": "Systems",
+ "systems": "Systemen",
"up": "Online",
"status": "Status",
"updated": "Bijgewerkt",
"cpu": "CPU",
"memory": "GEH",
- "disk": "Disk",
+ "disk": "Schijf",
"network": "NET"
},
"argocd": {
"apps": "Apps",
- "synced": "Synced",
- "outOfSync": "Out Of Sync",
+ "synced": "Gesynchroniseerd",
+ "outOfSync": "Niet gesynchroniseerd",
"healthy": "Gezond",
- "degraded": "Degraded",
- "progressing": "Progressing",
+ "degraded": "Gedegradeerd",
+ "progressing": "Doorvoeren",
"missing": "Ontbreekt",
- "suspended": "Suspended"
+ "suspended": "Onderbroken"
},
"spoolman": {
"loading": "Laden"
},
"gitlab": {
- "groups": "Groups",
+ "groups": "Groepen",
"issues": "Problemen",
- "merges": "Merge Requests",
- "projects": "Projects"
+ "merges": "Merge Verzoeken",
+ "projects": "Projecten"
}
}
diff --git a/src/components/services/group.jsx b/src/components/services/group.jsx
index f25f7ec1..20375536 100644
--- a/src/components/services/group.jsx
+++ b/src/components/services/group.jsx
@@ -15,6 +15,7 @@ export default function ServicesGroup({
disableCollapse,
useEqualHeights,
groupsInitiallyCollapsed,
+ isSubgroup,
}) {
const panel = useRef();
@@ -22,14 +23,18 @@ export default function ServicesGroup({
if (layout?.initiallyCollapsed ?? groupsInitiallyCollapsed) panel.current.style.height = `0`;
}, [layout, groupsInitiallyCollapsed]);
+ let groupPadding = layout?.header === false ? "px-1" : "p-1 pb-0";
+ if (isSubgroup) groupPadding = "";
+
return (
@@ -80,6 +85,7 @@ export default function ServicesGroup({
services={group.services}
layout={layout}
useEqualHeights={useEqualHeights}
+ header={layout?.header !== false}
/>
{group.groups?.length > 0 && (
))}
diff --git a/src/components/services/item.jsx b/src/components/services/item.jsx
index adf5fc97..4d233b44 100644
--- a/src/components/services/item.jsx
+++ b/src/components/services/item.jsx
@@ -86,7 +86,7 @@ export default function Item({ service, groupName, useEqualHeights }) {
{service.ping && (
diff --git a/src/components/services/list.jsx b/src/components/services/list.jsx
index c15d6aed..63fcea38 100644
--- a/src/components/services/list.jsx
+++ b/src/components/services/list.jsx
@@ -4,12 +4,13 @@ import { columnMap } from "../../utils/layout/columns";
import Item from "components/services/item";
-export default function List({ groupName, services, layout, useEqualHeights }) {
+export default function List({ groupName, services, layout, useEqualHeights, header }) {
return (
{services.map((service) => (
diff --git a/src/pages/index.jsx b/src/pages/index.jsx
index 639aab2e..78af7999 100644
--- a/src/pages/index.jsx
+++ b/src/pages/index.jsx
@@ -297,7 +297,6 @@ function Home({ initialSettings }) {
disableCollapse={settings.disableCollapse}
useEqualHeights={settings.useEqualHeights}
groupsInitiallyCollapsed={settings.groupsInitiallyCollapsed}
- bookmarksStyle={settings.bookmarksStyle}
/>
) : (
;
+ let system = null;
+ let finalError = systemsError;
+
+ if (systems && !systems.items) {
+ finalError = { message: "No items returned from beszel API" };
+ } else if (systems && systems.items && systemId) {
+ system = systems.items.find((item) => item.id === systemId);
+ if (!system) {
+ finalError = { message: `System with id ${systemId} not found` };
+ }
+ }
+
+ if (finalError) {
+ return ;
}
if (!systems) {
@@ -33,9 +45,7 @@ export default function Component({ service }) {
);
}
- if (systemId) {
- const system = systems.items.find((item) => item.id === systemId);
-
+ if (system) {
return (
diff --git a/src/widgets/beszel/proxy.js b/src/widgets/beszel/proxy.js
index 7af70bd3..078e22c3 100644
--- a/src/widgets/beszel/proxy.js
+++ b/src/widgets/beszel/proxy.js
@@ -59,7 +59,7 @@ export default async function beszelProxyHandler(req, res) {
if (!token) {
[status, token] = await login(loginUrl, widget.username, widget.password, service);
if (status !== 200) {
- logger.debug(`HTTP ${status} logging into Beszel: ${token}`);
+ logger.debug(`HTTP ${status} logging into Beszel: ${JSON.stringify(token)}`);
return res.status(status).send(token);
}
}
@@ -72,13 +72,13 @@ export default async function beszelProxyHandler(req, res) {
},
});
- if (status === 403) {
+ if ([400, 403].includes(status)) {
logger.debug(`HTTP ${status} retrieving data from Beszel, logging in and trying again.`);
cache.del(`${tokenCacheKey}.${service}`);
[status, token] = await login(loginUrl, widget.username, widget.password, service);
if (status !== 200) {
- logger.debug(`HTTP ${status} logging into Beszel: ${data}`);
+ logger.debug(`HTTP ${status} logging into Beszel: ${JSON.stringify(data)}`);
return res.status(status).send(data);
}
diff --git a/src/widgets/glances/components/chart.jsx b/src/widgets/glances/components/chart.jsx
index f41e4d11..132fcc8e 100644
--- a/src/widgets/glances/components/chart.jsx
+++ b/src/widgets/glances/components/chart.jsx
@@ -8,7 +8,7 @@ class Chart extends PureComponent {
const { dataPoints, formatter, label } = this.props;
return (
-
+
diff --git a/src/widgets/glances/components/chart_dual.jsx b/src/widgets/glances/components/chart_dual.jsx
index 5cc5dea6..5fabe755 100644
--- a/src/widgets/glances/components/chart_dual.jsx
+++ b/src/widgets/glances/components/chart_dual.jsx
@@ -8,7 +8,7 @@ class ChartDual extends PureComponent {
const { dataPoints, formatter, stack, label, stackOffset } = this.props;
return (
-
+
diff --git a/src/widgets/glances/components/container.jsx b/src/widgets/glances/components/container.jsx
index 92d7a45d..01a7e05d 100644
--- a/src/widgets/glances/components/container.jsx
+++ b/src/widgets/glances/components/container.jsx
@@ -18,9 +18,9 @@ export default function Container({ children, widget, error = null, chart = true
}
return (
-
+
{children}
-
+
{chart &&
}
{!chart &&
}
diff --git a/src/widgets/glances/metrics/fs.jsx b/src/widgets/glances/metrics/fs.jsx
index d1ff412c..3285bd0e 100644
--- a/src/widgets/glances/metrics/fs.jsx
+++ b/src/widgets/glances/metrics/fs.jsx
@@ -43,7 +43,7 @@ export default function Component({ service }) {
return (
{chart && (
-
+
-
+
+ {chart && (
+
+ )}
+
+
{quicklookData && quicklookData.cpu_name && chart && (
{quicklookData.cpu_name}
)}
@@ -124,7 +128,7 @@ export default function Component({ service }) {
{chart && (
-
+
{systemData && systemData.linux_distro && {systemData.linux_distro}
}
{systemData && systemData.os_version && {systemData.os_version}
}
{systemData && systemData.hostname && {systemData.hostname}
}
@@ -137,7 +141,7 @@ export default function Component({ service }) {
)}
-
+
{chart && }
{chart && }
diff --git a/src/widgets/glances/metrics/process.jsx b/src/widgets/glances/metrics/process.jsx
index b20b4c63..997948f4 100644
--- a/src/widgets/glances/metrics/process.jsx
+++ b/src/widgets/glances/metrics/process.jsx
@@ -42,10 +42,16 @@ export default function Component({ service }) {
}
data.splice(chart ? 5 : 1);
+ let headerYPosition = "top-4";
+ let listYPosition = "bottom-4";
+ if (chart) {
+ headerYPosition = "-top-6";
+ listYPosition = "-top-3";
+ }
return (
-
+
{t("resources.cpu")}
@@ -53,7 +59,7 @@ export default function Component({ service }) {
-
+