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 }) {
    - +
    {data.map((item) => (