From 93bfc039f9a4dbd5acfe5c6be03e87ca89dd0e08 Mon Sep 17 00:00:00 2001 From: GodD6366 Date: Mon, 17 Oct 2022 15:03:35 +0000 Subject: [PATCH 001/668] fix: Fix the problem that favicon does not work --- src/pages/_document.jsx | 3 --- src/pages/index.jsx | 12 ++++++++++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/pages/_document.jsx b/src/pages/_document.jsx index 5f9e06fb..61f69656 100644 --- a/src/pages/_document.jsx +++ b/src/pages/_document.jsx @@ -10,9 +10,6 @@ export default function Document() { /> - - - diff --git a/src/pages/index.jsx b/src/pages/index.jsx index b4eb50e1..830f8e7b 100644 --- a/src/pages/index.jsx +++ b/src/pages/index.jsx @@ -194,9 +194,17 @@ function Home({ initialSettings }) { {initialSettings.title || "Homepage"} {initialSettings.base && } {initialSettings.favicon ? ( - + <> + + + ) : ( - + <> + + + + + )} Date: Wed, 26 Oct 2022 11:36:15 +0300 Subject: [PATCH 002/668] Add widget for Truenas --- public/locales/en/common.json | 5 +++++ src/widgets/components.js | 1 + src/widgets/truenas/component.jsx | 37 +++++++++++++++++++++++++++++++ src/widgets/truenas/widget.js | 21 ++++++++++++++++++ src/widgets/widgets.js | 2 ++ 5 files changed, 66 insertions(+) create mode 100644 src/widgets/truenas/component.jsx create mode 100644 src/widgets/truenas/widget.js diff --git a/public/locales/en/common.json b/public/locales/en/common.json index aa1d6601..48a3ef7f 100644 --- a/public/locales/en/common.json +++ b/public/locales/en/common.json @@ -292,5 +292,10 @@ "up_to_date": "Up to Date", "child_bridges": "Child Bridges", "child_bridges_status": "{{ok}}/{{total}}" + }, + "truenas": { + "load": "System Load", + "uptime": "Uptime", + "alerts": "Alerts" } } diff --git a/src/widgets/components.js b/src/widgets/components.js index 8f7bfeb9..c339946d 100644 --- a/src/widgets/components.js +++ b/src/widgets/components.js @@ -35,6 +35,7 @@ const components = { tautulli: dynamic(() => import("./tautulli/component")), traefik: dynamic(() => import("./traefik/component")), transmission: dynamic(() => import("./transmission/component")), + truenas: dynamic(() => import("./truenas/component")), unifi: dynamic(() => import("./unifi/component")), }; diff --git a/src/widgets/truenas/component.jsx b/src/widgets/truenas/component.jsx new file mode 100644 index 00000000..9529ae0f --- /dev/null +++ b/src/widgets/truenas/component.jsx @@ -0,0 +1,37 @@ +import { useTranslation } from "next-i18next"; + +import Container from "components/services/widget/container"; +import Block from "components/services/widget/block"; +import useWidgetAPI from "utils/proxy/use-widget-api"; + +export default function Component({ service }) { + const { t } = useTranslation(); + + const { widget } = service; + + const { data: alertData, error: alertError } = useWidgetAPI(widget, "alerts"); + const { data: statusData, error: statusError } = useWidgetAPI(widget, "status"); + + if (alertError || statusError) { + return ; + } + + if (!alertData || !statusData) { + return ( + + + + + + ); + } + + return ( + + + + + + + ); +} diff --git a/src/widgets/truenas/widget.js b/src/widgets/truenas/widget.js new file mode 100644 index 00000000..7269e36a --- /dev/null +++ b/src/widgets/truenas/widget.js @@ -0,0 +1,21 @@ +import { jsonArrayFilter } from "utils/proxy/api-helpers"; +import genericProxyHandler from "utils/proxy/handlers/generic"; + +const widget = { + api: "{url}/api/v2.0/{endpoint}", + proxyHandler: genericProxyHandler, + + mappings: { + alerts: { + endpoint: "alert/list", + map: (data) => ({ + pending: jsonArrayFilter(data, (item) => item?.dismissed === false).length, + }), + }, + status: { + endpoint: "system/info", + }, + }, +}; + +export default widget; diff --git a/src/widgets/widgets.js b/src/widgets/widgets.js index 55379e98..c82003fe 100644 --- a/src/widgets/widgets.js +++ b/src/widgets/widgets.js @@ -30,6 +30,7 @@ import strelaysrv from "./strelaysrv/widget"; import tautulli from "./tautulli/widget"; import traefik from "./traefik/widget"; import transmission from "./transmission/widget"; +import truenas from "./truenas/widget"; import unifi from "./unifi/widget"; const widgets = { @@ -66,6 +67,7 @@ const widgets = { tautulli, traefik, transmission, + truenas, unifi, unifi_console: unifi, }; From a2a5382ddbbdb476b5423117940ddcdbeeabd13f Mon Sep 17 00:00:00 2001 From: Brandon Barker Date: Wed, 26 Oct 2022 12:56:43 +0200 Subject: [PATCH 003/668] feat: add autobrr widget --- public/locales/en/common.json | 6 ++++ src/utils/proxy/handlers/credentialed.js | 2 ++ src/widgets/autobrr/component.jsx | 39 ++++++++++++++++++++++++ src/widgets/autobrr/widget.js | 20 ++++++++++++ src/widgets/components.js | 1 + src/widgets/widgets.js | 2 ++ 6 files changed, 70 insertions(+) create mode 100644 src/widgets/autobrr/component.jsx create mode 100644 src/widgets/autobrr/widget.js diff --git a/public/locales/en/common.json b/public/locales/en/common.json index aa1d6601..62ef2102 100644 --- a/public/locales/en/common.json +++ b/public/locales/en/common.json @@ -292,5 +292,11 @@ "up_to_date": "Up to Date", "child_bridges": "Child Bridges", "child_bridges_status": "{{ok}}/{{total}}" + }, + "autobrr": { + "approvedPushes": "Approved", + "rejectedPushes": "Rejected", + "filters": "Filters", + "indexers": "Indexers" } } diff --git a/src/utils/proxy/handlers/credentialed.js b/src/utils/proxy/handlers/credentialed.js index 7418b68c..c2c6e334 100644 --- a/src/utils/proxy/handlers/credentialed.js +++ b/src/utils/proxy/handlers/credentialed.js @@ -31,6 +31,8 @@ export default async function credentialedProxyHandler(req, res) { headers.Authorization = `Bearer ${widget.key}`; } else if (widget.type === "proxmox") { headers.Authorization = `PVEAPIToken=${widget.username}=${widget.password}`; + } else if (widget.type === "autobrr") { + headers["X-API-Token"] = `${widget.key}`; } else { headers["X-API-Key"] = `${widget.key}`; } diff --git a/src/widgets/autobrr/component.jsx b/src/widgets/autobrr/component.jsx new file mode 100644 index 00000000..b78f48f6 --- /dev/null +++ b/src/widgets/autobrr/component.jsx @@ -0,0 +1,39 @@ +import { useTranslation } from "next-i18next"; + +import Container from "components/services/widget/container"; +import Block from "components/services/widget/block"; +import useWidgetAPI from "utils/proxy/use-widget-api"; + +export default function Component({ service }) { + const { t } = useTranslation(); + + const { widget } = service; + + const { data: statsData, error: statsError } = useWidgetAPI(widget, "stats"); + const { data: filtersData, error: filtersError } = useWidgetAPI(widget, "filters"); + const { data: indexersData, error: indexersError } = useWidgetAPI(widget, "indexers"); + + if (statsError || filtersError || indexersError) { + return ; + } + + if (!statsData || !filtersData || !indexersData) { + return ( + + + + + + + ); + } + + return ( + + + + + + + ); +} diff --git a/src/widgets/autobrr/widget.js b/src/widgets/autobrr/widget.js new file mode 100644 index 00000000..0254029e --- /dev/null +++ b/src/widgets/autobrr/widget.js @@ -0,0 +1,20 @@ +import credentialedProxyHandler from "utils/proxy/handlers/credentialed"; + +const widget = { + api: "{url}/api/{endpoint}", + proxyHandler: credentialedProxyHandler, + + mappings: { + stats: { + endpoint: "release/stats", + }, + filters: { + endpoint: "filters", + }, + indexers: { + endpoint: "release/indexers", + }, + }, +}; + +export default widget; diff --git a/src/widgets/components.js b/src/widgets/components.js index 8f7bfeb9..f46808a5 100644 --- a/src/widgets/components.js +++ b/src/widgets/components.js @@ -3,6 +3,7 @@ import dynamic from "next/dynamic"; const components = { adguard: dynamic(() => import("./adguard/component")), authentik: dynamic(() => import("./authentik/component")), + autobrr: dynamic(() => import("./autobrr/component")), bazarr: dynamic(() => import("./bazarr/component")), changedetectionio: dynamic(() => import("./changedetectionio/component")), coinmarketcap: dynamic(() => import("./coinmarketcap/component")), diff --git a/src/widgets/widgets.js b/src/widgets/widgets.js index 55379e98..577243a7 100644 --- a/src/widgets/widgets.js +++ b/src/widgets/widgets.js @@ -1,5 +1,6 @@ import adguard from "./adguard/widget"; import authentik from "./authentik/widget"; +import autobrr from "./autobrr/widget"; import bazarr from "./bazarr/widget"; import changedetectionio from "./changedetectionio/widget"; import coinmarketcap from "./coinmarketcap/widget"; @@ -35,6 +36,7 @@ import unifi from "./unifi/widget"; const widgets = { adguard, authentik, + autobrr, bazarr, changedetectionio, coinmarketcap, From 490b7c844857f9efd71b85365d94e8b786565bc3 Mon Sep 17 00:00:00 2001 From: Fernando Neira Date: Tue, 25 Oct 2022 12:49:52 +0000 Subject: [PATCH 004/668] Translated using Weblate (Spanish) Currently translated at 100.0% (210 of 210 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/ --- public/locales/es/common.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/public/locales/es/common.json b/public/locales/es/common.json index 6aacdebc..caacddb4 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -275,10 +275,10 @@ "service": "Servicio" }, "homebridge": { - "available_update": "System", - "updates": "Updates", - "update_available": "Update Available", - "up_to_date": "Up to Date", + "available_update": "Sistema", + "updates": "Actualizaciones", + "update_available": "Actualización disponible", + "up_to_date": "Actualizado", "child_bridges": "Child Bridges", "child_bridges_status": "{{ok}}/{{total}}" } From 4a30af2efe2f399511e03dd5000077071db80d8a Mon Sep 17 00:00:00 2001 From: Nonoss117 Date: Tue, 25 Oct 2022 05:28:14 +0000 Subject: [PATCH 005/668] Translated using Weblate (French) Currently translated at 100.0% (210 of 210 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/ --- public/locales/fr/common.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/public/locales/fr/common.json b/public/locales/fr/common.json index 5105031b..98c1d65d 100644 --- a/public/locales/fr/common.json +++ b/public/locales/fr/common.json @@ -275,10 +275,10 @@ "service": "Service" }, "homebridge": { - "available_update": "System", - "updates": "Updates", - "update_available": "Update Available", - "up_to_date": "Up to Date", + "available_update": "Système", + "updates": "Mises à jour", + "update_available": "Mise à jour disponible", + "up_to_date": "À jour", "child_bridges": "Child Bridges", "child_bridges_status": "{{ok}}/{{total}}" } From fbaeed19e2c396a3a117197ac8c2739f237ede18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Homza?= Date: Wed, 26 Oct 2022 07:47:12 +0000 Subject: [PATCH 006/668] Translated using Weblate (Polish) Currently translated at 82.3% (173 of 210 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pl/ --- public/locales/pl/common.json | 134 +++++++++++++++++----------------- 1 file changed, 67 insertions(+), 67 deletions(-) diff --git a/public/locales/pl/common.json b/public/locales/pl/common.json index 0d9174e1..a50e9cc5 100644 --- a/public/locales/pl/common.json +++ b/public/locales/pl/common.json @@ -149,14 +149,14 @@ "errored": "Błędne" }, "adguard": { - "queries": "Queries", - "blocked": "Blocked", - "filtered": "Filtered", - "latency": "Latency" + "queries": "Zapytania", + "blocked": "Zablokowane", + "filtered": "Przefiltrowane", + "latency": "Opóźnienia" }, "qbittorrent": { - "download": "Download", - "upload": "Upload", + "download": "Pobieranie", + "upload": "Wysyłanie", "leech": "Leech", "seed": "Seed" }, @@ -187,26 +187,26 @@ "uptime": "Czas pracy systemu", "days": "Dni", "wan": "WAN", - "lan_users": "LAN Users", - "wlan_users": "WLAN Users", - "up": "UP", - "down": "DOWN", - "wait": "Please wait", + "lan_users": "Użytkownicy LAN", + "wlan_users": "Użytkownicy WLAN", + "up": "Wysyłanie", + "down": "Pobieranie", + "wait": "Proszę czekać", "lan": "LAN", "wlan": "WLAN", - "devices": "Devices", - "lan_devices": "LAN Devices", - "wlan_devices": "WLAN Devices" + "devices": "Urządzenia", + "lan_devices": "Urządzenia LAN", + "wlan_devices": "Urządzenia WLAN" }, "plex": { "streams": "Active Streams", - "movies": "Movies", - "tv": "TV Shows" + "movies": "Filmy", + "tv": "Seriale" }, "glances": { "cpu": "CPU", "mem": "MEM", - "wait": "Please wait" + "wait": "Proszę czekać" }, "changedetectionio": { "diffsDetected": "Diffs Detected", @@ -218,67 +218,67 @@ "0-night": "Clear", "1-day": "Mainly Sunny", "1-night": "Mainly Clear", - "2-day": "Partly Cloudy", - "2-night": "Partly Cloudy", - "3-day": "Cloudy", - "3-night": "Cloudy", - "45-day": "Foggy", - "45-night": "Foggy", - "48-day": "Foggy", - "48-night": "Foggy", - "51-day": "Light Drizzle", - "51-night": "Light Drizzle", - "53-day": "Drizzle", - "53-night": "Drizzle", - "55-day": "Heavy Drizzle", - "55-night": "Heavy Drizzle", + "2-day": "Częściowo pochmurnie", + "2-night": "Częściowo pochmurnie", + "3-day": "Pochmurnie", + "3-night": "Pochmurnie", + "45-day": "Mgliście", + "45-night": "Mgliście", + "48-day": "Mgliście", + "48-night": "Mgliście", + "51-day": "Lekka mżawka", + "51-night": "Lekka mżawka", + "53-day": "Mżawka", + "53-night": "Mżawka", + "55-day": "Ciężka mżawka", + "55-night": "Ciężka mżawka", "56-day": "Light Freezing Drizzle", "56-night": "Light Freezing Drizzle", "57-day": "Freezing Drizzle", "57-night": "Freezing Drizzle", - "61-day": "Light Rain", - "61-night": "Light Rain", - "63-day": "Rain", - "63-night": "Rain", - "65-day": "Heavy Rain", - "65-night": "Heavy Rain", - "66-day": "Freezing Rain", - "66-night": "Freezing Rain", - "67-day": "Freezing Rain", - "67-night": "Freezing Rain", - "71-day": "Light Snow", - "71-night": "Light Snow", - "73-day": "Snow", - "73-night": "Snow", - "75-day": "Heavy Snow", - "75-night": "Heavy Snow", + "61-day": "Lekki deszcz", + "61-night": "Lekki deszcz", + "63-day": "Deszcz", + "63-night": "Deszcz", + "65-day": "Ciężki deszcz", + "65-night": "Ciężki deszcz", + "66-day": "Mroźny deszcz", + "66-night": "Mroźny deszcz", + "67-day": "Mroźny deszcz", + "67-night": "Mroźny deszcz", + "71-day": "Lekki śnieg", + "71-night": "Lekki śnieg", + "73-day": "Śnieg", + "73-night": "Śnieg", + "75-day": "Ciężki śnieg", + "75-night": "Ciężki śnieg", "77-night": "Snow Grains", - "80-day": "Light Showers", - "80-night": "Light Showers", - "81-day": "Showers", - "81-night": "Showers", - "82-day": "Heavy Showers", - "82-night": "Heavy Showers", - "85-day": "Snow Showers", - "85-night": "Snow Showers", - "86-day": "Snow Showers", - "86-night": "Snow Showers", - "95-day": "Thunderstorm", - "95-night": "Thunderstorm", - "96-day": "Thunderstorm With Hail", - "96-night": "Thunderstorm With Hail", - "99-day": "Thunderstorm With Hail", - "99-night": "Thunderstorm With Hail" + "80-day": "Lekkie opady", + "80-night": "Lekkie opady", + "81-day": "Opady", + "81-night": "Opady", + "82-day": "Ciężkie opady", + "82-night": "Ciężkie opady", + "85-day": "Opady śniegu", + "85-night": "Opady śniegu", + "86-day": "Opady śniegu", + "86-night": "Opady śniegu", + "95-day": "Burze z piorunami", + "95-night": "Burze z piorunami", + "96-day": "Burza z gradobiciem", + "96-night": "Burza z gradobiciem", + "99-day": "Burza z gradobiciem", + "99-night": "Burza z gradobiciem" }, "quicklaunch": { "bookmark": "Bookmark", - "service": "Service" + "service": "Usługi" }, "homebridge": { "available_update": "System", - "updates": "Updates", - "update_available": "Update Available", - "up_to_date": "Up to Date", + "updates": "Aktualizacje", + "update_available": "Dostępna aktualizacja", + "up_to_date": "Aktualny", "child_bridges": "Child Bridges", "child_bridges_status": "{{ok}}/{{total}}" } From 844615751f73436d8c6ebb0f284cc60558ccb48c Mon Sep 17 00:00:00 2001 From: hunkyn Date: Tue, 25 Oct 2022 22:11:09 +0000 Subject: [PATCH 007/668] Translated using Weblate (Telugu) Currently translated at 100.0% (210 of 210 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/te/ --- public/locales/te/common.json | 130 +++++++++++++++++----------------- 1 file changed, 65 insertions(+), 65 deletions(-) diff --git a/public/locales/te/common.json b/public/locales/te/common.json index c256ffcb..70c207f9 100644 --- a/public/locales/te/common.json +++ b/public/locales/te/common.json @@ -209,77 +209,77 @@ "wait": "దయచేసి వేచి ఉండండి" }, "changedetectionio": { - "totalObserved": "Total Observed", - "diffsDetected": "Diffs Detected" + "totalObserved": "మొత్తం గమనించబడింది", + "diffsDetected": "తేడాలు గుర్తించబడ్డాయి" }, "wmo": { - "0-day": "Sunny", - "0-night": "Clear", - "57-night": "Freezing Drizzle", - "73-day": "Snow", - "73-night": "Snow", - "75-day": "Heavy Snow", - "75-night": "Heavy Snow", - "77-day": "Snow Grains", - "77-night": "Snow Grains", - "80-day": "Light Showers", - "80-night": "Light Showers", - "81-day": "Showers", - "81-night": "Showers", - "82-day": "Heavy Showers", - "82-night": "Heavy Showers", - "85-day": "Snow Showers", - "85-night": "Snow Showers", - "1-day": "Mainly Sunny", - "1-night": "Mainly Clear", - "2-day": "Partly Cloudy", - "2-night": "Partly Cloudy", - "3-day": "Cloudy", - "3-night": "Cloudy", - "45-day": "Foggy", - "45-night": "Foggy", - "48-day": "Foggy", - "48-night": "Foggy", - "51-day": "Light Drizzle", - "51-night": "Light Drizzle", - "53-day": "Drizzle", - "53-night": "Drizzle", - "55-day": "Heavy Drizzle", - "55-night": "Heavy Drizzle", - "56-day": "Light Freezing Drizzle", - "56-night": "Light Freezing Drizzle", - "57-day": "Freezing Drizzle", - "61-day": "Light Rain", - "61-night": "Light Rain", - "63-day": "Rain", - "63-night": "Rain", - "65-day": "Heavy Rain", - "65-night": "Heavy Rain", - "66-day": "Freezing Rain", - "66-night": "Freezing Rain", - "67-day": "Freezing Rain", - "67-night": "Freezing Rain", - "71-day": "Light Snow", - "71-night": "Light Snow", - "86-day": "Snow Showers", - "86-night": "Snow Showers", - "95-day": "Thunderstorm", - "95-night": "Thunderstorm", - "96-day": "Thunderstorm With Hail", - "96-night": "Thunderstorm With Hail", - "99-day": "Thunderstorm With Hail", - "99-night": "Thunderstorm With Hail" + "0-day": "సన్నీ", + "0-night": "స్పష్టమైన", + "57-night": "గడ్డకట్టే చినుకులు", + "73-day": "మంచు", + "73-night": "మంచు", + "75-day": "భారీ మంచు", + "75-night": "భారీ మంచు", + "77-day": "మంచు గింజలు", + "77-night": "మంచు గింజలు", + "80-day": "తేలికపాటి జల్లులు", + "80-night": "తేలికపాటి జల్లులు", + "81-day": "జల్లులు", + "81-night": "జల్లులు", + "82-day": "భారీ వర్షాలు", + "82-night": "భారీ వర్షాలు", + "85-day": "మంచు జల్లులు", + "85-night": "మంచు జల్లులు", + "1-day": "ప్రధానంగా ఎండ", + "1-night": "ప్రధానంగా స్పష్టంగా", + "2-day": "పాక్షికంగా మేఘావృతమై ఉంటుంది", + "2-night": "పాక్షికంగా మేఘావృతమై ఉంటుంది", + "3-day": "మేఘావృతం", + "3-night": "మేఘావృతం", + "45-day": "పొగమంచు", + "45-night": "పొగమంచు", + "48-day": "పొగమంచు", + "48-night": "పొగమంచు", + "51-day": "తేలికపాటి చినుకులు", + "51-night": "తేలికపాటి చినుకులు", + "53-day": "చినుకులు", + "53-night": "చినుకులు", + "55-day": "భారీ చినుకులు", + "55-night": "భారీ చినుకులు", + "56-day": "తేలికపాటి గడ్డకట్టే చినుకులు", + "56-night": "తేలికపాటి గడ్డకట్టే చినుకులు", + "57-day": "గడ్డకట్టే చినుకులు", + "61-day": "తేలికపాటి వర్షం", + "61-night": "తేలికపాటి వర్షం", + "63-day": "వర్షం", + "63-night": "వర్షం", + "65-day": "భారీవర్షం", + "65-night": "భారీవర్షం", + "66-day": "గడ్డకట్టే వర్షం", + "66-night": "గడ్డకట్టే వర్షం", + "67-day": "గడ్డకట్టే వర్షం", + "67-night": "గడ్డకట్టే వర్షం", + "71-day": "తేలికపాటి మంచు", + "71-night": "తేలికపాటి మంచు", + "86-day": "మంచు జల్లులు", + "86-night": "మంచు జల్లులు", + "95-day": "ఉరుము", + "95-night": "ఉరుము", + "96-day": "వడగళ్లతో కూడిన ఉరుములతో కూడిన వర్షం", + "96-night": "వడగళ్లతో కూడిన ఉరుములతో కూడిన వర్షం", + "99-day": "వడగళ్లతో కూడిన ఉరుములతో కూడిన వర్షం", + "99-night": "వడగళ్లతో కూడిన ఉరుములతో కూడిన వర్షం" }, "quicklaunch": { - "bookmark": "Bookmark", - "service": "Service" + "bookmark": "బుక్మార్క్", + "service": "సేవ" }, "homebridge": { - "available_update": "System", - "updates": "Updates", - "update_available": "Update Available", - "up_to_date": "Up to Date", - "child_bridges": "Child Bridges", + "available_update": "వ్యవస్థ", + "updates": "నవీకరణలు", + "update_available": "అందుబాటులో నవీకరణ", + "up_to_date": "తాజాగా", + "child_bridges": "పిల్ల వంతెనలు", "child_bridges_status": "{{ok}}/{{total}}" } } From 1a11a72fc447e38d0d4054d0310961cf7f8c25cc Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 26 Oct 2022 14:33:00 +0000 Subject: [PATCH 008/668] Translated using Weblate (German) Currently translated at 61.6% (132 of 214 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/de/ --- public/locales/de/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/de/common.json b/public/locales/de/common.json index ba8a79f4..67fdc415 100644 --- a/public/locales/de/common.json +++ b/public/locales/de/common.json @@ -281,5 +281,11 @@ "up_to_date": "Up to Date", "child_bridges": "Child Bridges", "child_bridges_status": "{{ok}}/{{total}}" + }, + "autobrr": { + "approvedPushes": "Approved", + "rejectedPushes": "Rejected", + "filters": "Filters", + "indexers": "Indexers" } } From 8b59e5491e8b437f709684d5caaefa6edb576954 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 26 Oct 2022 14:33:01 +0000 Subject: [PATCH 009/668] Translated using Weblate (Spanish) Currently translated at 98.1% (210 of 214 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/ --- public/locales/es/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/es/common.json b/public/locales/es/common.json index caacddb4..0b328956 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -281,5 +281,11 @@ "up_to_date": "Actualizado", "child_bridges": "Child Bridges", "child_bridges_status": "{{ok}}/{{total}}" + }, + "autobrr": { + "approvedPushes": "Approved", + "rejectedPushes": "Rejected", + "filters": "Filters", + "indexers": "Indexers" } } From cc7b5e33d541aebcee0fa90a248ac21bba7f80fa Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 26 Oct 2022 14:33:01 +0000 Subject: [PATCH 010/668] Translated using Weblate (French) Currently translated at 98.1% (210 of 214 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/ --- public/locales/fr/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/fr/common.json b/public/locales/fr/common.json index 98c1d65d..6f1b2abf 100644 --- a/public/locales/fr/common.json +++ b/public/locales/fr/common.json @@ -281,5 +281,11 @@ "up_to_date": "À jour", "child_bridges": "Child Bridges", "child_bridges_status": "{{ok}}/{{total}}" + }, + "autobrr": { + "approvedPushes": "Approved", + "rejectedPushes": "Rejected", + "filters": "Filters", + "indexers": "Indexers" } } From ecf7aba8127734d4b0b302f9227c85ba0fd4fe69 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 26 Oct 2022 14:33:01 +0000 Subject: [PATCH 011/668] Translated using Weblate (Portuguese) Currently translated at 53.7% (115 of 214 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt/ --- public/locales/pt/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/pt/common.json b/public/locales/pt/common.json index 904cfa76..d51ef697 100644 --- a/public/locales/pt/common.json +++ b/public/locales/pt/common.json @@ -292,5 +292,11 @@ "up_to_date": "Up to Date", "child_bridges": "Child Bridges", "child_bridges_status": "{{ok}}/{{total}}" + }, + "autobrr": { + "approvedPushes": "Approved", + "rejectedPushes": "Rejected", + "filters": "Filters", + "indexers": "Indexers" } } From 3cb9cab395f80fcde4be841559f5f9848a39e0ad Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 26 Oct 2022 14:33:01 +0000 Subject: [PATCH 012/668] Translated using Weblate (Russian) Currently translated at 10.7% (23 of 214 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ru/ --- public/locales/ru/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/ru/common.json b/public/locales/ru/common.json index bf0c94b4..a3dc98b0 100644 --- a/public/locales/ru/common.json +++ b/public/locales/ru/common.json @@ -281,5 +281,11 @@ "up_to_date": "Up to Date", "child_bridges_status": "{{ok}}/{{total}}", "child_bridges": "Child Bridges" + }, + "autobrr": { + "approvedPushes": "Approved", + "rejectedPushes": "Rejected", + "filters": "Filters", + "indexers": "Indexers" } } From 49ead8113ef84e6c34c0d09d2c1790877f05431f Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 26 Oct 2022 14:33:01 +0000 Subject: [PATCH 013/668] Translated using Weblate (Chinese (Simplified)) Currently translated at 64.4% (138 of 214 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hans/ --- public/locales/zh-CN/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/zh-CN/common.json b/public/locales/zh-CN/common.json index f1245ac5..1a3b524b 100644 --- a/public/locales/zh-CN/common.json +++ b/public/locales/zh-CN/common.json @@ -281,5 +281,11 @@ "up_to_date": "Up to Date", "child_bridges": "Child Bridges", "child_bridges_status": "{{ok}}/{{total}}" + }, + "autobrr": { + "approvedPushes": "Approved", + "rejectedPushes": "Rejected", + "filters": "Filters", + "indexers": "Indexers" } } From 1fc5620af96743c35e4db528fdef68cc0dc971aa Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 26 Oct 2022 14:33:02 +0000 Subject: [PATCH 014/668] Translated using Weblate (Italian) Currently translated at 77.5% (166 of 214 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/it/ --- public/locales/it/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/it/common.json b/public/locales/it/common.json index 64224cc9..8e70bfa6 100644 --- a/public/locales/it/common.json +++ b/public/locales/it/common.json @@ -281,5 +281,11 @@ "up_to_date": "Up to Date", "child_bridges": "Child Bridges", "child_bridges_status": "{{ok}}/{{total}}" + }, + "autobrr": { + "approvedPushes": "Approved", + "rejectedPushes": "Rejected", + "filters": "Filters", + "indexers": "Indexers" } } From 3d6a82c1749c76debf22ffca365a26de11c69bb6 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 26 Oct 2022 14:33:00 +0000 Subject: [PATCH 015/668] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegi?= =?UTF-8?q?an=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 36.9% (79 of 214 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nb_NO/ --- public/locales/nb-NO/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/nb-NO/common.json b/public/locales/nb-NO/common.json index 1736b9d5..2e327d32 100644 --- a/public/locales/nb-NO/common.json +++ b/public/locales/nb-NO/common.json @@ -281,5 +281,11 @@ "up_to_date": "Up to Date", "child_bridges": "Child Bridges", "child_bridges_status": "{{ok}}/{{total}}" + }, + "autobrr": { + "approvedPushes": "Approved", + "rejectedPushes": "Rejected", + "filters": "Filters", + "indexers": "Indexers" } } From 6a1dac2703c37aa19991e81a7f0bd6f06371bc1a Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 26 Oct 2022 14:33:02 +0000 Subject: [PATCH 016/668] Translated using Weblate (Vietnamese) Currently translated at 20.5% (44 of 214 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/vi/ --- public/locales/vi/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/vi/common.json b/public/locales/vi/common.json index f1dd3835..28574310 100644 --- a/public/locales/vi/common.json +++ b/public/locales/vi/common.json @@ -281,5 +281,11 @@ "up_to_date": "Up to Date", "child_bridges": "Child Bridges", "child_bridges_status": "{{ok}}/{{total}}" + }, + "autobrr": { + "approvedPushes": "Approved", + "rejectedPushes": "Rejected", + "filters": "Filters", + "indexers": "Indexers" } } From 8e987c0aec1d71a433ba7aa9da9ef6d078a7b1fc Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 26 Oct 2022 14:33:02 +0000 Subject: [PATCH 017/668] Translated using Weblate (Dutch) Currently translated at 29.4% (63 of 214 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nl/ --- public/locales/nl/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/nl/common.json b/public/locales/nl/common.json index b1539055..13659416 100644 --- a/public/locales/nl/common.json +++ b/public/locales/nl/common.json @@ -281,5 +281,11 @@ "up_to_date": "Up to Date", "child_bridges": "Child Bridges", "child_bridges_status": "{{ok}}/{{total}}" + }, + "autobrr": { + "approvedPushes": "Approved", + "rejectedPushes": "Rejected", + "filters": "Filters", + "indexers": "Indexers" } } From 7a8082a88fe5677703879b6803da8e1aae0b0414 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 26 Oct 2022 14:33:02 +0000 Subject: [PATCH 018/668] Translated using Weblate (Chinese (Traditional)) Currently translated at 4.2% (9 of 214 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hant/ --- public/locales/zh-Hant/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/zh-Hant/common.json b/public/locales/zh-Hant/common.json index 0979dc5c..d80edd7d 100644 --- a/public/locales/zh-Hant/common.json +++ b/public/locales/zh-Hant/common.json @@ -281,5 +281,11 @@ "up_to_date": "Up to Date", "child_bridges": "Child Bridges", "child_bridges_status": "{{ok}}/{{total}}" + }, + "autobrr": { + "approvedPushes": "Approved", + "rejectedPushes": "Rejected", + "filters": "Filters", + "indexers": "Indexers" } } From 5fa6336d6f40afa354056b7e1893563d881a8a6f Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 26 Oct 2022 14:32:59 +0000 Subject: [PATCH 019/668] Translated using Weblate (Catalan) Currently translated at 61.2% (131 of 214 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ca/ --- public/locales/ca/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/ca/common.json b/public/locales/ca/common.json index 427393dd..321c5cee 100644 --- a/public/locales/ca/common.json +++ b/public/locales/ca/common.json @@ -281,5 +281,11 @@ "up_to_date": "Up to Date", "child_bridges": "Child Bridges", "child_bridges_status": "{{ok}}/{{total}}" + }, + "autobrr": { + "approvedPushes": "Approved", + "rejectedPushes": "Rejected", + "filters": "Filters", + "indexers": "Indexers" } } From 6951220a8a7715527bdd6cfe988679e47faf4793 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 26 Oct 2022 14:32:59 +0000 Subject: [PATCH 020/668] Translated using Weblate (Polish) Currently translated at 80.8% (173 of 214 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pl/ --- public/locales/pl/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/pl/common.json b/public/locales/pl/common.json index a50e9cc5..9e8e4309 100644 --- a/public/locales/pl/common.json +++ b/public/locales/pl/common.json @@ -281,5 +281,11 @@ "up_to_date": "Aktualny", "child_bridges": "Child Bridges", "child_bridges_status": "{{ok}}/{{total}}" + }, + "autobrr": { + "approvedPushes": "Approved", + "rejectedPushes": "Rejected", + "filters": "Filters", + "indexers": "Indexers" } } From b995c73b1ee6fff56e8cf1303de7af9235ab9177 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 26 Oct 2022 14:32:56 +0000 Subject: [PATCH 021/668] Translated using Weblate (Swedish) Currently translated at 60.7% (130 of 214 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sv/ --- public/locales/sv/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/sv/common.json b/public/locales/sv/common.json index 79339c5d..febaec42 100644 --- a/public/locales/sv/common.json +++ b/public/locales/sv/common.json @@ -281,5 +281,11 @@ "up_to_date": "Up to Date", "child_bridges": "Child Bridges", "child_bridges_status": "{{ok}}/{{total}}" + }, + "autobrr": { + "approvedPushes": "Approved", + "rejectedPushes": "Rejected", + "filters": "Filters", + "indexers": "Indexers" } } From aaba2443fa64591329c9e7142b2b706ac6e35d04 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 26 Oct 2022 14:32:56 +0000 Subject: [PATCH 022/668] Translated using Weblate (Croatian) Currently translated at 57.4% (123 of 214 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hr/ --- public/locales/hr/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/hr/common.json b/public/locales/hr/common.json index f0fd82e9..1905ff34 100644 --- a/public/locales/hr/common.json +++ b/public/locales/hr/common.json @@ -281,5 +281,11 @@ "up_to_date": "Up to Date", "child_bridges": "Child Bridges", "child_bridges_status": "{{ok}}/{{total}}" + }, + "autobrr": { + "rejectedPushes": "Rejected", + "approvedPushes": "Approved", + "filters": "Filters", + "indexers": "Indexers" } } From 9f9912f74604d8d76ee1285525e15ca99cdabbb7 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 26 Oct 2022 14:32:59 +0000 Subject: [PATCH 023/668] Translated using Weblate (Hungarian) Currently translated at 50.4% (108 of 214 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hu/ --- public/locales/hu/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/hu/common.json b/public/locales/hu/common.json index d3169160..b86bf0d4 100644 --- a/public/locales/hu/common.json +++ b/public/locales/hu/common.json @@ -281,5 +281,11 @@ "up_to_date": "Up to Date", "child_bridges": "Child Bridges", "child_bridges_status": "{{ok}}/{{total}}" + }, + "autobrr": { + "approvedPushes": "Approved", + "rejectedPushes": "Rejected", + "filters": "Filters", + "indexers": "Indexers" } } From 5823204964d8f037263d7ce3bddb75d37b1b3cc8 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 26 Oct 2022 14:32:56 +0000 Subject: [PATCH 024/668] Translated using Weblate (Hebrew) Currently translated at 47.1% (101 of 214 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/he/ --- public/locales/he/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/he/common.json b/public/locales/he/common.json index f1d1a1b1..9c937846 100644 --- a/public/locales/he/common.json +++ b/public/locales/he/common.json @@ -281,5 +281,11 @@ "up_to_date": "Up to Date", "child_bridges": "Child Bridges", "child_bridges_status": "{{ok}}/{{total}}" + }, + "autobrr": { + "approvedPushes": "Approved", + "rejectedPushes": "Rejected", + "filters": "Filters", + "indexers": "Indexers" } } From 771cb9fd83983cd742510abc68fe194779e7fe54 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 26 Oct 2022 14:32:57 +0000 Subject: [PATCH 025/668] Translated using Weblate (Romanian) Currently translated at 64.0% (137 of 214 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ro/ --- public/locales/ro/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/ro/common.json b/public/locales/ro/common.json index ec35d759..4158681c 100644 --- a/public/locales/ro/common.json +++ b/public/locales/ro/common.json @@ -281,5 +281,11 @@ "available_update": "System", "updates": "Updates", "child_bridges_status": "{{ok}}/{{total}}" + }, + "autobrr": { + "approvedPushes": "Approved", + "rejectedPushes": "Rejected", + "filters": "Filters", + "indexers": "Indexers" } } From 745b2f45a2c50dac87bc7b02616d889e5320296f Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 26 Oct 2022 14:32:56 +0000 Subject: [PATCH 026/668] Translated using Weblate (Portuguese (Brazil)) Currently translated at 53.7% (115 of 214 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt_BR/ --- public/locales/pt-BR/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/pt-BR/common.json b/public/locales/pt-BR/common.json index 1ffc3a8f..ccd8659e 100644 --- a/public/locales/pt-BR/common.json +++ b/public/locales/pt-BR/common.json @@ -281,5 +281,11 @@ "up_to_date": "Up to Date", "child_bridges": "Child Bridges", "child_bridges_status": "{{ok}}/{{total}}" + }, + "autobrr": { + "approvedPushes": "Approved", + "rejectedPushes": "Rejected", + "filters": "Filters", + "indexers": "Indexers" } } From af1d3ee196d9cbeed92f093760b9e1b005b18418 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 26 Oct 2022 14:32:58 +0000 Subject: [PATCH 027/668] Translated using Weblate (Yue) Currently translated at 55.1% (118 of 214 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/yue/ --- public/locales/yue/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/yue/common.json b/public/locales/yue/common.json index 63b9b91f..0a17761e 100644 --- a/public/locales/yue/common.json +++ b/public/locales/yue/common.json @@ -281,5 +281,11 @@ "up_to_date": "Up to Date", "child_bridges": "Child Bridges", "child_bridges_status": "{{ok}}/{{total}}" + }, + "autobrr": { + "approvedPushes": "Approved", + "rejectedPushes": "Rejected", + "filters": "Filters", + "indexers": "Indexers" } } From b059edbbe2a6e6b143f0a232d423903bc41a3a72 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 26 Oct 2022 14:33:00 +0000 Subject: [PATCH 028/668] Translated using Weblate (Finnish) Currently translated at 57.4% (123 of 214 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fi/ --- public/locales/fi/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/fi/common.json b/public/locales/fi/common.json index aab015eb..bcf4d9e7 100644 --- a/public/locales/fi/common.json +++ b/public/locales/fi/common.json @@ -281,5 +281,11 @@ "up_to_date": "Up to Date", "child_bridges": "Child Bridges", "child_bridges_status": "{{ok}}/{{total}}" + }, + "autobrr": { + "approvedPushes": "Approved", + "rejectedPushes": "Rejected", + "filters": "Filters", + "indexers": "Indexers" } } From 3f367715592769670c33f330a0ac6a65f27436ab Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 26 Oct 2022 14:33:00 +0000 Subject: [PATCH 029/668] Translated using Weblate (Telugu) Currently translated at 98.1% (210 of 214 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/te/ --- public/locales/te/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/te/common.json b/public/locales/te/common.json index 70c207f9..6b0205fe 100644 --- a/public/locales/te/common.json +++ b/public/locales/te/common.json @@ -281,5 +281,11 @@ "up_to_date": "తాజాగా", "child_bridges": "పిల్ల వంతెనలు", "child_bridges_status": "{{ok}}/{{total}}" + }, + "autobrr": { + "rejectedPushes": "Rejected", + "approvedPushes": "Approved", + "filters": "Filters", + "indexers": "Indexers" } } From b4d020c7c080d18eda4aefa71dd79e6e5bd055b3 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 26 Oct 2022 14:33:00 +0000 Subject: [PATCH 030/668] Translated using Weblate (Bulgarian) Currently translated at 21.4% (46 of 214 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/bg/ --- public/locales/bg/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/bg/common.json b/public/locales/bg/common.json index 29eb4953..0b2df53a 100644 --- a/public/locales/bg/common.json +++ b/public/locales/bg/common.json @@ -281,5 +281,11 @@ "up_to_date": "Up to Date", "child_bridges": "Child Bridges", "child_bridges_status": "{{ok}}/{{total}}" + }, + "autobrr": { + "rejectedPushes": "Rejected", + "filters": "Filters", + "indexers": "Indexers", + "approvedPushes": "Approved" } } From 4f934969d47e85a4d18b11a4218503199678322b Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 26 Oct 2022 14:32:57 +0000 Subject: [PATCH 031/668] Translated using Weblate (Turkish) Currently translated at 68.2% (146 of 214 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/tr/ --- public/locales/tr/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/tr/common.json b/public/locales/tr/common.json index bed2c9ac..ac6cf2d7 100644 --- a/public/locales/tr/common.json +++ b/public/locales/tr/common.json @@ -281,5 +281,11 @@ "up_to_date": "Up to Date", "child_bridges": "Child Bridges", "child_bridges_status": "{{ok}}/{{total}}" + }, + "autobrr": { + "approvedPushes": "Approved", + "rejectedPushes": "Rejected", + "filters": "Filters", + "indexers": "Indexers" } } From 7ad1947faacddcad64cd7e64df885d3c45e59111 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 26 Oct 2022 14:32:57 +0000 Subject: [PATCH 032/668] Translated using Weblate (Serbian) Currently translated at 4.2% (9 of 214 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sr/ --- public/locales/sr/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/sr/common.json b/public/locales/sr/common.json index 4afa2cce..518a19ef 100644 --- a/public/locales/sr/common.json +++ b/public/locales/sr/common.json @@ -281,5 +281,11 @@ "up_to_date": "Up to Date", "child_bridges": "Child Bridges", "child_bridges_status": "{{ok}}/{{total}}" + }, + "autobrr": { + "approvedPushes": "Approved", + "rejectedPushes": "Rejected", + "filters": "Filters", + "indexers": "Indexers" } } From c14ae6ee72ea294f9f2945da7f66724845f0ac7a Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Wed, 26 Oct 2022 09:56:53 -0700 Subject: [PATCH 033/668] Fix missing column gap for bookmarks https://github.com/benphelps/homepage/issues/235#issuecomment-1292261927 --- src/pages/index.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/index.jsx b/src/pages/index.jsx index 1e2714c8..73dcc912 100644 --- a/src/pages/index.jsx +++ b/src/pages/index.jsx @@ -272,7 +272,7 @@ function Home({ initialSettings }) { )} {bookmarks && ( -
+
{bookmarks.map((group) => ( ))} From 300bb3487e14c6a4a214bbe37b1c6a31d3420720 Mon Sep 17 00:00:00 2001 From: Dimitar Ilkov Date: Thu, 27 Oct 2022 10:44:21 +0300 Subject: [PATCH 034/668] format uptime --- public/locales/en/common.json | 3 ++- src/widgets/truenas/component.jsx | 34 ++++++++++++++++++++++++++++--- 2 files changed, 33 insertions(+), 4 deletions(-) diff --git a/public/locales/en/common.json b/public/locales/en/common.json index 36c336cd..724d405d 100644 --- a/public/locales/en/common.json +++ b/public/locales/en/common.json @@ -302,6 +302,7 @@ "truenas": { "load": "System Load", "uptime": "Uptime", - "alerts": "Alerts" + "alerts": "Alerts", + "time": "{{value, number(style: unit; unitDisplay: long;)}}" } } diff --git a/src/widgets/truenas/component.jsx b/src/widgets/truenas/component.jsx index 9529ae0f..1e5c7b2d 100644 --- a/src/widgets/truenas/component.jsx +++ b/src/widgets/truenas/component.jsx @@ -4,6 +4,35 @@ import Container from "components/services/widget/container"; import Block from "components/services/widget/block"; import useWidgetAPI from "utils/proxy/use-widget-api"; +const processUptime = uptime => { + + let seconds = uptime.toFixed(0); + + var levels = [ + [Math.floor(seconds / 31536000), 'year'], + [Math.floor((seconds % 31536000) / 2592000), 'month'], + [Math.floor(((seconds % 31536000) % 2592000) / 86400), 'day'], + [Math.floor(((seconds % 31536000) % 86400) / 3600), 'hour'], + [Math.floor((((seconds % 31536000) % 86400) % 3600) / 60), 'minute'], + [(((seconds % 31536000) % 86400) % 3600) % 60, 'second'], + ]; + + for(let i = 0; i< levels.length; i++){ + let level = levels[i]; + if(level[0] > 0){ + return { + value: level[0], + unit: level[1] + } + } + } + + return { + value: 0, + unit: 'second' + }; +} + export default function Component({ service }) { const { t } = useTranslation(); @@ -25,13 +54,12 @@ export default function Component({ service }) { ); } - + return ( - + - ); } From 2969e8afc775bbc1d1edeedb1312ea15d294be36 Mon Sep 17 00:00:00 2001 From: Fernando Neira Date: Wed, 26 Oct 2022 15:23:20 +0000 Subject: [PATCH 035/668] Translated using Weblate (Spanish) Currently translated at 100.0% (214 of 214 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/ --- public/locales/es/common.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/public/locales/es/common.json b/public/locales/es/common.json index 0b328956..1311ad04 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -283,9 +283,9 @@ "child_bridges_status": "{{ok}}/{{total}}" }, "autobrr": { - "approvedPushes": "Approved", - "rejectedPushes": "Rejected", - "filters": "Filters", - "indexers": "Indexers" + "approvedPushes": "Aprobado", + "rejectedPushes": "Rechazado", + "filters": "Filtros", + "indexers": "Indexadores" } } From 5d101b0ded8897caf8500e4bd74abc55c4eaff1b Mon Sep 17 00:00:00 2001 From: Nonoss117 Date: Wed, 26 Oct 2022 17:21:58 +0000 Subject: [PATCH 036/668] Translated using Weblate (French) Currently translated at 100.0% (214 of 214 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/ --- public/locales/fr/common.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/public/locales/fr/common.json b/public/locales/fr/common.json index 6f1b2abf..f00d2933 100644 --- a/public/locales/fr/common.json +++ b/public/locales/fr/common.json @@ -283,9 +283,9 @@ "child_bridges_status": "{{ok}}/{{total}}" }, "autobrr": { - "approvedPushes": "Approved", - "rejectedPushes": "Rejected", - "filters": "Filters", - "indexers": "Indexers" + "approvedPushes": "Approuvé", + "rejectedPushes": "Rejeté", + "filters": "Filtres", + "indexers": "Indexeur" } } From 87c3ba8faab246b4f977b2925123ccf47a44af9c Mon Sep 17 00:00:00 2001 From: FauFra Date: Thu, 27 Oct 2022 23:28:21 +0200 Subject: [PATCH 037/668] Added support to watchtower statistics --- public/locales/en/common.json | 5 +++ src/widgets/components.js | 1 + src/widgets/watchtower/component.jsx | 36 +++++++++++++++++ src/widgets/watchtower/proxy.js | 58 ++++++++++++++++++++++++++++ src/widgets/watchtower/widget.js | 14 +++++++ src/widgets/widgets.js | 2 + 6 files changed, 116 insertions(+) create mode 100644 src/widgets/watchtower/component.jsx create mode 100644 src/widgets/watchtower/proxy.js create mode 100644 src/widgets/watchtower/widget.js diff --git a/public/locales/en/common.json b/public/locales/en/common.json index 62ef2102..39357f92 100644 --- a/public/locales/en/common.json +++ b/public/locales/en/common.json @@ -293,6 +293,11 @@ "child_bridges": "Child Bridges", "child_bridges_status": "{{ok}}/{{total}}" }, + "watchtower":{ + "containers_scanned": "Scanned", + "containers_updated": "Updatded", + "containers_failed": "Failed" + }, "autobrr": { "approvedPushes": "Approved", "rejectedPushes": "Rejected", diff --git a/src/widgets/components.js b/src/widgets/components.js index f46808a5..c2b50189 100644 --- a/src/widgets/components.js +++ b/src/widgets/components.js @@ -37,6 +37,7 @@ const components = { traefik: dynamic(() => import("./traefik/component")), transmission: dynamic(() => import("./transmission/component")), unifi: dynamic(() => import("./unifi/component")), + watchtower: dynamic(() => import("./watchtower/component")), }; export default components; diff --git a/src/widgets/watchtower/component.jsx b/src/widgets/watchtower/component.jsx new file mode 100644 index 00000000..68c5531f --- /dev/null +++ b/src/widgets/watchtower/component.jsx @@ -0,0 +1,36 @@ +import { useTranslation } from "next-i18next"; + +import Container from "components/services/widget/container"; +import Block from "components/services/widget/block"; +import useWidgetAPI from "utils/proxy/use-widget-api"; + + +export default function Component({ service }) { + const { t } = useTranslation(); + + const { widget } = service; + + const { data: watchData, error: watchError } = useWidgetAPI(widget, "watchtower"); + + if (watchError || !watchData) { + return ; + } + + if (!watchData) { + return ( + + + + + + ); + } + + return ( + + + + + + ); +} diff --git a/src/widgets/watchtower/proxy.js b/src/widgets/watchtower/proxy.js new file mode 100644 index 00000000..4bb98504 --- /dev/null +++ b/src/widgets/watchtower/proxy.js @@ -0,0 +1,58 @@ +import cache from "memory-cache"; + +import { httpProxy } from "utils/proxy/http"; +import { formatApiCall } from "utils/proxy/api-helpers"; +import getServiceWidget from "utils/config/service-helpers"; +import createLogger from "utils/logger"; +import widgets from "widgets/widgets"; + +const proxyName = "watchtowerProxyHandler"; +const headerCacheKey = `${proxyName}__headers`; +const logger = createLogger(proxyName); + +export default async function watchtowerProxyHandler(req, res) { + const { group, service, endpoint } = req.query; + + if (!group || !service) { + logger.debug("Invalid or missing service '%s' or group '%s'", service, group); + return res.status(400).json({ error: "Invalid proxy service type" }); + } + + const widget = await getServiceWidget(group, service); + + if (!widget) { + logger.debug("Invalid or missing widget for service '%s' in group '%s'", service, group); + return res.status(400).json({ error: "Invalid proxy service type" }); + } + + let headers = cache.get(headerCacheKey); + if (!headers) { + headers = { + "Authorization": `Bearer ${widget.key}`, + } + cache.put(headerCacheKey, headers); + } + + const url = new URL(formatApiCall(widgets[widget.type].api, { endpoint, ...widget })); + + const method = "GET" + const [status, contentType, data] = await httpProxy(url, { + method, + headers, + }); + + const cleanData = data.toString().split("\n").filter(s => s.startsWith("watchtower")) + const jsonRes={} + + cleanData.map(e => e.split(" ")).forEach(strArray => { + const [key, value] = strArray + jsonRes[key] = value + }) + + if (status !== 200) { + logger.error("Error getting data from WatchTower: %d. Data: %s", status, data); + } + + if (contentType) res.setHeader("Content-Type", contentType); + return res.status(status).send(jsonRes); +} diff --git a/src/widgets/watchtower/widget.js b/src/widgets/watchtower/widget.js new file mode 100644 index 00000000..734c90eb --- /dev/null +++ b/src/widgets/watchtower/widget.js @@ -0,0 +1,14 @@ +import watchtowerProxyHandler from "./proxy"; + +const widget = { + api: "{url}/{endpoint}", + proxyHandler: watchtowerProxyHandler, + + mappings: { + "watchtower": { + endpoint: "v1/metrics", + }, + }, +}; + +export default widget; \ No newline at end of file diff --git a/src/widgets/widgets.js b/src/widgets/widgets.js index 577243a7..74f426b3 100644 --- a/src/widgets/widgets.js +++ b/src/widgets/widgets.js @@ -32,6 +32,7 @@ import tautulli from "./tautulli/widget"; import traefik from "./traefik/widget"; import transmission from "./transmission/widget"; import unifi from "./unifi/widget"; +import watchtower from './watchtower/widget' const widgets = { adguard, @@ -70,6 +71,7 @@ const widgets = { transmission, unifi, unifi_console: unifi, + watchtower, }; export default widgets; From 6fb9ce1b537e82ef6ff2bfdc916f85ee5067479f Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Fri, 28 Oct 2022 00:58:56 -0700 Subject: [PATCH 038/668] fix watchtower widget typo --- public/locales/en/common.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/locales/en/common.json b/public/locales/en/common.json index 39357f92..dd00ff86 100644 --- a/public/locales/en/common.json +++ b/public/locales/en/common.json @@ -295,7 +295,7 @@ }, "watchtower":{ "containers_scanned": "Scanned", - "containers_updated": "Updatded", + "containers_updated": "Updated", "containers_failed": "Failed" }, "autobrr": { From 5f71486b74f7ca9e7df43ceb2e6f4d73f067ff41 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Fri, 28 Oct 2022 00:58:59 -0700 Subject: [PATCH 039/668] remove unnecessary watchtower header cache, code style --- src/widgets/watchtower/proxy.js | 28 +++++++++------------------- src/widgets/watchtower/widget.js | 2 +- 2 files changed, 10 insertions(+), 20 deletions(-) diff --git a/src/widgets/watchtower/proxy.js b/src/widgets/watchtower/proxy.js index 4bb98504..2d54928c 100644 --- a/src/widgets/watchtower/proxy.js +++ b/src/widgets/watchtower/proxy.js @@ -1,5 +1,3 @@ -import cache from "memory-cache"; - import { httpProxy } from "utils/proxy/http"; import { formatApiCall } from "utils/proxy/api-helpers"; import getServiceWidget from "utils/config/service-helpers"; @@ -7,7 +5,6 @@ import createLogger from "utils/logger"; import widgets from "widgets/widgets"; const proxyName = "watchtowerProxyHandler"; -const headerCacheKey = `${proxyName}__headers`; const logger = createLogger(proxyName); export default async function watchtowerProxyHandler(req, res) { @@ -25,34 +22,27 @@ export default async function watchtowerProxyHandler(req, res) { return res.status(400).json({ error: "Invalid proxy service type" }); } - let headers = cache.get(headerCacheKey); - if (!headers) { - headers = { - "Authorization": `Bearer ${widget.key}`, - } - cache.put(headerCacheKey, headers); - } - const url = new URL(formatApiCall(widgets[widget.type].api, { endpoint, ...widget })); - const method = "GET" const [status, contentType, data] = await httpProxy(url, { - method, - headers, + method: "GET", + headers: { + "Authorization": `Bearer ${widget.key}`, + } }); + if (status !== 200 || !data) { + logger.error("Error getting data from WatchTower: %d. Data: %s", status, data); + } + const cleanData = data.toString().split("\n").filter(s => s.startsWith("watchtower")) - const jsonRes={} + const jsonRes = {} cleanData.map(e => e.split(" ")).forEach(strArray => { const [key, value] = strArray jsonRes[key] = value }) - if (status !== 200) { - logger.error("Error getting data from WatchTower: %d. Data: %s", status, data); - } - if (contentType) res.setHeader("Content-Type", contentType); return res.status(status).send(jsonRes); } diff --git a/src/widgets/watchtower/widget.js b/src/widgets/watchtower/widget.js index 734c90eb..6e8fdf66 100644 --- a/src/widgets/watchtower/widget.js +++ b/src/widgets/watchtower/widget.js @@ -11,4 +11,4 @@ const widget = { }, }; -export default widget; \ No newline at end of file +export default widget; From 9da4319dd482333e571ba5438eff4b184b12e5cd Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 28 Oct 2022 08:01:08 +0000 Subject: [PATCH 040/668] Translated using Weblate (German) Currently translated at 60.8% (132 of 217 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/de/ --- public/locales/de/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/de/common.json b/public/locales/de/common.json index 67fdc415..ec3b6e39 100644 --- a/public/locales/de/common.json +++ b/public/locales/de/common.json @@ -287,5 +287,10 @@ "rejectedPushes": "Rejected", "filters": "Filters", "indexers": "Indexers" + }, + "watchtower": { + "containers_scanned": "Scanned", + "containers_updated": "Updated", + "containers_failed": "Failed" } } From c9bbdbb24a2962b9523d4604593739842fd78da4 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 28 Oct 2022 08:01:08 +0000 Subject: [PATCH 041/668] Translated using Weblate (Spanish) Currently translated at 98.6% (214 of 217 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/ --- public/locales/es/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/es/common.json b/public/locales/es/common.json index 1311ad04..8ac88578 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -287,5 +287,10 @@ "rejectedPushes": "Rechazado", "filters": "Filtros", "indexers": "Indexadores" + }, + "watchtower": { + "containers_scanned": "Scanned", + "containers_updated": "Updated", + "containers_failed": "Failed" } } From a6a0ace703799c324be8a2d2e0ed033cf51388a3 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 28 Oct 2022 08:01:08 +0000 Subject: [PATCH 042/668] Translated using Weblate (French) Currently translated at 98.6% (214 of 217 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/ --- public/locales/fr/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/fr/common.json b/public/locales/fr/common.json index f00d2933..84fadba0 100644 --- a/public/locales/fr/common.json +++ b/public/locales/fr/common.json @@ -287,5 +287,10 @@ "rejectedPushes": "Rejeté", "filters": "Filtres", "indexers": "Indexeur" + }, + "watchtower": { + "containers_scanned": "Scanned", + "containers_updated": "Updated", + "containers_failed": "Failed" } } From 57f503aa56c2ccfa9f042fb431edb2df535c5c6f Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 28 Oct 2022 08:01:09 +0000 Subject: [PATCH 043/668] Translated using Weblate (Portuguese) Currently translated at 52.9% (115 of 217 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt/ --- public/locales/pt/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/pt/common.json b/public/locales/pt/common.json index d51ef697..1c43e974 100644 --- a/public/locales/pt/common.json +++ b/public/locales/pt/common.json @@ -298,5 +298,10 @@ "rejectedPushes": "Rejected", "filters": "Filters", "indexers": "Indexers" + }, + "watchtower": { + "containers_scanned": "Scanned", + "containers_updated": "Updated", + "containers_failed": "Failed" } } From 4bb564a35cb8460dc9018ee3f4a665814698786e Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 28 Oct 2022 08:01:09 +0000 Subject: [PATCH 044/668] Translated using Weblate (Russian) Currently translated at 10.5% (23 of 217 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ru/ --- public/locales/ru/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/ru/common.json b/public/locales/ru/common.json index a3dc98b0..319b8012 100644 --- a/public/locales/ru/common.json +++ b/public/locales/ru/common.json @@ -287,5 +287,10 @@ "rejectedPushes": "Rejected", "filters": "Filters", "indexers": "Indexers" + }, + "watchtower": { + "containers_scanned": "Scanned", + "containers_updated": "Updated", + "containers_failed": "Failed" } } From d1d73ab251d770fce8d69644c178749ec1d3c7e5 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 28 Oct 2022 08:01:09 +0000 Subject: [PATCH 045/668] Translated using Weblate (Chinese (Simplified)) Currently translated at 63.5% (138 of 217 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hans/ --- public/locales/zh-CN/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/zh-CN/common.json b/public/locales/zh-CN/common.json index 1a3b524b..e3655745 100644 --- a/public/locales/zh-CN/common.json +++ b/public/locales/zh-CN/common.json @@ -287,5 +287,10 @@ "rejectedPushes": "Rejected", "filters": "Filters", "indexers": "Indexers" + }, + "watchtower": { + "containers_scanned": "Scanned", + "containers_updated": "Updated", + "containers_failed": "Failed" } } From 422aefb04b9df4162437aac264a0c740f9131fdb Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 28 Oct 2022 08:01:09 +0000 Subject: [PATCH 046/668] Translated using Weblate (Italian) Currently translated at 76.4% (166 of 217 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/it/ --- public/locales/it/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/it/common.json b/public/locales/it/common.json index 8e70bfa6..f1a29332 100644 --- a/public/locales/it/common.json +++ b/public/locales/it/common.json @@ -287,5 +287,10 @@ "rejectedPushes": "Rejected", "filters": "Filters", "indexers": "Indexers" + }, + "watchtower": { + "containers_scanned": "Scanned", + "containers_updated": "Updated", + "containers_failed": "Failed" } } From 90c0d4323fc0f9d264c5d2b1fbe2622d90556a59 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 28 Oct 2022 08:01:08 +0000 Subject: [PATCH 047/668] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegi?= =?UTF-8?q?an=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 36.4% (79 of 217 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nb_NO/ --- public/locales/nb-NO/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/nb-NO/common.json b/public/locales/nb-NO/common.json index 2e327d32..78b658f0 100644 --- a/public/locales/nb-NO/common.json +++ b/public/locales/nb-NO/common.json @@ -287,5 +287,10 @@ "rejectedPushes": "Rejected", "filters": "Filters", "indexers": "Indexers" + }, + "watchtower": { + "containers_scanned": "Scanned", + "containers_updated": "Updated", + "containers_failed": "Failed" } } From 2fd02e42c31431a125dee0144bc92b93bacd2cd4 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 28 Oct 2022 08:01:09 +0000 Subject: [PATCH 048/668] Translated using Weblate (Vietnamese) Currently translated at 20.2% (44 of 217 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/vi/ --- public/locales/vi/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/vi/common.json b/public/locales/vi/common.json index 28574310..79256902 100644 --- a/public/locales/vi/common.json +++ b/public/locales/vi/common.json @@ -287,5 +287,10 @@ "rejectedPushes": "Rejected", "filters": "Filters", "indexers": "Indexers" + }, + "watchtower": { + "containers_scanned": "Scanned", + "containers_updated": "Updated", + "containers_failed": "Failed" } } From 5d1639a22e9a757c57497d5d9cd54a0b6167f8ce Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 28 Oct 2022 08:01:10 +0000 Subject: [PATCH 049/668] Translated using Weblate (Dutch) Currently translated at 29.0% (63 of 217 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nl/ --- public/locales/nl/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/nl/common.json b/public/locales/nl/common.json index 13659416..42d0b6b8 100644 --- a/public/locales/nl/common.json +++ b/public/locales/nl/common.json @@ -287,5 +287,10 @@ "rejectedPushes": "Rejected", "filters": "Filters", "indexers": "Indexers" + }, + "watchtower": { + "containers_scanned": "Scanned", + "containers_updated": "Updated", + "containers_failed": "Failed" } } From d1901e5815e12a3a7e312367953519fc0352bac6 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 28 Oct 2022 08:01:10 +0000 Subject: [PATCH 050/668] Translated using Weblate (Chinese (Traditional)) Currently translated at 4.1% (9 of 217 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hant/ --- public/locales/zh-Hant/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/zh-Hant/common.json b/public/locales/zh-Hant/common.json index d80edd7d..f28af2c8 100644 --- a/public/locales/zh-Hant/common.json +++ b/public/locales/zh-Hant/common.json @@ -287,5 +287,10 @@ "rejectedPushes": "Rejected", "filters": "Filters", "indexers": "Indexers" + }, + "watchtower": { + "containers_scanned": "Scanned", + "containers_updated": "Updated", + "containers_failed": "Failed" } } From e8a0abafaa291736e1248f4d0e26551913cb447b Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 28 Oct 2022 08:01:06 +0000 Subject: [PATCH 051/668] Translated using Weblate (Catalan) Currently translated at 60.3% (131 of 217 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ca/ --- public/locales/ca/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/ca/common.json b/public/locales/ca/common.json index 321c5cee..d7a626d8 100644 --- a/public/locales/ca/common.json +++ b/public/locales/ca/common.json @@ -287,5 +287,10 @@ "rejectedPushes": "Rejected", "filters": "Filters", "indexers": "Indexers" + }, + "watchtower": { + "containers_scanned": "Scanned", + "containers_updated": "Updated", + "containers_failed": "Failed" } } From 7675d97033ccbb6d38d92f3131d577c47daaed91 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 28 Oct 2022 08:01:07 +0000 Subject: [PATCH 052/668] Translated using Weblate (Polish) Currently translated at 79.7% (173 of 217 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pl/ --- public/locales/pl/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/pl/common.json b/public/locales/pl/common.json index 9e8e4309..922fc6e0 100644 --- a/public/locales/pl/common.json +++ b/public/locales/pl/common.json @@ -287,5 +287,10 @@ "rejectedPushes": "Rejected", "filters": "Filters", "indexers": "Indexers" + }, + "watchtower": { + "containers_scanned": "Scanned", + "containers_updated": "Updated", + "containers_failed": "Failed" } } From 2e9cf474e535018150fd91134270930fb478e51b Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 28 Oct 2022 08:01:04 +0000 Subject: [PATCH 053/668] Translated using Weblate (Swedish) Currently translated at 59.9% (130 of 217 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sv/ --- public/locales/sv/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/sv/common.json b/public/locales/sv/common.json index febaec42..fd31ce7f 100644 --- a/public/locales/sv/common.json +++ b/public/locales/sv/common.json @@ -287,5 +287,10 @@ "rejectedPushes": "Rejected", "filters": "Filters", "indexers": "Indexers" + }, + "watchtower": { + "containers_scanned": "Scanned", + "containers_updated": "Updated", + "containers_failed": "Failed" } } From b503c7c4d4857614cf852e275665ba8df127b3e4 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 28 Oct 2022 08:01:05 +0000 Subject: [PATCH 054/668] Translated using Weblate (Croatian) Currently translated at 56.6% (123 of 217 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hr/ --- public/locales/hr/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/hr/common.json b/public/locales/hr/common.json index 1905ff34..cd214c92 100644 --- a/public/locales/hr/common.json +++ b/public/locales/hr/common.json @@ -287,5 +287,10 @@ "approvedPushes": "Approved", "filters": "Filters", "indexers": "Indexers" + }, + "watchtower": { + "containers_scanned": "Scanned", + "containers_updated": "Updated", + "containers_failed": "Failed" } } From 162b882534e06fa1ffc9fbc2f9aad9ee5b0332c5 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 28 Oct 2022 08:01:07 +0000 Subject: [PATCH 055/668] Translated using Weblate (Hungarian) Currently translated at 49.7% (108 of 217 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hu/ --- public/locales/hu/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/hu/common.json b/public/locales/hu/common.json index b86bf0d4..cb2d731e 100644 --- a/public/locales/hu/common.json +++ b/public/locales/hu/common.json @@ -287,5 +287,10 @@ "rejectedPushes": "Rejected", "filters": "Filters", "indexers": "Indexers" + }, + "watchtower": { + "containers_scanned": "Scanned", + "containers_updated": "Updated", + "containers_failed": "Failed" } } From 16a9fe5230f7b823ff5d149111299556cca3b98a Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 28 Oct 2022 08:01:05 +0000 Subject: [PATCH 056/668] Translated using Weblate (Hebrew) Currently translated at 46.5% (101 of 217 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/he/ --- public/locales/he/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/he/common.json b/public/locales/he/common.json index 9c937846..a865a87f 100644 --- a/public/locales/he/common.json +++ b/public/locales/he/common.json @@ -287,5 +287,10 @@ "rejectedPushes": "Rejected", "filters": "Filters", "indexers": "Indexers" + }, + "watchtower": { + "containers_scanned": "Scanned", + "containers_updated": "Updated", + "containers_failed": "Failed" } } From 330a7722404dfb0d077ddb71d705444da0277e3a Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 28 Oct 2022 08:01:05 +0000 Subject: [PATCH 057/668] Translated using Weblate (Romanian) Currently translated at 63.1% (137 of 217 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ro/ --- public/locales/ro/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/ro/common.json b/public/locales/ro/common.json index 4158681c..383d6ac6 100644 --- a/public/locales/ro/common.json +++ b/public/locales/ro/common.json @@ -287,5 +287,10 @@ "rejectedPushes": "Rejected", "filters": "Filters", "indexers": "Indexers" + }, + "watchtower": { + "containers_scanned": "Scanned", + "containers_updated": "Updated", + "containers_failed": "Failed" } } From bfa81274afd93eaf5e2585dd9fde60e25c7a16ee Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 28 Oct 2022 08:01:05 +0000 Subject: [PATCH 058/668] Translated using Weblate (Portuguese (Brazil)) Currently translated at 52.9% (115 of 217 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt_BR/ --- public/locales/pt-BR/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/pt-BR/common.json b/public/locales/pt-BR/common.json index ccd8659e..89cc9403 100644 --- a/public/locales/pt-BR/common.json +++ b/public/locales/pt-BR/common.json @@ -287,5 +287,10 @@ "rejectedPushes": "Rejected", "filters": "Filters", "indexers": "Indexers" + }, + "watchtower": { + "containers_scanned": "Scanned", + "containers_updated": "Updated", + "containers_failed": "Failed" } } From 6836b721d345076c094f604c86b96b4f367b6c3b Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 28 Oct 2022 08:01:06 +0000 Subject: [PATCH 059/668] Translated using Weblate (Yue) Currently translated at 54.3% (118 of 217 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/yue/ --- public/locales/yue/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/yue/common.json b/public/locales/yue/common.json index 0a17761e..58831faf 100644 --- a/public/locales/yue/common.json +++ b/public/locales/yue/common.json @@ -287,5 +287,10 @@ "rejectedPushes": "Rejected", "filters": "Filters", "indexers": "Indexers" + }, + "watchtower": { + "containers_scanned": "Scanned", + "containers_updated": "Updated", + "containers_failed": "Failed" } } From 826258f646416f58b54280b60ae1855703b7f89c Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 28 Oct 2022 08:01:07 +0000 Subject: [PATCH 060/668] Translated using Weblate (Finnish) Currently translated at 56.6% (123 of 217 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fi/ --- public/locales/fi/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/fi/common.json b/public/locales/fi/common.json index bcf4d9e7..37f8e7b1 100644 --- a/public/locales/fi/common.json +++ b/public/locales/fi/common.json @@ -287,5 +287,10 @@ "rejectedPushes": "Rejected", "filters": "Filters", "indexers": "Indexers" + }, + "watchtower": { + "containers_scanned": "Scanned", + "containers_updated": "Updated", + "containers_failed": "Failed" } } From 4c56eace3366bca15ea6c7d5b2caa4b3718f7a3e Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 28 Oct 2022 08:01:07 +0000 Subject: [PATCH 061/668] Translated using Weblate (Telugu) Currently translated at 96.7% (210 of 217 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/te/ --- public/locales/te/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/te/common.json b/public/locales/te/common.json index 6b0205fe..4e3ec9a4 100644 --- a/public/locales/te/common.json +++ b/public/locales/te/common.json @@ -287,5 +287,10 @@ "approvedPushes": "Approved", "filters": "Filters", "indexers": "Indexers" + }, + "watchtower": { + "containers_scanned": "Scanned", + "containers_updated": "Updated", + "containers_failed": "Failed" } } From bf04ec2a97ce836203ac10e43510fabc987d4873 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 28 Oct 2022 08:01:07 +0000 Subject: [PATCH 062/668] Translated using Weblate (Bulgarian) Currently translated at 21.1% (46 of 217 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/bg/ --- public/locales/bg/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/bg/common.json b/public/locales/bg/common.json index 0b2df53a..15c7f0f7 100644 --- a/public/locales/bg/common.json +++ b/public/locales/bg/common.json @@ -287,5 +287,10 @@ "filters": "Filters", "indexers": "Indexers", "approvedPushes": "Approved" + }, + "watchtower": { + "containers_scanned": "Scanned", + "containers_updated": "Updated", + "containers_failed": "Failed" } } From f4181c9e1374554eaadd6010d9bad7c7b7412fa1 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 28 Oct 2022 08:01:06 +0000 Subject: [PATCH 063/668] Translated using Weblate (Turkish) Currently translated at 67.2% (146 of 217 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/tr/ --- public/locales/tr/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/tr/common.json b/public/locales/tr/common.json index ac6cf2d7..9b62ca09 100644 --- a/public/locales/tr/common.json +++ b/public/locales/tr/common.json @@ -287,5 +287,10 @@ "rejectedPushes": "Rejected", "filters": "Filters", "indexers": "Indexers" + }, + "watchtower": { + "containers_scanned": "Scanned", + "containers_updated": "Updated", + "containers_failed": "Failed" } } From 958cae3e5d3b150b1d44106ac0934bf3180a4e03 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 28 Oct 2022 08:01:05 +0000 Subject: [PATCH 064/668] Translated using Weblate (Serbian) Currently translated at 4.1% (9 of 217 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sr/ --- public/locales/sr/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/sr/common.json b/public/locales/sr/common.json index 518a19ef..dbf1f57f 100644 --- a/public/locales/sr/common.json +++ b/public/locales/sr/common.json @@ -287,5 +287,10 @@ "rejectedPushes": "Rejected", "filters": "Filters", "indexers": "Indexers" + }, + "watchtower": { + "containers_scanned": "Scanned", + "containers_updated": "Updated", + "containers_failed": "Failed" } } From 546de7f0bff90bf7e6c5481ade22c999b389eb1b Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Sat, 29 Oct 2022 10:38:48 -0700 Subject: [PATCH 065/668] Update skeleton config links --- src/skeleton/bookmarks.yaml | 2 +- src/skeleton/docker.yaml | 2 +- src/skeleton/services.yaml | 2 +- src/skeleton/settings.yaml | 2 +- src/skeleton/widgets.yaml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/skeleton/bookmarks.yaml b/src/skeleton/bookmarks.yaml index 871e9134..5a33593a 100644 --- a/src/skeleton/bookmarks.yaml +++ b/src/skeleton/bookmarks.yaml @@ -1,6 +1,6 @@ --- # For configuration options and examples, please see: -# https://github.com/benphelps/homepage/wiki/Bookmarks +# https://gethomepage.dev/en/configs/bookmarks - Developer: - Github: diff --git a/src/skeleton/docker.yaml b/src/skeleton/docker.yaml index 724c2281..27850e83 100644 --- a/src/skeleton/docker.yaml +++ b/src/skeleton/docker.yaml @@ -1,6 +1,6 @@ --- # For configuration options and examples, please see: -# https://github.com/benphelps/homepage/wiki/Docker-Integration +# https://gethomepage.dev/en/configs/docker/ # my-docker: # host: 127.0.0.1 diff --git a/src/skeleton/services.yaml b/src/skeleton/services.yaml index 9514f67e..32378898 100644 --- a/src/skeleton/services.yaml +++ b/src/skeleton/services.yaml @@ -1,6 +1,6 @@ --- # For configuration options and examples, please see: -# https://github.com/benphelps/homepage/wiki/Services +# https://gethomepage.dev/en/configs/services - My First Group: - My First Service: diff --git a/src/skeleton/settings.yaml b/src/skeleton/settings.yaml index 623781c6..2d0d0de0 100644 --- a/src/skeleton/settings.yaml +++ b/src/skeleton/settings.yaml @@ -1,6 +1,6 @@ --- # For configuration options and examples, please see: -# https://github.com/benphelps/homepage/wiki/Settings +# https://gethomepage.dev/en/configs/settings providers: openweathermap: openweathermapapikey diff --git a/src/skeleton/widgets.yaml b/src/skeleton/widgets.yaml index a5c6a911..c21f674b 100644 --- a/src/skeleton/widgets.yaml +++ b/src/skeleton/widgets.yaml @@ -1,6 +1,6 @@ --- # For configuration options and examples, please see: -# https://github.com/benphelps/homepage/wiki/Information-Widgets +# https://gethomepage.dev/en/configs/widgets - resources: cpu: true From 1963a94f741f34910cc3a93fbdbe0432a9d9f4b5 Mon Sep 17 00:00:00 2001 From: ForeverEndeavor <77213414+ForeverEndeavor@users.noreply.github.com> Date: Sat, 29 Oct 2022 13:39:54 -0500 Subject: [PATCH 066/668] fix endpoint typo in emby widget --- src/widgets/emby/widget.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/widgets/emby/widget.js b/src/widgets/emby/widget.js index 1bb5a726..27fc749b 100644 --- a/src/widgets/emby/widget.js +++ b/src/widgets/emby/widget.js @@ -10,7 +10,7 @@ const widget = { }, PlayControl: { method: "POST", - enpoint: "Sessions/{sessionId}/Playing/{command}", + endpoint: "Sessions/{sessionId}/Playing/{command}", segments: ["sessionId", "command"], }, }, From 88e876d10b4f42bef40b9962f9dc6675976e44af Mon Sep 17 00:00:00 2001 From: Nonoss117 Date: Fri, 28 Oct 2022 08:08:56 +0000 Subject: [PATCH 067/668] Translated using Weblate (French) Currently translated at 100.0% (217 of 217 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/ --- public/locales/fr/common.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/public/locales/fr/common.json b/public/locales/fr/common.json index 84fadba0..dd9c0ad6 100644 --- a/public/locales/fr/common.json +++ b/public/locales/fr/common.json @@ -289,8 +289,8 @@ "indexers": "Indexeur" }, "watchtower": { - "containers_scanned": "Scanned", - "containers_updated": "Updated", - "containers_failed": "Failed" + "containers_scanned": "Scanné", + "containers_updated": "Mis à jour", + "containers_failed": "Échoué" } } From e062d895b6a42bd35a131c15eafb8b359811bc9e Mon Sep 17 00:00:00 2001 From: hunkyn Date: Sat, 29 Oct 2022 02:02:39 +0000 Subject: [PATCH 068/668] Translated using Weblate (Telugu) Currently translated at 100.0% (217 of 217 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/te/ --- public/locales/te/common.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/public/locales/te/common.json b/public/locales/te/common.json index 4e3ec9a4..ddf50753 100644 --- a/public/locales/te/common.json +++ b/public/locales/te/common.json @@ -283,14 +283,14 @@ "child_bridges_status": "{{ok}}/{{total}}" }, "autobrr": { - "rejectedPushes": "Rejected", - "approvedPushes": "Approved", - "filters": "Filters", - "indexers": "Indexers" + "rejectedPushes": "తిరస్కరించారు", + "approvedPushes": "ఆమోదించబడింది", + "filters": "ఫిల్టర్లు", + "indexers": "సూచికలు" }, "watchtower": { - "containers_scanned": "Scanned", - "containers_updated": "Updated", - "containers_failed": "Failed" + "containers_scanned": "స్కాన్ చేశారు", + "containers_updated": "నవీకరించబడింది", + "containers_failed": "విఫలమయ్యారు" } } From e30d21aa7d81e2506883e512b6de15b08f176128 Mon Sep 17 00:00:00 2001 From: stuffinator Date: Sun, 30 Oct 2022 14:44:09 +0100 Subject: [PATCH 069/668] fixed datetime widget size issue - the widget was missing a flex-col div around it and was therefore taking up more space than it needed as it was reported here https://github.com/benphelps/homepage/issues/235#issuecomment-1276209354 --- src/components/widgets/datetime/datetime.jsx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/components/widgets/datetime/datetime.jsx b/src/components/widgets/datetime/datetime.jsx index f35b5939..dceaf06a 100644 --- a/src/components/widgets/datetime/datetime.jsx +++ b/src/components/widgets/datetime/datetime.jsx @@ -27,10 +27,12 @@ export default function DateTime({ options }) { const dateFormat = new Intl.DateTimeFormat(i18n.language, { ...format }); return ( -
- - {dateFormat.format(date)} - +
+
+ + {dateFormat.format(date)} + +
); } From 49a764e8643e86d3e51a8fa89d6eaca497faee75 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Sun, 30 Oct 2022 08:18:02 -0700 Subject: [PATCH 070/668] openmeteo right-algned like other weather widgets --- src/pages/index.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/index.jsx b/src/pages/index.jsx index 73dcc912..88c25cc4 100644 --- a/src/pages/index.jsx +++ b/src/pages/index.jsx @@ -35,7 +35,7 @@ const Version = dynamic(() => import("components/version"), { ssr: false, }); -const rightAlignedWidgets = ["weatherapi", "openweathermap", "weather", "search", "datetime"]; +const rightAlignedWidgets = ["weatherapi", "openweathermap", "weather", "openmeteo", "search", "datetime"]; export async function getStaticProps() { let logger; From 68b8e4b3762394cef75569532a37c33a709cf5a7 Mon Sep 17 00:00:00 2001 From: Brandon Barker Date: Mon, 31 Oct 2022 15:23:34 +0200 Subject: [PATCH 071/668] feat: add tubearchivist widget --- public/locales/en/common.json | 6 ++++ src/utils/proxy/handlers/credentialed.js | 2 ++ src/widgets/components.js | 1 + src/widgets/tubearchivist/component.jsx | 40 ++++++++++++++++++++++++ src/widgets/tubearchivist/widget.js | 23 ++++++++++++++ src/widgets/widgets.js | 2 ++ 6 files changed, 74 insertions(+) create mode 100644 src/widgets/tubearchivist/component.jsx create mode 100644 src/widgets/tubearchivist/widget.js diff --git a/public/locales/en/common.json b/public/locales/en/common.json index dd00ff86..a4b0628d 100644 --- a/public/locales/en/common.json +++ b/public/locales/en/common.json @@ -303,5 +303,11 @@ "rejectedPushes": "Rejected", "filters": "Filters", "indexers": "Indexers" + }, + "tubearchivist": { + "downloads": "Queue", + "videos": "Videos", + "channels": "Channels", + "playlists": "Playlists" } } diff --git a/src/utils/proxy/handlers/credentialed.js b/src/utils/proxy/handlers/credentialed.js index c2c6e334..54c393b1 100644 --- a/src/utils/proxy/handlers/credentialed.js +++ b/src/utils/proxy/handlers/credentialed.js @@ -33,6 +33,8 @@ export default async function credentialedProxyHandler(req, res) { headers.Authorization = `PVEAPIToken=${widget.username}=${widget.password}`; } else if (widget.type === "autobrr") { headers["X-API-Token"] = `${widget.key}`; + } else if (widget.type === "tubearchivist") { + headers.Authorization = `Token ${widget.key}`; } else { headers["X-API-Key"] = `${widget.key}`; } diff --git a/src/widgets/components.js b/src/widgets/components.js index c2b50189..47502403 100644 --- a/src/widgets/components.js +++ b/src/widgets/components.js @@ -36,6 +36,7 @@ const components = { tautulli: dynamic(() => import("./tautulli/component")), traefik: dynamic(() => import("./traefik/component")), transmission: dynamic(() => import("./transmission/component")), + tubearchivist: dynamic(() => import("./tubearchivist/component")), unifi: dynamic(() => import("./unifi/component")), watchtower: dynamic(() => import("./watchtower/component")), }; diff --git a/src/widgets/tubearchivist/component.jsx b/src/widgets/tubearchivist/component.jsx new file mode 100644 index 00000000..5b548443 --- /dev/null +++ b/src/widgets/tubearchivist/component.jsx @@ -0,0 +1,40 @@ +import { useTranslation } from "next-i18next"; + +import Container from "components/services/widget/container"; +import Block from "components/services/widget/block"; +import useWidgetAPI from "utils/proxy/use-widget-api"; + +export default function Component({ service }) { + const { t } = useTranslation(); + + const { widget } = service; + + const { data: downloadsData, error: downloadsError } = useWidgetAPI(widget, "downloads"); + const { data: videosData, error: videosError } = useWidgetAPI(widget, "videos"); + const { data: channelsData, error: channelsError } = useWidgetAPI(widget, "channels"); + const { data: playlistsData, error: playlistsError } = useWidgetAPI(widget, "playlists"); + + if (downloadsError || videosError || channelsError || playlistsError) { + return ; + } + + if (!downloadsData || !videosData || !channelsData || !playlistsData) { + return ( + + + + + + + ); + } + + return ( + + + + + + + ); +} diff --git a/src/widgets/tubearchivist/widget.js b/src/widgets/tubearchivist/widget.js new file mode 100644 index 00000000..c73070f0 --- /dev/null +++ b/src/widgets/tubearchivist/widget.js @@ -0,0 +1,23 @@ +import credentialedProxyHandler from "utils/proxy/handlers/credentialed"; + +const widget = { + api: "{url}/api/{endpoint}", + proxyHandler: credentialedProxyHandler, + + mappings: { + downloads: { + endpoint: "download", + }, + videos: { + endpoint: "video", + }, + channels: { + endpoint: "channel", + }, + playlists: { + endpoint: "playlist", + }, + }, +}; + +export default widget; diff --git a/src/widgets/widgets.js b/src/widgets/widgets.js index 74f426b3..0352466d 100644 --- a/src/widgets/widgets.js +++ b/src/widgets/widgets.js @@ -31,6 +31,7 @@ import strelaysrv from "./strelaysrv/widget"; import tautulli from "./tautulli/widget"; import traefik from "./traefik/widget"; import transmission from "./transmission/widget"; +import tubearchivist from "./tubearchivist/widget"; import unifi from "./unifi/widget"; import watchtower from './watchtower/widget' @@ -69,6 +70,7 @@ const widgets = { tautulli, traefik, transmission, + tubearchivist, unifi, unifi_console: unifi, watchtower, From 8974b96fbe314f169c98f40262f8fa0a7d7732ae Mon Sep 17 00:00:00 2001 From: Hussien Fahmy Date: Wed, 2 Nov 2022 13:44:42 +0100 Subject: [PATCH 072/668] Added translation using Weblate (Arabic) --- public/locales/ar/common.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 public/locales/ar/common.json diff --git a/public/locales/ar/common.json b/public/locales/ar/common.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/public/locales/ar/common.json @@ -0,0 +1 @@ +{} From e5ce081e11719600a11c25d22f5d75ddd2f0cec3 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 2 Nov 2022 12:44:44 +0000 Subject: [PATCH 073/668] Translated using Weblate (Arabic) Currently translated at 100.0% (0 of 0 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ar/ --- public/locales/ar/common.json | 297 +++++++++++++++++++++++++++++++++- 1 file changed, 296 insertions(+), 1 deletion(-) diff --git a/public/locales/ar/common.json b/public/locales/ar/common.json index 0967ef42..5e5222f9 100644 --- a/public/locales/ar/common.json +++ b/public/locales/ar/common.json @@ -1 +1,296 @@ -{} +{ + "widget": { + "missing_type": "Missing Widget Type: {{type}}", + "api_error": "API Error", + "status": "Status" + }, + "weather": { + "current": "Current Location", + "allow": "Click to allow", + "updating": "Updating", + "wait": "Please wait" + }, + "search": { + "placeholder": "Search…" + }, + "resources": { + "cpu": "CPU", + "total": "Total", + "free": "Free", + "used": "Used", + "load": "Load" + }, + "unifi": { + "users": "Users", + "uptime": "System Uptime", + "days": "Days", + "wan": "WAN", + "lan": "LAN", + "wlan": "WLAN", + "devices": "Devices", + "lan_devices": "LAN Devices", + "wlan_devices": "WLAN Devices", + "lan_users": "LAN Users", + "wlan_users": "WLAN Users", + "up": "UP", + "down": "DOWN", + "wait": "Please wait" + }, + "wmo": { + "73-day": "Snow", + "0-day": "Sunny", + "0-night": "Clear", + "1-day": "Mainly Sunny", + "1-night": "Mainly Clear", + "2-day": "Partly Cloudy", + "2-night": "Partly Cloudy", + "3-day": "Cloudy", + "3-night": "Cloudy", + "45-day": "Foggy", + "45-night": "Foggy", + "48-day": "Foggy", + "48-night": "Foggy", + "51-day": "Light Drizzle", + "51-night": "Light Drizzle", + "53-day": "Drizzle", + "53-night": "Drizzle", + "55-day": "Heavy Drizzle", + "55-night": "Heavy Drizzle", + "56-day": "Light Freezing Drizzle", + "56-night": "Light Freezing Drizzle", + "57-day": "Freezing Drizzle", + "57-night": "Freezing Drizzle", + "61-day": "Light Rain", + "61-night": "Light Rain", + "63-day": "Rain", + "63-night": "Rain", + "65-day": "Heavy Rain", + "65-night": "Heavy Rain", + "66-day": "Freezing Rain", + "66-night": "Freezing Rain", + "67-day": "Freezing Rain", + "67-night": "Freezing Rain", + "71-day": "Light Snow", + "71-night": "Light Snow", + "73-night": "Snow", + "75-day": "Heavy Snow", + "75-night": "Heavy Snow", + "77-day": "Snow Grains", + "77-night": "Snow Grains", + "80-day": "Light Showers", + "80-night": "Light Showers", + "81-day": "Showers", + "81-night": "Showers", + "82-day": "Heavy Showers", + "82-night": "Heavy Showers", + "85-day": "Snow Showers", + "85-night": "Snow Showers", + "86-day": "Snow Showers", + "86-night": "Snow Showers", + "95-day": "Thunderstorm", + "95-night": "Thunderstorm", + "96-day": "Thunderstorm With Hail", + "96-night": "Thunderstorm With Hail", + "99-day": "Thunderstorm With Hail", + "99-night": "Thunderstorm With Hail" + }, + "docker": { + "rx": "RX", + "tx": "TX", + "mem": "MEM", + "cpu": "CPU", + "offline": "Offline" + }, + "emby": { + "playing": "Playing", + "transcoding": "Transcoding", + "bitrate": "Bitrate", + "no_active": "No Active Streams" + }, + "changedetectionio": { + "totalObserved": "Total Observed", + "diffsDetected": "Diffs Detected" + }, + "tautulli": { + "playing": "Playing", + "transcoding": "Transcoding", + "bitrate": "Bitrate", + "no_active": "No Active Streams" + }, + "nzbget": { + "rate": "Rate", + "remaining": "Remaining", + "downloaded": "Downloaded" + }, + "plex": { + "streams": "Active Streams", + "movies": "Movies", + "tv": "TV Shows" + }, + "sabnzbd": { + "rate": "Rate", + "queue": "Queue", + "timeleft": "Time Left" + }, + "rutorrent": { + "active": "Active", + "upload": "Upload", + "download": "Download" + }, + "transmission": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" + }, + "qbittorrent": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" + }, + "sonarr": { + "wanted": "Wanted", + "queued": "Queued", + "series": "Series" + }, + "radarr": { + "wanted": "Wanted", + "missing": "Missing", + "queued": "Queued", + "movies": "Movies" + }, + "lidarr": { + "wanted": "Wanted", + "queued": "Queued", + "albums": "Albums" + }, + "readarr": { + "wanted": "Wanted", + "queued": "Queued", + "books": "Books" + }, + "bazarr": { + "missingEpisodes": "Missing Episodes", + "missingMovies": "Missing Movies" + }, + "ombi": { + "pending": "Pending", + "approved": "Approved", + "available": "Available" + }, + "jellyseerr": { + "pending": "Pending", + "approved": "Approved", + "available": "Available" + }, + "overseerr": { + "pending": "Pending", + "approved": "Approved", + "available": "Available" + }, + "pihole": { + "queries": "Queries", + "blocked": "Blocked", + "gravity": "Gravity" + }, + "adguard": { + "queries": "Queries", + "blocked": "Blocked", + "filtered": "Filtered", + "latency": "Latency" + }, + "speedtest": { + "upload": "Upload", + "download": "Download", + "ping": "Ping" + }, + "portainer": { + "running": "Running", + "stopped": "Stopped", + "total": "Total" + }, + "traefik": { + "routers": "Routers", + "services": "Services", + "middleware": "Middleware" + }, + "npm": { + "enabled": "Enabled", + "disabled": "Disabled", + "total": "Total" + }, + "coinmarketcap": { + "configure": "Configure one or more crypto currencies to track", + "1hour": "1 Hour", + "1day": "1 Day", + "7days": "7 Days", + "30days": "30 Days" + }, + "gotify": { + "apps": "Applications", + "clients": "Clients", + "messages": "Messages" + }, + "prowlarr": { + "enableIndexers": "Indexers", + "numberOfGrabs": "Grabs", + "numberOfQueries": "Queries", + "numberOfFailGrabs": "Fail Grabs", + "numberOfFailQueries": "Fail Queries" + }, + "jackett": { + "configured": "Configured", + "errored": "Errored" + }, + "strelaysrv": { + "numActiveSessions": "Sessions", + "numConnections": "Connections", + "dataRelayed": "Relayed", + "transferRate": "Rate" + }, + "mastodon": { + "user_count": "Users", + "status_count": "Posts", + "domain_count": "Domains" + }, + "authentik": { + "users": "Users", + "loginsLast24H": "Logins (24h)", + "failedLoginsLast24H": "Failed Logins (24h)" + }, + "proxmox": { + "mem": "MEM", + "cpu": "CPU", + "lxc": "LXC", + "vms": "VMs" + }, + "glances": { + "cpu": "CPU", + "mem": "MEM", + "wait": "Please wait" + }, + "quicklaunch": { + "bookmark": "Bookmark", + "service": "Service" + }, + "homebridge": { + "available_update": "System", + "updates": "Updates", + "update_available": "Update Available", + "up_to_date": "Up to Date", + "child_bridges": "Child Bridges", + "child_bridges_status": "{{ok}}/{{total}}" + }, + "watchtower": { + "containers_scanned": "Scanned", + "containers_updated": "Updated", + "containers_failed": "Failed" + }, + "autobrr": { + "approvedPushes": "Approved", + "rejectedPushes": "Rejected", + "filters": "Filters", + "indexers": "Indexers" + } +} From b9f9ce7734951ed8d1432738e0f5cd611048f178 Mon Sep 17 00:00:00 2001 From: Hussien Fahmy Date: Wed, 2 Nov 2022 12:49:28 +0000 Subject: [PATCH 074/668] Translated using Weblate (Arabic) Currently translated at 20.2% (44 of 217 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ar/ --- public/locales/ar/common.json | 60 +++++++++++++++++------------------ 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/public/locales/ar/common.json b/public/locales/ar/common.json index 5e5222f9..a545a555 100644 --- a/public/locales/ar/common.json +++ b/public/locales/ar/common.json @@ -1,40 +1,40 @@ { "widget": { - "missing_type": "Missing Widget Type: {{type}}", - "api_error": "API Error", - "status": "Status" + "missing_type": "نوع القطعة مفقود: {{type}}", + "api_error": "API خطأ", + "status": "الحالة" }, "weather": { - "current": "Current Location", - "allow": "Click to allow", - "updating": "Updating", - "wait": "Please wait" + "current": "الموقع الحالي", + "allow": "اضغط للسماح", + "updating": "جاري التحديث", + "wait": "الرجاء الانتظار" }, "search": { - "placeholder": "Search…" + "placeholder": "بحث …" }, "resources": { - "cpu": "CPU", - "total": "Total", - "free": "Free", - "used": "Used", - "load": "Load" + "cpu": "المعالج", + "total": "المجموع", + "free": "متاح", + "used": "مستخدم", + "load": "الضغط" }, "unifi": { - "users": "Users", - "uptime": "System Uptime", - "days": "Days", + "users": "المستخدمون", + "uptime": "مدة تشغيل النظام", + "days": "ايام", "wan": "WAN", "lan": "LAN", "wlan": "WLAN", - "devices": "Devices", - "lan_devices": "LAN Devices", - "wlan_devices": "WLAN Devices", - "lan_users": "LAN Users", - "wlan_users": "WLAN Users", - "up": "UP", - "down": "DOWN", - "wait": "Please wait" + "devices": "الاجهزة", + "lan_devices": "LAN اجهزة", + "wlan_devices": "WLAN احهزة", + "lan_users": "LAN مستخدمين", + "wlan_users": "WLAN مستخدمين", + "up": "اعلي", + "down": "اسفل", + "wait": "الرجاء الانتظار" }, "wmo": { "73-day": "Snow", @@ -97,14 +97,14 @@ "docker": { "rx": "RX", "tx": "TX", - "mem": "MEM", - "cpu": "CPU", - "offline": "Offline" + "mem": "الرام", + "cpu": "المعالج", + "offline": "غير متصل" }, "emby": { - "playing": "Playing", - "transcoding": "Transcoding", - "bitrate": "Bitrate", + "playing": "يعمل الان", + "transcoding": "التحويل", + "bitrate": "معدل البت", "no_active": "No Active Streams" }, "changedetectionio": { From da46b9de218314ab67af69c769be5c2f4744f477 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Thu, 3 Nov 2022 05:01:19 +0000 Subject: [PATCH 075/668] Translated using Weblate (German) Currently translated at 59.7% (132 of 221 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/de/ --- public/locales/de/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/de/common.json b/public/locales/de/common.json index ec3b6e39..28853ca0 100644 --- a/public/locales/de/common.json +++ b/public/locales/de/common.json @@ -292,5 +292,11 @@ "containers_scanned": "Scanned", "containers_updated": "Updated", "containers_failed": "Failed" + }, + "tubearchivist": { + "downloads": "Queue", + "videos": "Videos", + "channels": "Channels", + "playlists": "Playlists" } } From b41224f96514704e354b1eda9ce29755aeb4b097 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Thu, 3 Nov 2022 05:01:20 +0000 Subject: [PATCH 076/668] Translated using Weblate (Spanish) Currently translated at 96.8% (214 of 221 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/ --- public/locales/es/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/es/common.json b/public/locales/es/common.json index 8ac88578..e9732e84 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -292,5 +292,11 @@ "containers_scanned": "Scanned", "containers_updated": "Updated", "containers_failed": "Failed" + }, + "tubearchivist": { + "downloads": "Queue", + "videos": "Videos", + "channels": "Channels", + "playlists": "Playlists" } } From f81b0745378b1b4268c95fb55d1ee4f04dc8a6fe Mon Sep 17 00:00:00 2001 From: Anonymous Date: Thu, 3 Nov 2022 05:01:20 +0000 Subject: [PATCH 077/668] Translated using Weblate (French) Currently translated at 98.1% (217 of 221 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/ --- public/locales/fr/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/fr/common.json b/public/locales/fr/common.json index dd9c0ad6..f71032b4 100644 --- a/public/locales/fr/common.json +++ b/public/locales/fr/common.json @@ -292,5 +292,11 @@ "containers_scanned": "Scanné", "containers_updated": "Mis à jour", "containers_failed": "Échoué" + }, + "tubearchivist": { + "downloads": "Queue", + "videos": "Videos", + "channels": "Channels", + "playlists": "Playlists" } } From 0e1ddf88538512720eb55ca0a83140395759d4bf Mon Sep 17 00:00:00 2001 From: Anonymous Date: Thu, 3 Nov 2022 05:01:20 +0000 Subject: [PATCH 078/668] Translated using Weblate (Portuguese) Currently translated at 52.0% (115 of 221 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt/ --- public/locales/pt/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/pt/common.json b/public/locales/pt/common.json index 1c43e974..4e176a03 100644 --- a/public/locales/pt/common.json +++ b/public/locales/pt/common.json @@ -303,5 +303,11 @@ "containers_scanned": "Scanned", "containers_updated": "Updated", "containers_failed": "Failed" + }, + "tubearchivist": { + "downloads": "Queue", + "videos": "Videos", + "channels": "Channels", + "playlists": "Playlists" } } From ba6e72b4217e7433ff3ecbab992577c79154e525 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Thu, 3 Nov 2022 05:01:20 +0000 Subject: [PATCH 079/668] Translated using Weblate (Russian) Currently translated at 10.4% (23 of 221 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ru/ --- public/locales/ru/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/ru/common.json b/public/locales/ru/common.json index 319b8012..f71ac514 100644 --- a/public/locales/ru/common.json +++ b/public/locales/ru/common.json @@ -292,5 +292,11 @@ "containers_scanned": "Scanned", "containers_updated": "Updated", "containers_failed": "Failed" + }, + "tubearchivist": { + "downloads": "Queue", + "videos": "Videos", + "channels": "Channels", + "playlists": "Playlists" } } From aedc9244b5be359650c19a0654bdc320d6d3ecd1 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Thu, 3 Nov 2022 05:01:21 +0000 Subject: [PATCH 080/668] Translated using Weblate (Chinese (Simplified)) Currently translated at 62.4% (138 of 221 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hans/ --- public/locales/zh-CN/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/zh-CN/common.json b/public/locales/zh-CN/common.json index e3655745..6410180b 100644 --- a/public/locales/zh-CN/common.json +++ b/public/locales/zh-CN/common.json @@ -292,5 +292,11 @@ "containers_scanned": "Scanned", "containers_updated": "Updated", "containers_failed": "Failed" + }, + "tubearchivist": { + "downloads": "Queue", + "videos": "Videos", + "channels": "Channels", + "playlists": "Playlists" } } From a14d88bcf86713c72d8096500e188a5b52544d3a Mon Sep 17 00:00:00 2001 From: Anonymous Date: Thu, 3 Nov 2022 05:01:21 +0000 Subject: [PATCH 081/668] Translated using Weblate (Italian) Currently translated at 75.1% (166 of 221 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/it/ --- public/locales/it/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/it/common.json b/public/locales/it/common.json index f1a29332..58a29edd 100644 --- a/public/locales/it/common.json +++ b/public/locales/it/common.json @@ -292,5 +292,11 @@ "containers_scanned": "Scanned", "containers_updated": "Updated", "containers_failed": "Failed" + }, + "tubearchivist": { + "downloads": "Queue", + "videos": "Videos", + "channels": "Channels", + "playlists": "Playlists" } } From 97a5d30b51f746e9f03207a4b363481147f8d0e3 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Thu, 3 Nov 2022 05:01:19 +0000 Subject: [PATCH 082/668] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegi?= =?UTF-8?q?an=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 35.7% (79 of 221 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nb_NO/ --- public/locales/nb-NO/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/nb-NO/common.json b/public/locales/nb-NO/common.json index 78b658f0..2342b7e5 100644 --- a/public/locales/nb-NO/common.json +++ b/public/locales/nb-NO/common.json @@ -292,5 +292,11 @@ "containers_scanned": "Scanned", "containers_updated": "Updated", "containers_failed": "Failed" + }, + "tubearchivist": { + "downloads": "Queue", + "videos": "Videos", + "channels": "Channels", + "playlists": "Playlists" } } From 88f41994d3e715e5fdffe76cd7c86d5492a27c55 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Thu, 3 Nov 2022 05:01:21 +0000 Subject: [PATCH 083/668] Translated using Weblate (Vietnamese) Currently translated at 19.9% (44 of 221 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/vi/ --- public/locales/vi/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/vi/common.json b/public/locales/vi/common.json index 79256902..7905c5fe 100644 --- a/public/locales/vi/common.json +++ b/public/locales/vi/common.json @@ -292,5 +292,11 @@ "containers_scanned": "Scanned", "containers_updated": "Updated", "containers_failed": "Failed" + }, + "tubearchivist": { + "downloads": "Queue", + "videos": "Videos", + "channels": "Channels", + "playlists": "Playlists" } } From 7ce184f6cbc562f497c55c051592f57b18fe93b9 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Thu, 3 Nov 2022 05:01:21 +0000 Subject: [PATCH 084/668] Translated using Weblate (Dutch) Currently translated at 28.5% (63 of 221 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nl/ --- public/locales/nl/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/nl/common.json b/public/locales/nl/common.json index 42d0b6b8..67c7b96e 100644 --- a/public/locales/nl/common.json +++ b/public/locales/nl/common.json @@ -292,5 +292,11 @@ "containers_scanned": "Scanned", "containers_updated": "Updated", "containers_failed": "Failed" + }, + "tubearchivist": { + "downloads": "Queue", + "videos": "Videos", + "channels": "Channels", + "playlists": "Playlists" } } From 1ffdae45b375b7f3fe934c343b63d34211989860 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Thu, 3 Nov 2022 05:01:22 +0000 Subject: [PATCH 085/668] Translated using Weblate (Chinese (Traditional)) Currently translated at 4.0% (9 of 221 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hant/ --- public/locales/zh-Hant/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/zh-Hant/common.json b/public/locales/zh-Hant/common.json index f28af2c8..3c24b83c 100644 --- a/public/locales/zh-Hant/common.json +++ b/public/locales/zh-Hant/common.json @@ -292,5 +292,11 @@ "containers_scanned": "Scanned", "containers_updated": "Updated", "containers_failed": "Failed" + }, + "tubearchivist": { + "downloads": "Queue", + "videos": "Videos", + "channels": "Channels", + "playlists": "Playlists" } } From b473576dec0a1bb628ea528b79ffa8d0250adf40 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Thu, 3 Nov 2022 05:01:17 +0000 Subject: [PATCH 086/668] Translated using Weblate (Catalan) Currently translated at 59.2% (131 of 221 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ca/ --- public/locales/ca/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/ca/common.json b/public/locales/ca/common.json index d7a626d8..be893c61 100644 --- a/public/locales/ca/common.json +++ b/public/locales/ca/common.json @@ -292,5 +292,11 @@ "containers_scanned": "Scanned", "containers_updated": "Updated", "containers_failed": "Failed" + }, + "tubearchivist": { + "downloads": "Queue", + "videos": "Videos", + "channels": "Channels", + "playlists": "Playlists" } } From 352b11604998bb7b37625e118a2d96c5e91b1b51 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Thu, 3 Nov 2022 05:01:18 +0000 Subject: [PATCH 087/668] Translated using Weblate (Polish) Currently translated at 78.2% (173 of 221 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pl/ --- public/locales/pl/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/pl/common.json b/public/locales/pl/common.json index 922fc6e0..92bce068 100644 --- a/public/locales/pl/common.json +++ b/public/locales/pl/common.json @@ -292,5 +292,11 @@ "containers_scanned": "Scanned", "containers_updated": "Updated", "containers_failed": "Failed" + }, + "tubearchivist": { + "downloads": "Queue", + "videos": "Videos", + "channels": "Channels", + "playlists": "Playlists" } } From f0d9438e5104f5ed4e6522372877a84932675b52 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Thu, 3 Nov 2022 05:01:14 +0000 Subject: [PATCH 088/668] Translated using Weblate (Swedish) Currently translated at 58.8% (130 of 221 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sv/ --- public/locales/sv/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/sv/common.json b/public/locales/sv/common.json index fd31ce7f..33235e38 100644 --- a/public/locales/sv/common.json +++ b/public/locales/sv/common.json @@ -292,5 +292,11 @@ "containers_scanned": "Scanned", "containers_updated": "Updated", "containers_failed": "Failed" + }, + "tubearchivist": { + "downloads": "Queue", + "videos": "Videos", + "channels": "Channels", + "playlists": "Playlists" } } From 471f270cb9a371e48d21bb29213fc8ca7987c4af Mon Sep 17 00:00:00 2001 From: Anonymous Date: Thu, 3 Nov 2022 05:01:14 +0000 Subject: [PATCH 089/668] Translated using Weblate (Croatian) Currently translated at 55.6% (123 of 221 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hr/ --- public/locales/hr/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/hr/common.json b/public/locales/hr/common.json index cd214c92..1ab626b5 100644 --- a/public/locales/hr/common.json +++ b/public/locales/hr/common.json @@ -292,5 +292,11 @@ "containers_scanned": "Scanned", "containers_updated": "Updated", "containers_failed": "Failed" + }, + "tubearchivist": { + "downloads": "Queue", + "videos": "Videos", + "channels": "Channels", + "playlists": "Playlists" } } From 6f8fdeb3fd5395011c48bf3771823346934ca0e0 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Thu, 3 Nov 2022 05:01:17 +0000 Subject: [PATCH 090/668] Translated using Weblate (Hungarian) Currently translated at 48.8% (108 of 221 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hu/ --- public/locales/hu/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/hu/common.json b/public/locales/hu/common.json index cb2d731e..97a32863 100644 --- a/public/locales/hu/common.json +++ b/public/locales/hu/common.json @@ -292,5 +292,11 @@ "containers_scanned": "Scanned", "containers_updated": "Updated", "containers_failed": "Failed" + }, + "tubearchivist": { + "downloads": "Queue", + "videos": "Videos", + "channels": "Channels", + "playlists": "Playlists" } } From 81308f05697e58018a7eba452466a85a13f78a93 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Thu, 3 Nov 2022 05:01:15 +0000 Subject: [PATCH 091/668] Translated using Weblate (Hebrew) Currently translated at 45.7% (101 of 221 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/he/ --- public/locales/he/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/he/common.json b/public/locales/he/common.json index a865a87f..f63e1375 100644 --- a/public/locales/he/common.json +++ b/public/locales/he/common.json @@ -292,5 +292,11 @@ "containers_scanned": "Scanned", "containers_updated": "Updated", "containers_failed": "Failed" + }, + "tubearchivist": { + "downloads": "Queue", + "videos": "Videos", + "channels": "Channels", + "playlists": "Playlists" } } From a6a056c622e0fec1148fbd8394164c070dac82f4 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Thu, 3 Nov 2022 05:01:15 +0000 Subject: [PATCH 092/668] Translated using Weblate (Romanian) Currently translated at 61.9% (137 of 221 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ro/ --- public/locales/ro/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/ro/common.json b/public/locales/ro/common.json index 383d6ac6..19b85f45 100644 --- a/public/locales/ro/common.json +++ b/public/locales/ro/common.json @@ -292,5 +292,11 @@ "containers_scanned": "Scanned", "containers_updated": "Updated", "containers_failed": "Failed" + }, + "tubearchivist": { + "downloads": "Queue", + "videos": "Videos", + "channels": "Channels", + "playlists": "Playlists" } } From 1536589a81621119ddb91fe325ddba49f6ae3a5e Mon Sep 17 00:00:00 2001 From: Anonymous Date: Thu, 3 Nov 2022 05:01:15 +0000 Subject: [PATCH 093/668] Translated using Weblate (Portuguese (Brazil)) Currently translated at 52.0% (115 of 221 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt_BR/ --- public/locales/pt-BR/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/pt-BR/common.json b/public/locales/pt-BR/common.json index 89cc9403..f512cf94 100644 --- a/public/locales/pt-BR/common.json +++ b/public/locales/pt-BR/common.json @@ -292,5 +292,11 @@ "containers_scanned": "Scanned", "containers_updated": "Updated", "containers_failed": "Failed" + }, + "tubearchivist": { + "downloads": "Queue", + "videos": "Videos", + "channels": "Channels", + "playlists": "Playlists" } } From 35dc2b6e24ac270bcd9ee24555450f3b660a9d78 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Thu, 3 Nov 2022 05:01:17 +0000 Subject: [PATCH 094/668] Translated using Weblate (Yue) Currently translated at 53.3% (118 of 221 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/yue/ --- public/locales/yue/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/yue/common.json b/public/locales/yue/common.json index 58831faf..fd2c8abe 100644 --- a/public/locales/yue/common.json +++ b/public/locales/yue/common.json @@ -292,5 +292,11 @@ "containers_scanned": "Scanned", "containers_updated": "Updated", "containers_failed": "Failed" + }, + "tubearchivist": { + "downloads": "Queue", + "videos": "Videos", + "channels": "Channels", + "playlists": "Playlists" } } From 0f3916520a7c2ffd421baedd8933e3b87e49b95c Mon Sep 17 00:00:00 2001 From: Anonymous Date: Thu, 3 Nov 2022 05:01:19 +0000 Subject: [PATCH 095/668] Translated using Weblate (Finnish) Currently translated at 55.6% (123 of 221 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fi/ --- public/locales/fi/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/fi/common.json b/public/locales/fi/common.json index 37f8e7b1..f8f1339d 100644 --- a/public/locales/fi/common.json +++ b/public/locales/fi/common.json @@ -292,5 +292,11 @@ "containers_scanned": "Scanned", "containers_updated": "Updated", "containers_failed": "Failed" + }, + "tubearchivist": { + "downloads": "Queue", + "videos": "Videos", + "channels": "Channels", + "playlists": "Playlists" } } From a95901ee5e8ec093742bfcd8ab898a469e187b6f Mon Sep 17 00:00:00 2001 From: Anonymous Date: Thu, 3 Nov 2022 05:01:18 +0000 Subject: [PATCH 096/668] Translated using Weblate (Telugu) Currently translated at 98.1% (217 of 221 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/te/ --- public/locales/te/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/te/common.json b/public/locales/te/common.json index ddf50753..cc06942f 100644 --- a/public/locales/te/common.json +++ b/public/locales/te/common.json @@ -292,5 +292,11 @@ "containers_scanned": "స్కాన్ చేశారు", "containers_updated": "నవీకరించబడింది", "containers_failed": "విఫలమయ్యారు" + }, + "tubearchivist": { + "downloads": "Queue", + "videos": "Videos", + "channels": "Channels", + "playlists": "Playlists" } } From 4a93a31bb31232defb674c8163cb1f72402f6887 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Thu, 3 Nov 2022 05:01:19 +0000 Subject: [PATCH 097/668] Translated using Weblate (Bulgarian) Currently translated at 20.8% (46 of 221 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/bg/ --- public/locales/bg/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/bg/common.json b/public/locales/bg/common.json index 15c7f0f7..a6a59141 100644 --- a/public/locales/bg/common.json +++ b/public/locales/bg/common.json @@ -292,5 +292,11 @@ "containers_scanned": "Scanned", "containers_updated": "Updated", "containers_failed": "Failed" + }, + "tubearchivist": { + "downloads": "Queue", + "videos": "Videos", + "channels": "Channels", + "playlists": "Playlists" } } From 01c31aa8a8e384f386d0fa9f35c473ff93fbbc21 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Thu, 3 Nov 2022 05:01:16 +0000 Subject: [PATCH 098/668] Translated using Weblate (Turkish) Currently translated at 66.0% (146 of 221 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/tr/ --- public/locales/tr/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/tr/common.json b/public/locales/tr/common.json index 9b62ca09..a4274a9b 100644 --- a/public/locales/tr/common.json +++ b/public/locales/tr/common.json @@ -292,5 +292,11 @@ "containers_scanned": "Scanned", "containers_updated": "Updated", "containers_failed": "Failed" + }, + "tubearchivist": { + "downloads": "Queue", + "videos": "Videos", + "channels": "Channels", + "playlists": "Playlists" } } From a5e7b59a81c59df78e02ba71d225d4d7690e126e Mon Sep 17 00:00:00 2001 From: Anonymous Date: Thu, 3 Nov 2022 05:01:15 +0000 Subject: [PATCH 099/668] Translated using Weblate (Serbian) Currently translated at 4.0% (9 of 221 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sr/ --- public/locales/sr/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/sr/common.json b/public/locales/sr/common.json index dbf1f57f..6c7de927 100644 --- a/public/locales/sr/common.json +++ b/public/locales/sr/common.json @@ -292,5 +292,11 @@ "containers_scanned": "Scanned", "containers_updated": "Updated", "containers_failed": "Failed" + }, + "tubearchivist": { + "downloads": "Queue", + "videos": "Videos", + "channels": "Channels", + "playlists": "Playlists" } } From ad3cf15ea423a3f33bcb03260b7df0f1ab2f9f67 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Thu, 3 Nov 2022 05:01:18 +0000 Subject: [PATCH 100/668] Translated using Weblate (Arabic) Currently translated at 19.9% (44 of 221 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ar/ --- public/locales/ar/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/ar/common.json b/public/locales/ar/common.json index a545a555..683672ce 100644 --- a/public/locales/ar/common.json +++ b/public/locales/ar/common.json @@ -292,5 +292,11 @@ "rejectedPushes": "Rejected", "filters": "Filters", "indexers": "Indexers" + }, + "tubearchivist": { + "downloads": "Queue", + "videos": "Videos", + "channels": "Channels", + "playlists": "Playlists" } } From 71de8fe0d8d75926f550b3f3281c89c8924eb1d4 Mon Sep 17 00:00:00 2001 From: Ben Phelps Date: Thu, 3 Nov 2022 10:02:43 +0200 Subject: [PATCH 101/668] disable arm7 to get builds working again --- .github/workflows/docker-publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 8f36dcc4..dd84e0fc 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -100,7 +100,7 @@ jobs: REVISION=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.revision'] }} # https://github.com/docker/setup-qemu-action#about # platforms: linux/amd64,linux/arm64,linux/riscv64,linux/ppc64le,linux/s390x,linux/386,linux/mips64le,linux/mips64,linux/arm/v7,linux/arm/v6 - platforms: linux/amd64,linux/arm64,linux/arm/v7 + platforms: linux/amd64,linux/arm64 cache-from: type=local,src=/tmp/.buildx-cache cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max From ce7b532c7f50ef8c8ce80e5dda80d6e533695433 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Thu, 3 Nov 2022 11:37:54 -0700 Subject: [PATCH 102/668] Use node v18 See https://github.com/nodejs/docker-node/issues/1798 --- .github/workflows/docker-publish.yml | 2 +- Dockerfile | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index dd84e0fc..1d9c7137 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -100,7 +100,7 @@ jobs: REVISION=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.revision'] }} # https://github.com/docker/setup-qemu-action#about # platforms: linux/amd64,linux/arm64,linux/riscv64,linux/ppc64le,linux/s390x,linux/386,linux/mips64le,linux/mips64,linux/arm/v7,linux/arm/v6 - platforms: linux/amd64,linux/arm64 + platforms: linux/amd64,linux/arm64,linux/arm/v7,linux/arm/v6 cache-from: type=local,src=/tmp/.buildx-cache cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max diff --git a/Dockerfile b/Dockerfile index 8921388b..48e5d2f3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ # syntax = docker/dockerfile:latest # Install dependencies only when needed -FROM node:current-alpine AS deps +FROM docker.io/node:18-alpine AS deps WORKDIR /app @@ -19,7 +19,7 @@ RUN --mount=type=cache,id=pnpm-store,target=/root/.local/share/pnpm/store pnpm f RUN --mount=type=cache,id=pnpm-store,target=/root/.local/share/pnpm/store pnpm install -r --offline # Rebuild the source code only when needed -FROM node:current-alpine AS builder +FROM docker.io/node:18-alpine AS builder WORKDIR /app ARG BUILDTIME @@ -37,7 +37,7 @@ RUN < Date: Thu, 3 Nov 2022 21:37:12 +0200 Subject: [PATCH 103/668] disable signing for now, until it gets fixed upstream --- .github/workflows/docker-publish.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 1d9c7137..59a2cd36 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -109,13 +109,13 @@ jobs: # repository is public to avoid leaking data. If you would like to publish # transparency data even for private images, pass --force to cosign below. # https://github.com/sigstore/cosign - - name: Sign the published Docker image - if: ${{ github.event_name != 'pull_request' }} - env: - COSIGN_EXPERIMENTAL: "true" - # This step uses the identity token to provision an ephemeral certificate - # against the sigstore community Fulcio instance. - run: echo "${{ steps.meta.outputs.tags }}" | xargs -I {} cosign sign {}@${{ steps.build-and-push.outputs.digest }} +# - name: Sign the published Docker image +# if: ${{ github.event_name != 'pull_request' }} +# env: +# COSIGN_EXPERIMENTAL: "true" +# # This step uses the identity token to provision an ephemeral certificate +# # against the sigstore community Fulcio instance. +# run: echo "${{ steps.meta.outputs.tags }}" | xargs -I {} cosign sign {}@${{ steps.build-and-push.outputs.digest }} # Temp fix # https://github.com/docker/build-push-action/issues/252 From ba480fe1d87522631ff56ffc6e3ae31dad852543 Mon Sep 17 00:00:00 2001 From: gallegonovato Date: Thu, 3 Nov 2022 16:20:48 +0000 Subject: [PATCH 104/668] Translated using Weblate (Spanish) Currently translated at 100.0% (221 of 221 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/ --- public/locales/es/common.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/public/locales/es/common.json b/public/locales/es/common.json index e9732e84..57c839c0 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -289,14 +289,14 @@ "indexers": "Indexadores" }, "watchtower": { - "containers_scanned": "Scanned", - "containers_updated": "Updated", - "containers_failed": "Failed" + "containers_scanned": "Escaneado", + "containers_updated": "Actualizado", + "containers_failed": "Fallido" }, "tubearchivist": { - "downloads": "Queue", - "videos": "Videos", - "channels": "Channels", - "playlists": "Playlists" + "downloads": "Cola", + "videos": "Vídeos", + "channels": "Canales", + "playlists": "Listas de reproducción" } } From 7f1410e1619facdb2e585789e48181a7673e95bb Mon Sep 17 00:00:00 2001 From: Nonoss117 Date: Thu, 3 Nov 2022 05:51:40 +0000 Subject: [PATCH 105/668] Translated using Weblate (French) Currently translated at 100.0% (221 of 221 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/ --- public/locales/fr/common.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/public/locales/fr/common.json b/public/locales/fr/common.json index f71032b4..b3d669bc 100644 --- a/public/locales/fr/common.json +++ b/public/locales/fr/common.json @@ -295,8 +295,8 @@ }, "tubearchivist": { "downloads": "Queue", - "videos": "Videos", - "channels": "Channels", + "videos": "Vidéos", + "channels": "Chaînes", "playlists": "Playlists" } } From d29ea104d29de54ea2fd17f49df6e2331fa15706 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Thu, 3 Nov 2022 15:45:46 -0700 Subject: [PATCH 106/668] Update cosign to 1.13.1 See https://github.com/sigstore/cosign/issues/2390 / https://github.com/sigstore/cosign-installer/issues/100 --- .github/workflows/docker-publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 59a2cd36..bacc1fa7 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -43,7 +43,7 @@ jobs: if: github.event_name != 'pull_request' uses: sigstore/cosign-installer@main with: - cosign-release: 'v1.11.0' # optional + cosign-release: 'v1.13.1' # optional # Setup QEMU # https://github.com/marketplace/actions/docker-setup-buildx#with-qemu From 82c69ff68dcdb9a812b827a593b9e553e06ac599 Mon Sep 17 00:00:00 2001 From: GodD6366 Date: Sun, 9 Oct 2022 09:40:37 +0000 Subject: [PATCH 107/668] support sort layout --- src/pages/index.jsx | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/pages/index.jsx b/src/pages/index.jsx index 88c25cc4..c457bda2 100644 --- a/src/pages/index.jsx +++ b/src/pages/index.jsx @@ -177,6 +177,21 @@ function Home({ initialSettings }) { const servicesAndBookmarks = [...services.map(sg => sg.services).flat(), ...bookmarks.map(bg => bg.bookmarks).flat()] + // sort layout + const layouts = Object.keys(initialSettings.layout); + let sortedServices = []; + const copiedServices = services.slice(); + layouts.forEach((currentServer) => { + if (initialSettings.layout[currentServer]?.sort) { + const idx = copiedServices.findIndex((service) => service.name === currentServer); + sortedServices.push(...copiedServices.splice(idx, 1)); + } + }); + + if (copiedServices.length) { + sortedServices = sortedServices.concat(copiedServices); + } + useEffect(() => { if (settings.language) { i18n.changeLanguage(settings.language); @@ -263,9 +278,9 @@ function Home({ initialSettings }) { )}
- {services && ( + {sortedServices && (
- {services.map((group) => ( + {sortedServices.map((group) => ( ))}
From 3740426bb559dd2cbeb9cda33e24b79e6753cc56 Mon Sep 17 00:00:00 2001 From: GodD6366 Date: Sun, 9 Oct 2022 09:55:36 +0000 Subject: [PATCH 108/668] Change to server-side implementation --- src/pages/index.jsx | 18 ++---------------- src/utils/config/api-response.js | 26 ++++++++++++++++++++++++-- 2 files changed, 26 insertions(+), 18 deletions(-) diff --git a/src/pages/index.jsx b/src/pages/index.jsx index c457bda2..33074b36 100644 --- a/src/pages/index.jsx +++ b/src/pages/index.jsx @@ -177,20 +177,6 @@ function Home({ initialSettings }) { const servicesAndBookmarks = [...services.map(sg => sg.services).flat(), ...bookmarks.map(bg => bg.bookmarks).flat()] - // sort layout - const layouts = Object.keys(initialSettings.layout); - let sortedServices = []; - const copiedServices = services.slice(); - layouts.forEach((currentServer) => { - if (initialSettings.layout[currentServer]?.sort) { - const idx = copiedServices.findIndex((service) => service.name === currentServer); - sortedServices.push(...copiedServices.splice(idx, 1)); - } - }); - - if (copiedServices.length) { - sortedServices = sortedServices.concat(copiedServices); - } useEffect(() => { if (settings.language) { @@ -278,9 +264,9 @@ function Home({ initialSettings }) { )}
- {sortedServices && ( + {services && (
- {sortedServices.map((group) => ( + {services.map((group) => ( ))}
diff --git a/src/utils/config/api-response.js b/src/utils/config/api-response.js index 5cc1127e..c1651a78 100644 --- a/src/utils/config/api-response.js +++ b/src/utils/config/api-response.js @@ -4,7 +4,7 @@ import path from "path"; import yaml from "js-yaml"; -import checkAndCopyConfig from "utils/config/config"; +import checkAndCopyConfig, { getSettings } from "utils/config/config"; import { servicesFromConfig, servicesFromDocker, cleanServiceGroups } from "utils/config/service-helpers"; import { cleanWidgetGroups, widgetsFromConfig } from "utils/config/widget-helpers"; @@ -46,6 +46,7 @@ export async function widgetsResponse() { export async function servicesResponse() { let discoveredServices; let configuredServices; + let initialSettings; try { discoveredServices = cleanServiceGroups(await servicesFromDocker()); @@ -63,6 +64,14 @@ export async function servicesResponse() { configuredServices = []; } + try { + initialSettings = await getSettings(); + } catch (e) { + console.error("Failed to load settings.yaml, please check for errors"); + if (e) console.error(e); + initialSettings = {}; + } + const mergedGroupsNames = [ ...new Set([discoveredServices.map((group) => group.name), configuredServices.map((group) => group.name)].flat()), ]; @@ -81,5 +90,18 @@ export async function servicesResponse() { mergedGroups.push(mergedGroup); }); - return mergedGroups; + let sortedServices = []; + + const layouts = Object.keys(initialSettings.layout); + layouts.forEach((currentServer) => { + if (initialSettings.layout[currentServer]?.sort) { + const idx = mergedGroups.findIndex((service) => service.name === currentServer); + sortedServices.push(...mergedGroups.splice(idx, 1)); + } + }); + if (mergedGroups.length) { + sortedServices = sortedServices.concat(mergedGroups); + } + + return sortedServices; } From bd97d5ff2e55b6a72fed5c476fdcde5dbbdd1cfb Mon Sep 17 00:00:00 2001 From: GodD6366 Date: Sun, 9 Oct 2022 09:58:16 +0000 Subject: [PATCH 109/668] lint --- src/pages/index.jsx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/pages/index.jsx b/src/pages/index.jsx index 33074b36..88c25cc4 100644 --- a/src/pages/index.jsx +++ b/src/pages/index.jsx @@ -177,7 +177,6 @@ function Home({ initialSettings }) { const servicesAndBookmarks = [...services.map(sg => sg.services).flat(), ...bookmarks.map(bg => bg.bookmarks).flat()] - useEffect(() => { if (settings.language) { i18n.changeLanguage(settings.language); From ae3f847cef317f86fde4e125bd7606681a396045 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Thu, 27 Oct 2022 02:19:42 -0700 Subject: [PATCH 110/668] Sort layout groups by default, simplify sorting --- src/utils/config/api-response.js | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/src/utils/config/api-response.js b/src/utils/config/api-response.js index c1651a78..d3561a55 100644 --- a/src/utils/config/api-response.js +++ b/src/utils/config/api-response.js @@ -77,6 +77,7 @@ export async function servicesResponse() { ]; const mergedGroups = []; + const definedLayouts = initialSettings.layout ? Object.keys(initialSettings.layout) : null; mergedGroupsNames.forEach((groupName) => { const discoveredGroup = discoveredServices.find((group) => group.name === groupName) || { services: [] }; @@ -87,21 +88,14 @@ export async function servicesResponse() { services: [...discoveredGroup.services, ...configuredGroup.services].filter((service) => service), }; - mergedGroups.push(mergedGroup); - }); - - let sortedServices = []; - - const layouts = Object.keys(initialSettings.layout); - layouts.forEach((currentServer) => { - if (initialSettings.layout[currentServer]?.sort) { - const idx = mergedGroups.findIndex((service) => service.name === currentServer); - sortedServices.push(...mergedGroups.splice(idx, 1)); + if (definedLayouts) { + const layoutIndex = definedLayouts.findIndex(layout => layout === mergedGroup.name); + if (layoutIndex > -1) mergedGroups.splice(layoutIndex, 0, mergedGroup); + else mergedGroups.push(mergedGroup); + } else { + mergedGroups.push(mergedGroup); } }); - if (mergedGroups.length) { - sortedServices = sortedServices.concat(mergedGroups); - } - return sortedServices; + return mergedGroups; } From 872d2a8ace892ccf32cbd4cbb486d8419dbb36aa Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Thu, 3 Nov 2022 21:28:09 -0700 Subject: [PATCH 111/668] lint truenas widget --- src/widgets/truenas/component.jsx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/widgets/truenas/component.jsx b/src/widgets/truenas/component.jsx index 1e5c7b2d..4244d833 100644 --- a/src/widgets/truenas/component.jsx +++ b/src/widgets/truenas/component.jsx @@ -6,9 +6,9 @@ import useWidgetAPI from "utils/proxy/use-widget-api"; const processUptime = uptime => { - let seconds = uptime.toFixed(0); + const seconds = uptime.toFixed(0); - var levels = [ + const levels = [ [Math.floor(seconds / 31536000), 'year'], [Math.floor((seconds % 31536000) / 2592000), 'month'], [Math.floor(((seconds % 31536000) % 2592000) / 86400), 'day'], @@ -17,9 +17,9 @@ const processUptime = uptime => { [(((seconds % 31536000) % 86400) % 3600) % 60, 'second'], ]; - for(let i = 0; i< levels.length; i++){ - let level = levels[i]; - if(level[0] > 0){ + for (let i = 0; i< levels.length; i += 1) { + const level = levels[i]; + if (level[0] > 0){ return { value: level[0], unit: level[1] From 37425cc506c4763664146f3421caa89892844e8a Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 4 Nov 2022 05:00:46 +0000 Subject: [PATCH 112/668] Translated using Weblate (German) Currently translated at 58.6% (132 of 225 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/de/ --- public/locales/de/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/de/common.json b/public/locales/de/common.json index 28853ca0..315ec0e4 100644 --- a/public/locales/de/common.json +++ b/public/locales/de/common.json @@ -298,5 +298,11 @@ "videos": "Videos", "channels": "Channels", "playlists": "Playlists" + }, + "truenas": { + "load": "System Load", + "uptime": "Uptime", + "alerts": "Alerts", + "time": "{{value, number(style: unit; unitDisplay: long;)}}" } } From fae0fb6c25e063bff9ab500a0f7264f6c0fcd577 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 4 Nov 2022 05:00:47 +0000 Subject: [PATCH 113/668] Translated using Weblate (Spanish) Currently translated at 98.2% (221 of 225 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/ --- public/locales/es/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/es/common.json b/public/locales/es/common.json index 57c839c0..95d5d3a4 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -298,5 +298,11 @@ "videos": "Vídeos", "channels": "Canales", "playlists": "Listas de reproducción" + }, + "truenas": { + "load": "System Load", + "uptime": "Uptime", + "alerts": "Alerts", + "time": "{{value, number(style: unit; unitDisplay: long;)}}" } } From 73b6f273dd62b7cb08f715f13414fdabcbbb8d4c Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 4 Nov 2022 05:00:47 +0000 Subject: [PATCH 114/668] Translated using Weblate (French) Currently translated at 98.2% (221 of 225 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/ --- public/locales/fr/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/fr/common.json b/public/locales/fr/common.json index b3d669bc..c811cdd8 100644 --- a/public/locales/fr/common.json +++ b/public/locales/fr/common.json @@ -298,5 +298,11 @@ "videos": "Vidéos", "channels": "Chaînes", "playlists": "Playlists" + }, + "truenas": { + "load": "System Load", + "uptime": "Uptime", + "alerts": "Alerts", + "time": "{{value, number(style: unit; unitDisplay: long;)}}" } } From 9f7d4c3b47f29ec89a814164662abdf51a129088 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 4 Nov 2022 05:00:47 +0000 Subject: [PATCH 115/668] Translated using Weblate (Portuguese) Currently translated at 51.1% (115 of 225 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt/ --- public/locales/pt/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/pt/common.json b/public/locales/pt/common.json index 4e176a03..a802e1c0 100644 --- a/public/locales/pt/common.json +++ b/public/locales/pt/common.json @@ -309,5 +309,11 @@ "videos": "Videos", "channels": "Channels", "playlists": "Playlists" + }, + "truenas": { + "load": "System Load", + "uptime": "Uptime", + "alerts": "Alerts", + "time": "{{value, number(style: unit; unitDisplay: long;)}}" } } From 632d4006fd29ab60cd93d17bc5ae267885dcb5aa Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 4 Nov 2022 05:00:48 +0000 Subject: [PATCH 116/668] Translated using Weblate (Russian) Currently translated at 10.2% (23 of 225 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ru/ --- public/locales/ru/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/ru/common.json b/public/locales/ru/common.json index f71ac514..13912bd5 100644 --- a/public/locales/ru/common.json +++ b/public/locales/ru/common.json @@ -298,5 +298,11 @@ "videos": "Videos", "channels": "Channels", "playlists": "Playlists" + }, + "truenas": { + "load": "System Load", + "uptime": "Uptime", + "alerts": "Alerts", + "time": "{{value, number(style: unit; unitDisplay: long;)}}" } } From a95945c87ae56fbeb6f2ca4ee02537bea27962ac Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 4 Nov 2022 05:00:48 +0000 Subject: [PATCH 117/668] Translated using Weblate (Chinese (Simplified)) Currently translated at 61.3% (138 of 225 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hans/ --- public/locales/zh-CN/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/zh-CN/common.json b/public/locales/zh-CN/common.json index 6410180b..2a09311d 100644 --- a/public/locales/zh-CN/common.json +++ b/public/locales/zh-CN/common.json @@ -298,5 +298,11 @@ "videos": "Videos", "channels": "Channels", "playlists": "Playlists" + }, + "truenas": { + "load": "System Load", + "uptime": "Uptime", + "alerts": "Alerts", + "time": "{{value, number(style: unit; unitDisplay: long;)}}" } } From bbabac5f960d646b206eca6c3f4492308b31e715 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 4 Nov 2022 05:00:48 +0000 Subject: [PATCH 118/668] Translated using Weblate (Italian) Currently translated at 73.7% (166 of 225 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/it/ --- public/locales/it/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/it/common.json b/public/locales/it/common.json index 58a29edd..52306bac 100644 --- a/public/locales/it/common.json +++ b/public/locales/it/common.json @@ -298,5 +298,11 @@ "videos": "Videos", "channels": "Channels", "playlists": "Playlists" + }, + "truenas": { + "load": "System Load", + "uptime": "Uptime", + "alerts": "Alerts", + "time": "{{value, number(style: unit; unitDisplay: long;)}}" } } From d9a367494afbb834b44898370ebaa9a57eb682ff Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 4 Nov 2022 05:00:46 +0000 Subject: [PATCH 119/668] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegi?= =?UTF-8?q?an=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 35.1% (79 of 225 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nb_NO/ --- public/locales/nb-NO/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/nb-NO/common.json b/public/locales/nb-NO/common.json index 2342b7e5..3b54e638 100644 --- a/public/locales/nb-NO/common.json +++ b/public/locales/nb-NO/common.json @@ -298,5 +298,11 @@ "videos": "Videos", "channels": "Channels", "playlists": "Playlists" + }, + "truenas": { + "load": "System Load", + "uptime": "Uptime", + "alerts": "Alerts", + "time": "{{value, number(style: unit; unitDisplay: long;)}}" } } From ee0dd5029a687a418fe2b70776062cfaf680b856 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 4 Nov 2022 05:00:49 +0000 Subject: [PATCH 120/668] Translated using Weblate (Vietnamese) Currently translated at 19.5% (44 of 225 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/vi/ --- public/locales/vi/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/vi/common.json b/public/locales/vi/common.json index 7905c5fe..593b9c18 100644 --- a/public/locales/vi/common.json +++ b/public/locales/vi/common.json @@ -298,5 +298,11 @@ "videos": "Videos", "channels": "Channels", "playlists": "Playlists" + }, + "truenas": { + "load": "System Load", + "uptime": "Uptime", + "alerts": "Alerts", + "time": "{{value, number(style: unit; unitDisplay: long;)}}" } } From c9bed8665f1367a12c84b5ee8c8bfb0681e94be1 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 4 Nov 2022 05:00:49 +0000 Subject: [PATCH 121/668] Translated using Weblate (Dutch) Currently translated at 28.0% (63 of 225 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nl/ --- public/locales/nl/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/nl/common.json b/public/locales/nl/common.json index 67c7b96e..bd53b72b 100644 --- a/public/locales/nl/common.json +++ b/public/locales/nl/common.json @@ -298,5 +298,11 @@ "videos": "Videos", "channels": "Channels", "playlists": "Playlists" + }, + "truenas": { + "load": "System Load", + "uptime": "Uptime", + "alerts": "Alerts", + "time": "{{value, number(style: unit; unitDisplay: long;)}}" } } From 5073acf39897b3266598d950f583865d24c70d64 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 4 Nov 2022 05:00:49 +0000 Subject: [PATCH 122/668] Translated using Weblate (Chinese (Traditional)) Currently translated at 4.0% (9 of 225 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hant/ --- public/locales/zh-Hant/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/zh-Hant/common.json b/public/locales/zh-Hant/common.json index 3c24b83c..24b88590 100644 --- a/public/locales/zh-Hant/common.json +++ b/public/locales/zh-Hant/common.json @@ -298,5 +298,11 @@ "videos": "Videos", "channels": "Channels", "playlists": "Playlists" + }, + "truenas": { + "load": "System Load", + "uptime": "Uptime", + "alerts": "Alerts", + "time": "{{value, number(style: unit; unitDisplay: long;)}}" } } From d096048106f6bf20c5c9778c8ff2c8bc37f9c7c0 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 4 Nov 2022 05:00:43 +0000 Subject: [PATCH 123/668] Translated using Weblate (Catalan) Currently translated at 58.2% (131 of 225 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ca/ --- public/locales/ca/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/ca/common.json b/public/locales/ca/common.json index be893c61..16e210ec 100644 --- a/public/locales/ca/common.json +++ b/public/locales/ca/common.json @@ -298,5 +298,11 @@ "videos": "Videos", "channels": "Channels", "playlists": "Playlists" + }, + "truenas": { + "load": "System Load", + "uptime": "Uptime", + "alerts": "Alerts", + "time": "{{value, number(style: unit; unitDisplay: long;)}}" } } From cdcfde4f74103318e9d6044969c65c76d1f77f48 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 4 Nov 2022 05:00:44 +0000 Subject: [PATCH 124/668] Translated using Weblate (Polish) Currently translated at 76.8% (173 of 225 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pl/ --- public/locales/pl/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/pl/common.json b/public/locales/pl/common.json index 92bce068..d29ba776 100644 --- a/public/locales/pl/common.json +++ b/public/locales/pl/common.json @@ -298,5 +298,11 @@ "videos": "Videos", "channels": "Channels", "playlists": "Playlists" + }, + "truenas": { + "load": "System Load", + "uptime": "Uptime", + "alerts": "Alerts", + "time": "{{value, number(style: unit; unitDisplay: long;)}}" } } From 0519bb83fb6906306040e286d4e80bfabed8399e Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 4 Nov 2022 05:00:39 +0000 Subject: [PATCH 125/668] Translated using Weblate (Swedish) Currently translated at 57.7% (130 of 225 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sv/ --- public/locales/sv/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/sv/common.json b/public/locales/sv/common.json index 33235e38..83bce269 100644 --- a/public/locales/sv/common.json +++ b/public/locales/sv/common.json @@ -298,5 +298,11 @@ "videos": "Videos", "channels": "Channels", "playlists": "Playlists" + }, + "truenas": { + "load": "System Load", + "uptime": "Uptime", + "alerts": "Alerts", + "time": "{{value, number(style: unit; unitDisplay: long;)}}" } } From fb6b639945e74f18ce6a2e29cb9ce47bb0ea3a16 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 4 Nov 2022 05:00:39 +0000 Subject: [PATCH 126/668] Translated using Weblate (Croatian) Currently translated at 54.6% (123 of 225 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hr/ --- public/locales/hr/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/hr/common.json b/public/locales/hr/common.json index 1ab626b5..48e3bd89 100644 --- a/public/locales/hr/common.json +++ b/public/locales/hr/common.json @@ -298,5 +298,11 @@ "videos": "Videos", "channels": "Channels", "playlists": "Playlists" + }, + "truenas": { + "load": "System Load", + "uptime": "Uptime", + "alerts": "Alerts", + "time": "{{value, number(style: unit; unitDisplay: long;)}}" } } From 7f25f62b4c97e8b4a241dc05efc328b120110470 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 4 Nov 2022 05:00:43 +0000 Subject: [PATCH 127/668] Translated using Weblate (Hungarian) Currently translated at 48.0% (108 of 225 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hu/ --- public/locales/hu/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/hu/common.json b/public/locales/hu/common.json index 97a32863..3af2cd6b 100644 --- a/public/locales/hu/common.json +++ b/public/locales/hu/common.json @@ -298,5 +298,11 @@ "videos": "Videos", "channels": "Channels", "playlists": "Playlists" + }, + "truenas": { + "load": "System Load", + "uptime": "Uptime", + "alerts": "Alerts", + "time": "{{value, number(style: unit; unitDisplay: long;)}}" } } From 4f6b49ba99a43034246b2ea6a6543702df2432c6 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 4 Nov 2022 05:00:40 +0000 Subject: [PATCH 128/668] Translated using Weblate (Hebrew) Currently translated at 44.8% (101 of 225 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/he/ --- public/locales/he/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/he/common.json b/public/locales/he/common.json index f63e1375..fe7fd3ae 100644 --- a/public/locales/he/common.json +++ b/public/locales/he/common.json @@ -298,5 +298,11 @@ "videos": "Videos", "channels": "Channels", "playlists": "Playlists" + }, + "truenas": { + "load": "System Load", + "uptime": "Uptime", + "alerts": "Alerts", + "time": "{{value, number(style: unit; unitDisplay: long;)}}" } } From bef23845991ed7f618adb2a44269090309755004 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 4 Nov 2022 05:00:41 +0000 Subject: [PATCH 129/668] Translated using Weblate (Romanian) Currently translated at 60.8% (137 of 225 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ro/ --- public/locales/ro/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/ro/common.json b/public/locales/ro/common.json index 19b85f45..3927aa00 100644 --- a/public/locales/ro/common.json +++ b/public/locales/ro/common.json @@ -298,5 +298,11 @@ "videos": "Videos", "channels": "Channels", "playlists": "Playlists" + }, + "truenas": { + "load": "System Load", + "uptime": "Uptime", + "alerts": "Alerts", + "time": "{{value, number(style: unit; unitDisplay: long;)}}" } } From 15adb9d3f91accf10fb8a37f6511852289e5518e Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 4 Nov 2022 05:00:40 +0000 Subject: [PATCH 130/668] Translated using Weblate (Portuguese (Brazil)) Currently translated at 51.1% (115 of 225 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt_BR/ --- public/locales/pt-BR/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/pt-BR/common.json b/public/locales/pt-BR/common.json index f512cf94..899606f6 100644 --- a/public/locales/pt-BR/common.json +++ b/public/locales/pt-BR/common.json @@ -298,5 +298,11 @@ "videos": "Videos", "channels": "Channels", "playlists": "Playlists" + }, + "truenas": { + "load": "System Load", + "uptime": "Uptime", + "alerts": "Alerts", + "time": "{{value, number(style: unit; unitDisplay: long;)}}" } } From d4c580fde347825c2d9c4ef8a851a875b5f4816d Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 4 Nov 2022 05:00:43 +0000 Subject: [PATCH 131/668] Translated using Weblate (Yue) Currently translated at 52.4% (118 of 225 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/yue/ --- public/locales/yue/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/yue/common.json b/public/locales/yue/common.json index fd2c8abe..b36caac6 100644 --- a/public/locales/yue/common.json +++ b/public/locales/yue/common.json @@ -298,5 +298,11 @@ "videos": "Videos", "channels": "Channels", "playlists": "Playlists" + }, + "truenas": { + "load": "System Load", + "uptime": "Uptime", + "alerts": "Alerts", + "time": "{{value, number(style: unit; unitDisplay: long;)}}" } } From cca6b49e38736cfdf2bfbe92743a051b8a751739 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 4 Nov 2022 05:00:45 +0000 Subject: [PATCH 132/668] Translated using Weblate (Finnish) Currently translated at 54.6% (123 of 225 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fi/ --- public/locales/fi/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/fi/common.json b/public/locales/fi/common.json index f8f1339d..3e8c69bf 100644 --- a/public/locales/fi/common.json +++ b/public/locales/fi/common.json @@ -298,5 +298,11 @@ "videos": "Videos", "channels": "Channels", "playlists": "Playlists" + }, + "truenas": { + "load": "System Load", + "uptime": "Uptime", + "alerts": "Alerts", + "time": "{{value, number(style: unit; unitDisplay: long;)}}" } } From a2d3d151423ee4ecbf657354e1df4ba3f9a123fc Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 4 Nov 2022 05:00:44 +0000 Subject: [PATCH 133/668] Translated using Weblate (Telugu) Currently translated at 96.4% (217 of 225 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/te/ --- public/locales/te/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/te/common.json b/public/locales/te/common.json index cc06942f..cbe1bce5 100644 --- a/public/locales/te/common.json +++ b/public/locales/te/common.json @@ -298,5 +298,11 @@ "videos": "Videos", "channels": "Channels", "playlists": "Playlists" + }, + "truenas": { + "load": "System Load", + "uptime": "Uptime", + "alerts": "Alerts", + "time": "{{value, number(style: unit; unitDisplay: long;)}}" } } From a402643630b8412a8c322667e732f4f6b6557d5d Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 4 Nov 2022 05:00:45 +0000 Subject: [PATCH 134/668] Translated using Weblate (Bulgarian) Currently translated at 20.4% (46 of 225 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/bg/ --- public/locales/bg/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/bg/common.json b/public/locales/bg/common.json index a6a59141..98898d25 100644 --- a/public/locales/bg/common.json +++ b/public/locales/bg/common.json @@ -298,5 +298,11 @@ "videos": "Videos", "channels": "Channels", "playlists": "Playlists" + }, + "truenas": { + "load": "System Load", + "uptime": "Uptime", + "alerts": "Alerts", + "time": "{{value, number(style: unit; unitDisplay: long;)}}" } } From 0e97a4256a1ce6b6083a20bd3d659f75b29ec44b Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 4 Nov 2022 05:00:46 +0000 Subject: [PATCH 135/668] Translated using Weblate (Turkish) Currently translated at 64.8% (146 of 225 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/tr/ --- public/locales/tr/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/tr/common.json b/public/locales/tr/common.json index a4274a9b..c145d4bf 100644 --- a/public/locales/tr/common.json +++ b/public/locales/tr/common.json @@ -298,5 +298,11 @@ "videos": "Videos", "channels": "Channels", "playlists": "Playlists" + }, + "truenas": { + "load": "System Load", + "uptime": "Uptime", + "alerts": "Alerts", + "time": "{{value, number(style: unit; unitDisplay: long;)}}" } } From d0a07effc6bdc77ee10496cf2f305e71b2296f91 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 4 Nov 2022 05:00:41 +0000 Subject: [PATCH 136/668] Translated using Weblate (Serbian) Currently translated at 4.0% (9 of 225 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sr/ --- public/locales/sr/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/sr/common.json b/public/locales/sr/common.json index 6c7de927..5eab2193 100644 --- a/public/locales/sr/common.json +++ b/public/locales/sr/common.json @@ -298,5 +298,11 @@ "videos": "Videos", "channels": "Channels", "playlists": "Playlists" + }, + "truenas": { + "load": "System Load", + "uptime": "Uptime", + "alerts": "Alerts", + "time": "{{value, number(style: unit; unitDisplay: long;)}}" } } From 181461a19f4bf83e5a135e19c6c4b967593ccde4 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 4 Nov 2022 05:00:44 +0000 Subject: [PATCH 137/668] Translated using Weblate (Arabic) Currently translated at 19.5% (44 of 225 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ar/ --- public/locales/ar/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/ar/common.json b/public/locales/ar/common.json index 683672ce..3e40f83f 100644 --- a/public/locales/ar/common.json +++ b/public/locales/ar/common.json @@ -298,5 +298,11 @@ "videos": "Videos", "channels": "Channels", "playlists": "Playlists" + }, + "truenas": { + "load": "System Load", + "uptime": "Uptime", + "alerts": "Alerts", + "time": "{{value, number(style: unit; unitDisplay: long;)}}" } } From f65cb633056bb3093df2e928c4a62d9b6d3b0310 Mon Sep 17 00:00:00 2001 From: Ben Phelps Date: Fri, 4 Nov 2022 10:10:41 +0200 Subject: [PATCH 138/668] update readme --- README.md | 48 ++++++------------------------------------------ 1 file changed, 6 insertions(+), 42 deletions(-) diff --git a/README.md b/README.md index bbef083b..cdfa217e 100644 --- a/README.md +++ b/README.md @@ -144,47 +144,11 @@ This is a [Next.js](https://nextjs.org/) application, see their doucmentation fo ## Contributors -Huge thanks to the all the contributors who have helped make this project what it is today! In alphabetical order: + + + -- [aidenpwnz](https://github.com/benphelps/homepage/commits?author=aidenpwnz) - Nginx Proxy Manager, Search Bar Widget -- [AlexFullmoon](https://github.com/benphelps/homepage/commits?author=AlexFullmoon) - OpenWeatherMap Widget -- [andrii-kryvoviaz](https://github.com/benphelps/homepage/commits?author=andrii-kryvoviaz) - Background opacity option -- [DevPGSV](https://github.com/benphelps/homepage/commits?author=DevPGSV) - Syncthing Relay Server & Mastodon widgets -- [ilusi0n](https://github.com/benphelps/homepage/commits?author=ilusi0n) - Jellyseerr Integration -- [ItsJustMeChris](https://github.com/benphelps/homepage/commits?author=ItsJustMeChris) - Coin Market Cap Widget -- [JazzFisch](https://github.com/benphelps/homepage/commits?author=JazzFisch) - Readarr, Bazarr, Lidarr, SABnzbd, Transmission, qBittorrent, Proxmox Integrations & countless more improvements -- [josways](https://github.com/benphelps/homepage/commits?author=josways) - Baidu search provider -- [mauricio-kalil](https://github.com/benphelps/homepage/commits?author=mauricio-kalil) - Portuguese (Brazil) -- [modem7](https://github.com/benphelps/homepage/commits?author=modem7) - Impvoed Docker Image -- [MountainGod2](https://github.com/benphelps/homepage/discussions/243) - Homepage Logo -- [quod](https://github.com/benphelps/homepage/commits?author=quod) - Fixed Typos -- [schklom](https://github.com/benphelps/homepage/commits?author=schklom) - ARM64, ARMv7 and ARMv6 -- [xicopitz](https://github.com/benphelps/homepage/commits?author=xicopitz) - Gotify & Prowlarr Integration + + -### Translators - -- [3vilson](https://github.com/benphelps/homepage/commits?author=3vilson) - German -- [4lenz1](https://github.com/benphelps/homepage/commits?author=4lenz1) - Chinese -- [AmadeusGraves](https://github.com/benphelps/homepage/commits?author=AmadeusGraves) - Spanish -- [boerniee](https://github.com/benphelps/homepage/commits?author=boerniee) - German -- [brunoccr](https://github.com/benphelps/homepage/commits?author=brunoccr) - Portuguese (Brazil) -- [C8opmBM](https://github.com/benphelps/homepage/commits?author=C8opmBM) - Romainian -- [comradekingu](https://github.com/benphelps/homepage/commits?author=comradekingu) - Norwegian Bokmål -- Daniel Varga - German & Hungarian -- [deffcolony](https://github.com/benphelps/homepage/commits?author=deffcolony) - Dutch -- [desolaris](https://github.com/benphelps/homepage/commits?author=desolaris) - Russian -- [ericlokz](https://github.com/benphelps/homepage/commits?author=ericlokz) - Yue -- [FunsKiTo](https://github.com/benphelps/homepage/commits?author=FunsKiTo) - Spanish -- [jackblk](https://github.com/benphelps/homepage/commits?author=jackblk) - Vietnamese -- [juanmanuelbc](https://github.com/benphelps/homepage/commits?author=juanmanuelbc) - Spanish and Catalan -- [ling0412](https://github.com/benphelps/homepage/commits?author=ling0412) - Chinese -- [milotype](https://github.com/benphelps/homepage/commits?author=milotype) - Croatian -- [nicedc](https://github.com/benphelps/homepage/commits?author=nicedc) - Chinese -- [Nonoss117](https://github.com/benphelps/homepage/commits?author=Nonoss117) - French -- [pacoculebras](https://github.com/benphelps/homepage/commits?author=pacoculebras) - Catalan -- [Prilann](https://github.com/benphelps/homepage/commits?author=Prilann) - German -- [psychodracon](https://github.com/benphelps/homepage/commits?author=psychodracon) - Polish -- Sascha Jelinek - German -- [ShlomiPorush](https://github.com/benphelps/homepage/commits?author=ShlomiPorush) - Hebrew -- [SuperDOS](https://github.com/benphelps/homepage/commits?author=SuperDOS) - Swedish -- [kaihu](https://github.com/benphelps/homepage/commits?author=kaihu) - Finnish + From d4b2e27997f88cc238e17c89341f840285d882e8 Mon Sep 17 00:00:00 2001 From: Ben Phelps Date: Fri, 4 Nov 2022 10:55:25 +0200 Subject: [PATCH 139/668] add all-contributorsrc --- .all-contributorsrc | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 .all-contributorsrc diff --git a/.all-contributorsrc b/.all-contributorsrc new file mode 100644 index 00000000..1487861d --- /dev/null +++ b/.all-contributorsrc @@ -0,0 +1,10 @@ +{ + "projectName": "homepage", + "projectOwner": "benphelps", + "repoType": "github", + "repoHost": "https://github.com", + "files": ["README.md"], + "imageSize": 50, + "contributorsSortAlphabetically": true, + "contributors": [] +} From 6ee0b3ff84f4d738f450473e57c478ed2ae57c1f Mon Sep 17 00:00:00 2001 From: Nonoss117 Date: Fri, 4 Nov 2022 06:08:35 +0000 Subject: [PATCH 140/668] Translated using Weblate (French) Currently translated at 100.0% (225 of 225 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/ --- public/locales/fr/common.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/public/locales/fr/common.json b/public/locales/fr/common.json index c811cdd8..3e0ffccb 100644 --- a/public/locales/fr/common.json +++ b/public/locales/fr/common.json @@ -300,9 +300,9 @@ "playlists": "Playlists" }, "truenas": { - "load": "System Load", - "uptime": "Uptime", - "alerts": "Alerts", + "load": "Charge Système", + "uptime": "Démarré depuis", + "alerts": "Alertes", "time": "{{value, number(style: unit; unitDisplay: long;)}}" } } From 10ce7e80af9fb222f1821df1b7b038d99ed79285 Mon Sep 17 00:00:00 2001 From: Milo Ivir Date: Fri, 4 Nov 2022 11:22:05 +0000 Subject: [PATCH 141/668] Translated using Weblate (Croatian) Currently translated at 60.0% (135 of 225 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hr/ --- public/locales/hr/common.json | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/public/locales/hr/common.json b/public/locales/hr/common.json index 48e3bd89..4d04055b 100644 --- a/public/locales/hr/common.json +++ b/public/locales/hr/common.json @@ -92,8 +92,8 @@ "transmission": { "download": "Preuzimanje", "upload": "Prijenos", - "leech": "Krvopija", - "seed": "Prijenos preuzetog sadržaja" + "leech": "Leecher", + "seed": "Seeder" }, "sonarr": { "wanted": "Željeno", @@ -143,7 +143,7 @@ "traefik": { "routers": "Ruteri", "services": "Usluge", - "middleware": "Middleware" + "middleware": "Posrednički softver" }, "gotify": { "clients": "Klijenti", @@ -157,8 +157,8 @@ "qbittorrent": { "download": "Preuzimanje", "upload": "Prijenos", - "leech": "Krvopija", - "seed": "Prijenos preuzetog sadržaja" + "leech": "Leecher", + "seed": "Seeder" }, "mastodon": { "user_count": "Korisnici", @@ -187,21 +187,21 @@ "uptime": "Vrijeme rada sustava", "days": "Dani", "wan": "WAN", - "lan_users": "LAN Korisnici", - "wlan_users": "WLAN Korisnici", + "lan_users": "LAN korisnici", + "wlan_users": "WLAN korisnici", "up": "Upaljen", "down": "Ugašen", - "wait": "Molimo pričekajte", + "wait": "Pričekaj", "lan": "LAN", "wlan": "WLAN", - "devices": "Devices", - "lan_devices": "LAN Devices", - "wlan_devices": "WLAN Devices" + "devices": "Uređaji", + "lan_devices": "LAN uređaji", + "wlan_devices": "WLAN uređaji" }, "plex": { - "streams": "Active Streams", - "movies": "Movies", - "tv": "TV Shows" + "streams": "Aktivni prijenosi", + "movies": "Filmovi", + "tv": "TV emisije" }, "glances": { "cpu": "CPU", @@ -209,8 +209,8 @@ "wait": "Please wait" }, "changedetectionio": { - "totalObserved": "Total Observed", - "diffsDetected": "Diffs Detected" + "totalObserved": "Ukupno promatrano", + "diffsDetected": "Otkrivene razlike" }, "wmo": { "0-day": "Sunny", From 4965e3eb1f70cb88c2004d99acc12203e1bab70d Mon Sep 17 00:00:00 2001 From: scetu Date: Fri, 4 Nov 2022 17:40:40 +0100 Subject: [PATCH 142/668] Added translation using Weblate (Czech) --- public/locales/cs/common.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 public/locales/cs/common.json diff --git a/public/locales/cs/common.json b/public/locales/cs/common.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/public/locales/cs/common.json @@ -0,0 +1 @@ +{} From 330fd2cf8befddb47d2c38053d3f14e6268a7677 Mon Sep 17 00:00:00 2001 From: Milo Ivir Date: Fri, 4 Nov 2022 13:37:43 +0000 Subject: [PATCH 143/668] Translated using Weblate (Croatian) Currently translated at 100.0% (225 of 225 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hr/ --- public/locales/hr/common.json | 190 +++++++++++++++++----------------- 1 file changed, 95 insertions(+), 95 deletions(-) diff --git a/public/locales/hr/common.json b/public/locales/hr/common.json index 4d04055b..083faebd 100644 --- a/public/locales/hr/common.json +++ b/public/locales/hr/common.json @@ -1,12 +1,12 @@ { "weather": { - "current": "Trenutna lokacija", + "current": "Trenutačna lokacija", "allow": "Pritisni za dozvoljavanje", "updating": "Aktualiziranje", - "wait": "Molimo pričekajte" + "wait": "Pričekaj" }, "search": { - "placeholder": "Traži…" + "placeholder": "Traži …" }, "resources": { "total": "Ukupno", @@ -17,7 +17,7 @@ }, "sabnzbd": { "rate": "Stopa", - "queue": "Red", + "queue": "Red čekanja", "timeleft": "Preostalo vrijeme" }, "overseerr": { @@ -28,7 +28,7 @@ "pihole": { "queries": "Upiti", "blocked": "Blokirano", - "gravity": "Ozbiljnost" + "gravity": "Čuvanje podataka" }, "adguard": { "latency": "Kašnjenje", @@ -65,7 +65,7 @@ "tx": "TX", "mem": "MEM", "cpu": "CPU", - "offline": "Izvan mreže" + "offline": "Nepovezan" }, "emby": { "playing": "Reprodukcija", @@ -96,23 +96,23 @@ "seed": "Seeder" }, "sonarr": { - "wanted": "Željeno", + "wanted": "Zatraženo", "queued": "U redu čekanja", "series": "Serije" }, "radarr": { - "wanted": "Željeno", + "wanted": "Zatraženo", "queued": "U redu čekanja", "movies": "Filmovi", - "missing": "Missing" + "missing": "Nedostaje" }, "lidarr": { - "wanted": "Željeno", + "wanted": "Zatraženo", "queued": "U redu čekanja", "albums": "Albumi" }, "readarr": { - "wanted": "Željeno", + "wanted": "Zatraženo", "queued": "U redu čekanja", "books": "Knjige" }, @@ -172,19 +172,19 @@ "transferRate": "Stopa" }, "authentik": { - "users": "Users", - "loginsLast24H": "Logins (24h)", - "failedLoginsLast24H": "Failed Logins (24h)" + "users": "Korisnici", + "loginsLast24H": "Prijave (24 h)", + "failedLoginsLast24H": "Neuspjele prijave (24 h)" }, "proxmox": { "mem": "MEM", "cpu": "CPU", - "lxc": "LXC", - "vms": "VMs" + "lxc": "Linux kontejner", + "vms": "Virtualni uređaji" }, "unifi": { "users": "Korisnici", - "uptime": "Vrijeme rada sustava", + "uptime": "Radno vrijeme sustava", "days": "Dani", "wan": "WAN", "lan_users": "LAN korisnici", @@ -206,103 +206,103 @@ "glances": { "cpu": "CPU", "mem": "MEM", - "wait": "Please wait" + "wait": "Pričekaj" }, "changedetectionio": { "totalObserved": "Ukupno promatrano", "diffsDetected": "Otkrivene razlike" }, "wmo": { - "0-day": "Sunny", - "0-night": "Clear", - "1-day": "Mainly Sunny", - "1-night": "Mainly Clear", - "2-day": "Partly Cloudy", - "45-day": "Foggy", - "45-night": "Foggy", - "48-day": "Foggy", - "2-night": "Partly Cloudy", - "3-day": "Cloudy", - "3-night": "Cloudy", - "48-night": "Foggy", - "51-day": "Light Drizzle", - "51-night": "Light Drizzle", - "53-day": "Drizzle", - "53-night": "Drizzle", - "55-day": "Heavy Drizzle", - "55-night": "Heavy Drizzle", - "56-day": "Light Freezing Drizzle", - "56-night": "Light Freezing Drizzle", - "57-day": "Freezing Drizzle", - "57-night": "Freezing Drizzle", - "61-day": "Light Rain", - "61-night": "Light Rain", - "63-day": "Rain", - "63-night": "Rain", - "65-day": "Heavy Rain", - "65-night": "Heavy Rain", - "66-day": "Freezing Rain", - "66-night": "Freezing Rain", - "67-day": "Freezing Rain", - "67-night": "Freezing Rain", - "75-night": "Heavy Snow", - "77-day": "Snow Grains", - "71-day": "Light Snow", - "71-night": "Light Snow", - "73-day": "Snow", - "73-night": "Snow", - "75-day": "Heavy Snow", - "77-night": "Snow Grains", - "80-day": "Light Showers", - "80-night": "Light Showers", - "81-day": "Showers", - "81-night": "Showers", - "82-day": "Heavy Showers", - "82-night": "Heavy Showers", - "85-day": "Snow Showers", - "85-night": "Snow Showers", - "86-day": "Snow Showers", - "86-night": "Snow Showers", - "95-day": "Thunderstorm", - "95-night": "Thunderstorm", - "96-day": "Thunderstorm With Hail", - "96-night": "Thunderstorm With Hail", - "99-day": "Thunderstorm With Hail", - "99-night": "Thunderstorm With Hail" + "0-day": "Sunčano", + "0-night": "Vedro", + "1-day": "Pretežno sunčano", + "1-night": "Pretežno verdo", + "2-day": "Djelimično oblačno", + "45-day": "Maglovito", + "45-night": "Maglovito", + "48-day": "Maglovito", + "2-night": "Djelimično oblačno", + "3-day": "Oblačno", + "3-night": "Oblačno", + "48-night": "Maglovito", + "51-day": "Laka rosulja", + "51-night": "Laka rosulja", + "53-day": "Rosulja", + "53-night": "Rosulja", + "55-day": "Jaka rosulja", + "55-night": "Jaka rosulja", + "56-day": "Laka ledena rosulja", + "56-night": "Laka ledena rosulja", + "57-day": "Ledena rosulja", + "57-night": "Ledena rosulja", + "61-day": "Laka kiša", + "61-night": "Laka kiša", + "63-day": "Kiša", + "63-night": "Kiša", + "65-day": "Jaka kiša", + "65-night": "Jaka kiša", + "66-day": "Ledena kiša", + "66-night": "Ledena kiša", + "67-day": "Ledena kiša", + "67-night": "Ledena kiša", + "75-night": "Jaki snijeg", + "77-day": "Zrnati snijeg", + "71-day": "Laki snijeg", + "71-night": "Laki snijeg", + "73-day": "Snijeg", + "73-night": "Snijeg", + "75-day": "Jaki snijeg", + "77-night": "Zrnati snijeg", + "80-day": "Laki pljuskovi", + "80-night": "Laki pljuskovi", + "81-day": "Pljuskovi", + "81-night": "Pljuskovi", + "82-day": "Jaki pljuskovi", + "82-night": "Jaki pljuskovi", + "85-day": "Snježni pljuskovi", + "85-night": "Snježni pljuskovi", + "86-day": "Snježni pljuskovi", + "86-night": "Snježni pljuskovi", + "95-day": "Oluja", + "95-night": "Oluja", + "96-day": "Oluja s grmljavinom", + "96-night": "Oluja s grmljavinom", + "99-day": "Oluja s grmljavinom", + "99-night": "Oluja s grmljavinom" }, "quicklaunch": { - "bookmark": "Bookmark", - "service": "Service" + "bookmark": "Straničnik", + "service": "Usluga" }, "homebridge": { - "available_update": "System", - "updates": "Updates", - "update_available": "Update Available", - "up_to_date": "Up to Date", - "child_bridges": "Child Bridges", + "available_update": "Sustav", + "updates": "Aktualiziranja", + "update_available": "Dostupna je nova verzija", + "up_to_date": "Aktualno", + "child_bridges": "Podređeni mosotvi", "child_bridges_status": "{{ok}}/{{total}}" }, "autobrr": { - "rejectedPushes": "Rejected", - "approvedPushes": "Approved", - "filters": "Filters", - "indexers": "Indexers" + "rejectedPushes": "Odbijeno", + "approvedPushes": "Odobreno", + "filters": "Filtri", + "indexers": "Indeksatori" }, "watchtower": { - "containers_scanned": "Scanned", - "containers_updated": "Updated", - "containers_failed": "Failed" + "containers_scanned": "Skenirano", + "containers_updated": "Aktualizirano", + "containers_failed": "Neuspjelo" }, "tubearchivist": { - "downloads": "Queue", - "videos": "Videos", - "channels": "Channels", - "playlists": "Playlists" + "downloads": "Red čekanja", + "videos": "Videa", + "channels": "Kanali", + "playlists": "Playliste" }, "truenas": { - "load": "System Load", - "uptime": "Uptime", - "alerts": "Alerts", + "load": "Opterećenje sustava", + "uptime": "Radno vrijeme", + "alerts": "Upozorenja", "time": "{{value, number(style: unit; unitDisplay: long;)}}" } } From fa57c797226599ccfc6f8caed0129878367c560a Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 4 Nov 2022 16:40:51 +0000 Subject: [PATCH 144/668] Translated using Weblate (Czech) Currently translated at 100.0% (0 of 0 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/cs/ --- public/locales/cs/common.json | 309 +++++++++++++++++++++++++++++++++- 1 file changed, 308 insertions(+), 1 deletion(-) diff --git a/public/locales/cs/common.json b/public/locales/cs/common.json index 0967ef42..6a85b24a 100644 --- a/public/locales/cs/common.json +++ b/public/locales/cs/common.json @@ -1 +1,308 @@ -{} +{ + "tubearchivist": { + "videos": "Videos", + "channels": "Channels", + "playlists": "Playlists", + "downloads": "Queue" + }, + "truenas": { + "load": "System Load", + "uptime": "Uptime", + "alerts": "Alerts", + "time": "{{value, number(style: unit; unitDisplay: long;)}}" + }, + "widget": { + "missing_type": "Missing Widget Type: {{type}}", + "api_error": "API Error", + "status": "Status" + }, + "weather": { + "current": "Current Location", + "allow": "Click to allow", + "updating": "Updating", + "wait": "Please wait" + }, + "search": { + "placeholder": "Search…" + }, + "resources": { + "cpu": "CPU", + "total": "Total", + "free": "Free", + "used": "Used", + "load": "Load" + }, + "unifi": { + "users": "Users", + "uptime": "System Uptime", + "days": "Days", + "wan": "WAN", + "lan": "LAN", + "wlan": "WLAN", + "devices": "Devices", + "lan_devices": "LAN Devices", + "wlan_devices": "WLAN Devices", + "lan_users": "LAN Users", + "wlan_users": "WLAN Users", + "up": "UP", + "down": "DOWN", + "wait": "Please wait" + }, + "docker": { + "rx": "RX", + "tx": "TX", + "mem": "MEM", + "cpu": "CPU", + "offline": "Offline" + }, + "emby": { + "playing": "Playing", + "transcoding": "Transcoding", + "bitrate": "Bitrate", + "no_active": "No Active Streams" + }, + "changedetectionio": { + "totalObserved": "Total Observed", + "diffsDetected": "Diffs Detected" + }, + "tautulli": { + "playing": "Playing", + "transcoding": "Transcoding", + "bitrate": "Bitrate", + "no_active": "No Active Streams" + }, + "nzbget": { + "rate": "Rate", + "remaining": "Remaining", + "downloaded": "Downloaded" + }, + "plex": { + "streams": "Active Streams", + "movies": "Movies", + "tv": "TV Shows" + }, + "sabnzbd": { + "rate": "Rate", + "queue": "Queue", + "timeleft": "Time Left" + }, + "rutorrent": { + "active": "Active", + "upload": "Upload", + "download": "Download" + }, + "transmission": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" + }, + "qbittorrent": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" + }, + "sonarr": { + "wanted": "Wanted", + "queued": "Queued", + "series": "Series" + }, + "radarr": { + "wanted": "Wanted", + "missing": "Missing", + "queued": "Queued", + "movies": "Movies" + }, + "lidarr": { + "wanted": "Wanted", + "queued": "Queued", + "albums": "Albums" + }, + "readarr": { + "wanted": "Wanted", + "queued": "Queued", + "books": "Books" + }, + "bazarr": { + "missingEpisodes": "Missing Episodes", + "missingMovies": "Missing Movies" + }, + "ombi": { + "pending": "Pending", + "approved": "Approved", + "available": "Available" + }, + "jellyseerr": { + "pending": "Pending", + "approved": "Approved", + "available": "Available" + }, + "overseerr": { + "pending": "Pending", + "approved": "Approved", + "available": "Available" + }, + "pihole": { + "queries": "Queries", + "blocked": "Blocked", + "gravity": "Gravity" + }, + "adguard": { + "queries": "Queries", + "blocked": "Blocked", + "filtered": "Filtered", + "latency": "Latency" + }, + "speedtest": { + "upload": "Upload", + "download": "Download", + "ping": "Ping" + }, + "portainer": { + "running": "Running", + "stopped": "Stopped", + "total": "Total" + }, + "traefik": { + "routers": "Routers", + "services": "Services", + "middleware": "Middleware" + }, + "npm": { + "enabled": "Enabled", + "disabled": "Disabled", + "total": "Total" + }, + "coinmarketcap": { + "configure": "Configure one or more crypto currencies to track", + "1hour": "1 Hour", + "1day": "1 Day", + "7days": "7 Days", + "30days": "30 Days" + }, + "wmo": { + "1-night": "Mainly Clear", + "2-day": "Partly Cloudy", + "0-day": "Sunny", + "0-night": "Clear", + "1-day": "Mainly Sunny", + "2-night": "Partly Cloudy", + "3-day": "Cloudy", + "3-night": "Cloudy", + "45-day": "Foggy", + "45-night": "Foggy", + "48-day": "Foggy", + "48-night": "Foggy", + "51-day": "Light Drizzle", + "53-day": "Drizzle", + "53-night": "Drizzle", + "55-day": "Heavy Drizzle", + "55-night": "Heavy Drizzle", + "56-day": "Light Freezing Drizzle", + "56-night": "Light Freezing Drizzle", + "57-day": "Freezing Drizzle", + "57-night": "Freezing Drizzle", + "61-day": "Light Rain", + "61-night": "Light Rain", + "51-night": "Light Drizzle", + "63-day": "Rain", + "63-night": "Rain", + "65-day": "Heavy Rain", + "65-night": "Heavy Rain", + "66-day": "Freezing Rain", + "66-night": "Freezing Rain", + "67-day": "Freezing Rain", + "67-night": "Freezing Rain", + "71-day": "Light Snow", + "73-night": "Snow", + "75-day": "Heavy Snow", + "75-night": "Heavy Snow", + "77-day": "Snow Grains", + "71-night": "Light Snow", + "73-day": "Snow", + "77-night": "Snow Grains", + "80-day": "Light Showers", + "80-night": "Light Showers", + "81-day": "Showers", + "81-night": "Showers", + "82-day": "Heavy Showers", + "82-night": "Heavy Showers", + "85-day": "Snow Showers", + "85-night": "Snow Showers", + "86-day": "Snow Showers", + "86-night": "Snow Showers", + "95-day": "Thunderstorm", + "95-night": "Thunderstorm", + "96-day": "Thunderstorm With Hail", + "96-night": "Thunderstorm With Hail", + "99-day": "Thunderstorm With Hail", + "99-night": "Thunderstorm With Hail" + }, + "gotify": { + "apps": "Applications", + "clients": "Clients", + "messages": "Messages" + }, + "prowlarr": { + "enableIndexers": "Indexers", + "numberOfGrabs": "Grabs", + "numberOfQueries": "Queries", + "numberOfFailGrabs": "Fail Grabs", + "numberOfFailQueries": "Fail Queries" + }, + "jackett": { + "configured": "Configured", + "errored": "Errored" + }, + "strelaysrv": { + "numActiveSessions": "Sessions", + "numConnections": "Connections", + "dataRelayed": "Relayed", + "transferRate": "Rate" + }, + "mastodon": { + "user_count": "Users", + "status_count": "Posts", + "domain_count": "Domains" + }, + "authentik": { + "users": "Users", + "loginsLast24H": "Logins (24h)", + "failedLoginsLast24H": "Failed Logins (24h)" + }, + "proxmox": { + "mem": "MEM", + "cpu": "CPU", + "lxc": "LXC", + "vms": "VMs" + }, + "glances": { + "cpu": "CPU", + "mem": "MEM", + "wait": "Please wait" + }, + "quicklaunch": { + "bookmark": "Bookmark", + "service": "Service" + }, + "homebridge": { + "update_available": "Update Available", + "up_to_date": "Up to Date", + "available_update": "System", + "updates": "Updates", + "child_bridges": "Child Bridges", + "child_bridges_status": "{{ok}}/{{total}}" + }, + "watchtower": { + "containers_scanned": "Scanned", + "containers_updated": "Updated", + "containers_failed": "Failed" + }, + "autobrr": { + "approvedPushes": "Approved", + "rejectedPushes": "Rejected", + "filters": "Filters", + "indexers": "Indexers" + } +} From 66d5a3b877eb4d034f892f504a329c5e0bdf9559 Mon Sep 17 00:00:00 2001 From: "Peter Selch Carlsen (SheepyDK)" Date: Fri, 4 Nov 2022 21:52:09 +0100 Subject: [PATCH 145/668] Added translation using Weblate (Danish) --- public/locales/da/common.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 public/locales/da/common.json diff --git a/public/locales/da/common.json b/public/locales/da/common.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/public/locales/da/common.json @@ -0,0 +1 @@ +{} From bee26001f621ddb035cfd8bcc5b72feccf4d37e9 Mon Sep 17 00:00:00 2001 From: gallegonovato Date: Fri, 4 Nov 2022 20:39:42 +0000 Subject: [PATCH 146/668] Translated using Weblate (Spanish) Currently translated at 100.0% (225 of 225 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/ --- public/locales/es/common.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/public/locales/es/common.json b/public/locales/es/common.json index 95d5d3a4..5de221ea 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -300,9 +300,9 @@ "playlists": "Listas de reproducción" }, "truenas": { - "load": "System Load", - "uptime": "Uptime", - "alerts": "Alerts", + "load": "Carga del sistema", + "uptime": "Tiempo de la actividad", + "alerts": "Alertas", "time": "{{value, number(style: unit; unitDisplay: long;)}}" } } From 5a4ee5ce5069c934b0dbdf805a63b3cfdbb65bad Mon Sep 17 00:00:00 2001 From: scetu Date: Fri, 4 Nov 2022 17:37:59 +0000 Subject: [PATCH 147/668] Translated using Weblate (Czech) Currently translated at 100.0% (225 of 225 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/cs/ --- public/locales/cs/common.json | 398 +++++++++++++++++----------------- 1 file changed, 199 insertions(+), 199 deletions(-) diff --git a/public/locales/cs/common.json b/public/locales/cs/common.json index 6a85b24a..d51f3c64 100644 --- a/public/locales/cs/common.json +++ b/public/locales/cs/common.json @@ -1,308 +1,308 @@ { "tubearchivist": { - "videos": "Videos", - "channels": "Channels", - "playlists": "Playlists", - "downloads": "Queue" + "videos": "Videa", + "channels": "Kanály", + "playlists": "Playlisty", + "downloads": "Fronta" }, "truenas": { - "load": "System Load", - "uptime": "Uptime", - "alerts": "Alerts", + "load": "Vytížení systému", + "uptime": "Doba spuštění", + "alerts": "Upozornění", "time": "{{value, number(style: unit; unitDisplay: long;)}}" }, "widget": { - "missing_type": "Missing Widget Type: {{type}}", - "api_error": "API Error", + "missing_type": "Chybí typ widgetu: {{type}}", + "api_error": "Chyba API", "status": "Status" }, "weather": { - "current": "Current Location", - "allow": "Click to allow", - "updating": "Updating", - "wait": "Please wait" + "current": "Aktuální poloha", + "allow": "Klikni pro povolení", + "updating": "Probíhá aktualizace", + "wait": "Počkejte prosím" }, "search": { - "placeholder": "Search…" + "placeholder": "Hledat…" }, "resources": { "cpu": "CPU", - "total": "Total", - "free": "Free", - "used": "Used", - "load": "Load" + "total": "Celkem", + "free": "Volné", + "used": "Využité", + "load": "Vytížení" }, "unifi": { - "users": "Users", - "uptime": "System Uptime", - "days": "Days", + "users": "Uživatelé", + "uptime": "Čas od startu systému", + "days": "Dnů", "wan": "WAN", "lan": "LAN", "wlan": "WLAN", - "devices": "Devices", - "lan_devices": "LAN Devices", - "wlan_devices": "WLAN Devices", - "lan_users": "LAN Users", - "wlan_users": "WLAN Users", - "up": "UP", - "down": "DOWN", - "wait": "Please wait" + "devices": "Zařízení", + "lan_devices": "LAN Zařízení", + "wlan_devices": "WLAN Zařízení", + "lan_users": "LAN Uživatelé", + "wlan_users": "WLAN Uživatelé", + "up": "BĚŽÍ", + "down": "NEBĚŽÍ", + "wait": "Počkejte prosím" }, "docker": { "rx": "RX", "tx": "TX", - "mem": "MEM", + "mem": "RAM", "cpu": "CPU", "offline": "Offline" }, "emby": { - "playing": "Playing", - "transcoding": "Transcoding", + "playing": "Přehrává", + "transcoding": "Transkódování", "bitrate": "Bitrate", - "no_active": "No Active Streams" + "no_active": "Žádný aktivní stream" }, "changedetectionio": { - "totalObserved": "Total Observed", - "diffsDetected": "Diffs Detected" + "totalObserved": "Celkem zjištěno", + "diffsDetected": "Rozdíly detekovány" }, "tautulli": { - "playing": "Playing", - "transcoding": "Transcoding", + "playing": "Přehrává", + "transcoding": "Transkódování", "bitrate": "Bitrate", - "no_active": "No Active Streams" + "no_active": "Žádný aktivní stream" }, "nzbget": { - "rate": "Rate", - "remaining": "Remaining", - "downloaded": "Downloaded" + "rate": "Rychlost", + "remaining": "Zbývá", + "downloaded": "Staženo" }, "plex": { - "streams": "Active Streams", - "movies": "Movies", - "tv": "TV Shows" + "streams": "Aktivní streamy", + "movies": "Filmy", + "tv": "Seriály" }, "sabnzbd": { - "rate": "Rate", - "queue": "Queue", - "timeleft": "Time Left" + "rate": "Rychlost", + "queue": "Fronta", + "timeleft": "Zbývající čas" }, "rutorrent": { - "active": "Active", - "upload": "Upload", - "download": "Download" + "active": "Aktivní", + "upload": "Nahrávání", + "download": "Stahování" }, "transmission": { - "download": "Download", - "upload": "Upload", - "leech": "Leech", - "seed": "Seed" + "download": "Stahování", + "upload": "Nahrávání", + "leech": "Leecher", + "seed": "Seeder" }, "qbittorrent": { - "download": "Download", - "upload": "Upload", - "leech": "Leech", - "seed": "Seed" + "download": "Stahování", + "upload": "Nahrávání", + "leech": "Leecher", + "seed": "Seeder" }, "sonarr": { - "wanted": "Wanted", - "queued": "Queued", - "series": "Series" + "wanted": "Hledaný", + "queued": "Ve frontě", + "series": "Seriály" }, "radarr": { - "wanted": "Wanted", - "missing": "Missing", - "queued": "Queued", - "movies": "Movies" + "wanted": "Hledaný", + "missing": "Chybějící", + "queued": "Ve frontě", + "movies": "Filmy" }, "lidarr": { - "wanted": "Wanted", - "queued": "Queued", - "albums": "Albums" + "wanted": "Hledaný", + "queued": "Ve frontě", + "albums": "Alba" }, "readarr": { - "wanted": "Wanted", - "queued": "Queued", - "books": "Books" + "wanted": "Hledaný", + "queued": "Ve frontě", + "books": "Knihy" }, "bazarr": { - "missingEpisodes": "Missing Episodes", - "missingMovies": "Missing Movies" + "missingEpisodes": "Chybějící epizody", + "missingMovies": "Chybějící filmy" }, "ombi": { - "pending": "Pending", - "approved": "Approved", - "available": "Available" + "pending": "Čeká", + "approved": "Schváleno", + "available": "Dostupný" }, "jellyseerr": { - "pending": "Pending", - "approved": "Approved", - "available": "Available" + "pending": "Čeká", + "approved": "Schváleno", + "available": "Dostupný" }, "overseerr": { - "pending": "Pending", - "approved": "Approved", - "available": "Available" + "pending": "Čeká", + "approved": "Schváleno", + "available": "Dostupný" }, "pihole": { - "queries": "Queries", - "blocked": "Blocked", - "gravity": "Gravity" + "queries": "Dotazy", + "blocked": "Blokováno", + "gravity": "Gravitace" }, "adguard": { - "queries": "Queries", - "blocked": "Blocked", - "filtered": "Filtered", - "latency": "Latency" + "queries": "Dotazy", + "blocked": "Blokováno", + "filtered": "Filtrováno", + "latency": "Odezva" }, "speedtest": { - "upload": "Upload", - "download": "Download", + "upload": "Nahrávání", + "download": "Stahování", "ping": "Ping" }, "portainer": { - "running": "Running", - "stopped": "Stopped", - "total": "Total" + "running": "Běží", + "stopped": "Zastaveno", + "total": "Celkově" }, "traefik": { - "routers": "Routers", - "services": "Services", - "middleware": "Middleware" + "routers": "Routery", + "services": "Služby", + "middleware": "Prostředník" }, "npm": { - "enabled": "Enabled", - "disabled": "Disabled", - "total": "Total" + "enabled": "Povoleno", + "disabled": "Zakázáno", + "total": "Celkově" }, "coinmarketcap": { - "configure": "Configure one or more crypto currencies to track", - "1hour": "1 Hour", - "1day": "1 Day", - "7days": "7 Days", - "30days": "30 Days" + "configure": "Nakonfigurujte alespoň jednu crypto měnu ke sledování", + "1hour": "1 Hodina", + "1day": "1 Den", + "7days": "7 Dní", + "30days": "30 Dní" }, "wmo": { - "1-night": "Mainly Clear", - "2-day": "Partly Cloudy", - "0-day": "Sunny", - "0-night": "Clear", - "1-day": "Mainly Sunny", - "2-night": "Partly Cloudy", - "3-day": "Cloudy", - "3-night": "Cloudy", - "45-day": "Foggy", - "45-night": "Foggy", - "48-day": "Foggy", - "48-night": "Foggy", - "51-day": "Light Drizzle", - "53-day": "Drizzle", - "53-night": "Drizzle", - "55-day": "Heavy Drizzle", - "55-night": "Heavy Drizzle", - "56-day": "Light Freezing Drizzle", - "56-night": "Light Freezing Drizzle", - "57-day": "Freezing Drizzle", - "57-night": "Freezing Drizzle", - "61-day": "Light Rain", - "61-night": "Light Rain", - "51-night": "Light Drizzle", - "63-day": "Rain", - "63-night": "Rain", - "65-day": "Heavy Rain", - "65-night": "Heavy Rain", - "66-day": "Freezing Rain", - "66-night": "Freezing Rain", - "67-day": "Freezing Rain", - "67-night": "Freezing Rain", - "71-day": "Light Snow", - "73-night": "Snow", - "75-day": "Heavy Snow", - "75-night": "Heavy Snow", - "77-day": "Snow Grains", - "71-night": "Light Snow", - "73-day": "Snow", - "77-night": "Snow Grains", - "80-day": "Light Showers", - "80-night": "Light Showers", - "81-day": "Showers", - "81-night": "Showers", - "82-day": "Heavy Showers", - "82-night": "Heavy Showers", - "85-day": "Snow Showers", - "85-night": "Snow Showers", - "86-day": "Snow Showers", - "86-night": "Snow Showers", - "95-day": "Thunderstorm", - "95-night": "Thunderstorm", - "96-day": "Thunderstorm With Hail", - "96-night": "Thunderstorm With Hail", - "99-day": "Thunderstorm With Hail", - "99-night": "Thunderstorm With Hail" + "1-night": "Převážně jasno", + "2-day": "Polojasno", + "0-day": "Slunečno", + "0-night": "Jasno", + "1-day": "Převážně slunečno", + "2-night": "Polojasno", + "3-day": "Oblačno", + "3-night": "Oblačno", + "45-day": "Mlha", + "45-night": "Mlha", + "48-day": "Mlha", + "48-night": "Mlha", + "51-day": "Lehké mrholení", + "53-day": "Mrholení", + "53-night": "Mrholení", + "55-day": "Silné mrholení", + "55-night": "Silné mrholení", + "56-day": "Mírné mrznoucí mrholení", + "56-night": "Mírné mrznoucí mrholení", + "57-day": "Mrznoucí mrholení", + "57-night": "Mrznoucí mrholení", + "61-day": "Slabý déšť", + "61-night": "Slabý déšť", + "51-night": "Lehké mrholení", + "63-day": "Déšť", + "63-night": "Déšť", + "65-day": "Silný déšť", + "65-night": "Silný déšť", + "66-day": "Mrznoucí déšť", + "66-night": "Mrznoucí déšť", + "67-day": "Mrznoucí déšť", + "67-night": "Mrznoucí déšť", + "71-day": "Slabé sněžení", + "73-night": "Sněžení", + "75-day": "Silné sněžení", + "75-night": "Silné sněžení", + "77-day": "Sněhová zrna", + "71-night": "Slabé sněžení", + "73-day": "Sněžení", + "77-night": "Sněhová zrna", + "80-day": "Lehké přeháňky", + "80-night": "Lehké přeháňky", + "81-day": "Přeháňky", + "81-night": "Přeháňky", + "82-day": "Silné přeháňky", + "82-night": "Silné přeháňky", + "85-day": "Déšť se sněhem", + "85-night": "Déšť se sněhem", + "86-day": "Déšť se sněhem", + "86-night": "Déšť se sněhem", + "95-day": "Bouřka", + "95-night": "Bouřka", + "96-day": "Bouřka s krupobitím", + "96-night": "Bouřka s krupobitím", + "99-day": "Bouřka s krupobitím", + "99-night": "Bouřka s krupobitím" }, "gotify": { - "apps": "Applications", - "clients": "Clients", - "messages": "Messages" + "apps": "Aplikace", + "clients": "Klienti", + "messages": "Zprávy" }, "prowlarr": { - "enableIndexers": "Indexers", - "numberOfGrabs": "Grabs", - "numberOfQueries": "Queries", - "numberOfFailGrabs": "Fail Grabs", - "numberOfFailQueries": "Fail Queries" + "enableIndexers": "Indexery", + "numberOfGrabs": "Uchopení", + "numberOfQueries": "Dotazy", + "numberOfFailGrabs": "Neúspěšné uchopení", + "numberOfFailQueries": "Neúspěšné dotazy" }, "jackett": { - "configured": "Configured", - "errored": "Errored" + "configured": "Konfigurováno", + "errored": "Chybné" }, "strelaysrv": { - "numActiveSessions": "Sessions", - "numConnections": "Connections", - "dataRelayed": "Relayed", - "transferRate": "Rate" + "numActiveSessions": "Sezení", + "numConnections": "Připojení", + "dataRelayed": "Přenášení", + "transferRate": "Tempo" }, "mastodon": { - "user_count": "Users", - "status_count": "Posts", - "domain_count": "Domains" + "user_count": "Uživatelé", + "status_count": "Příspěvky", + "domain_count": "Domény" }, "authentik": { - "users": "Users", - "loginsLast24H": "Logins (24h)", - "failedLoginsLast24H": "Failed Logins (24h)" + "users": "Uživatelé", + "loginsLast24H": "Příhlášení (24h)", + "failedLoginsLast24H": "Neúspěšná přihlášení (24h)" }, "proxmox": { - "mem": "MEM", + "mem": "RAM", "cpu": "CPU", "lxc": "LXC", - "vms": "VMs" + "vms": "Virtuální Stroje" }, "glances": { "cpu": "CPU", - "mem": "MEM", - "wait": "Please wait" + "mem": "RAM", + "wait": "Prosím počkejte" }, "quicklaunch": { - "bookmark": "Bookmark", - "service": "Service" + "bookmark": "Záložka", + "service": "Služba" }, "homebridge": { - "update_available": "Update Available", - "up_to_date": "Up to Date", - "available_update": "System", - "updates": "Updates", - "child_bridges": "Child Bridges", + "update_available": "Dostupná aktualizace", + "up_to_date": "Aktuální", + "available_update": "Systém", + "updates": "Aktualizace", + "child_bridges": "Podřadné můstky", "child_bridges_status": "{{ok}}/{{total}}" }, "watchtower": { - "containers_scanned": "Scanned", - "containers_updated": "Updated", - "containers_failed": "Failed" + "containers_scanned": "Naskenováno", + "containers_updated": "Aktualizováno", + "containers_failed": "Chyba" }, "autobrr": { - "approvedPushes": "Approved", - "rejectedPushes": "Rejected", - "filters": "Filters", - "indexers": "Indexers" + "approvedPushes": "Schváleno", + "rejectedPushes": "Zamítnuto", + "filters": "Filtry", + "indexers": "Indexery" } } From bfd4e7e890d8f067cffd3e6e444a18e563e2cad8 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 4 Nov 2022 20:52:13 +0000 Subject: [PATCH 148/668] Translated using Weblate (Danish) Currently translated at 100.0% (0 of 0 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/da/ --- public/locales/da/common.json | 309 +++++++++++++++++++++++++++++++++- 1 file changed, 308 insertions(+), 1 deletion(-) diff --git a/public/locales/da/common.json b/public/locales/da/common.json index 0967ef42..e67a6673 100644 --- a/public/locales/da/common.json +++ b/public/locales/da/common.json @@ -1 +1,308 @@ -{} +{ + "plex": { + "movies": "Movies", + "tv": "TV Shows", + "streams": "Active Streams" + }, + "radarr": { + "queued": "Queued", + "movies": "Movies", + "wanted": "Wanted", + "missing": "Missing" + }, + "lidarr": { + "wanted": "Wanted", + "queued": "Queued", + "albums": "Albums" + }, + "jellyseerr": { + "available": "Available", + "pending": "Pending", + "approved": "Approved" + }, + "overseerr": { + "pending": "Pending", + "approved": "Approved", + "available": "Available" + }, + "adguard": { + "queries": "Queries", + "blocked": "Blocked", + "filtered": "Filtered", + "latency": "Latency" + }, + "speedtest": { + "upload": "Upload", + "download": "Download", + "ping": "Ping" + }, + "npm": { + "total": "Total", + "enabled": "Enabled", + "disabled": "Disabled" + }, + "coinmarketcap": { + "30days": "30 Days", + "1day": "1 Day", + "configure": "Configure one or more crypto currencies to track", + "7days": "7 Days", + "1hour": "1 Hour" + }, + "strelaysrv": { + "numActiveSessions": "Sessions", + "dataRelayed": "Relayed", + "numConnections": "Connections", + "transferRate": "Rate" + }, + "mastodon": { + "domain_count": "Domains", + "status_count": "Posts", + "user_count": "Users" + }, + "authentik": { + "users": "Users", + "loginsLast24H": "Logins (24h)", + "failedLoginsLast24H": "Failed Logins (24h)" + }, + "glances": { + "cpu": "CPU", + "mem": "MEM", + "wait": "Please wait" + }, + "wmo": { + "1-day": "Mainly Sunny", + "48-day": "Foggy", + "48-night": "Foggy", + "51-day": "Light Drizzle", + "51-night": "Light Drizzle", + "66-night": "Freezing Rain", + "67-day": "Freezing Rain", + "67-night": "Freezing Rain", + "71-day": "Light Snow", + "75-night": "Heavy Snow", + "86-day": "Snow Showers", + "86-night": "Snow Showers", + "95-day": "Thunderstorm", + "99-day": "Thunderstorm With Hail", + "99-night": "Thunderstorm With Hail", + "0-day": "Sunny", + "0-night": "Clear", + "1-night": "Mainly Clear", + "2-day": "Partly Cloudy", + "2-night": "Partly Cloudy", + "3-day": "Cloudy", + "3-night": "Cloudy", + "45-day": "Foggy", + "65-day": "Heavy Rain", + "65-night": "Heavy Rain", + "45-night": "Foggy", + "53-day": "Drizzle", + "53-night": "Drizzle", + "55-day": "Heavy Drizzle", + "55-night": "Heavy Drizzle", + "56-day": "Light Freezing Drizzle", + "56-night": "Light Freezing Drizzle", + "57-day": "Freezing Drizzle", + "57-night": "Freezing Drizzle", + "61-day": "Light Rain", + "61-night": "Light Rain", + "63-day": "Rain", + "63-night": "Rain", + "66-day": "Freezing Rain", + "71-night": "Light Snow", + "73-day": "Snow", + "73-night": "Snow", + "75-day": "Heavy Snow", + "77-day": "Snow Grains", + "80-day": "Light Showers", + "80-night": "Light Showers", + "81-day": "Showers", + "77-night": "Snow Grains", + "81-night": "Showers", + "82-day": "Heavy Showers", + "82-night": "Heavy Showers", + "85-day": "Snow Showers", + "85-night": "Snow Showers", + "95-night": "Thunderstorm", + "96-day": "Thunderstorm With Hail", + "96-night": "Thunderstorm With Hail" + }, + "homebridge": { + "available_update": "System", + "updates": "Updates", + "update_available": "Update Available", + "up_to_date": "Up to Date", + "child_bridges": "Child Bridges", + "child_bridges_status": "{{ok}}/{{total}}" + }, + "widget": { + "missing_type": "Missing Widget Type: {{type}}", + "api_error": "API Error", + "status": "Status" + }, + "weather": { + "current": "Current Location", + "allow": "Click to allow", + "updating": "Updating", + "wait": "Please wait" + }, + "search": { + "placeholder": "Search…" + }, + "resources": { + "cpu": "CPU", + "total": "Total", + "free": "Free", + "used": "Used", + "load": "Load" + }, + "unifi": { + "users": "Users", + "uptime": "System Uptime", + "days": "Days", + "wan": "WAN", + "lan": "LAN", + "wlan": "WLAN", + "devices": "Devices", + "lan_devices": "LAN Devices", + "wlan_devices": "WLAN Devices", + "lan_users": "LAN Users", + "wlan_users": "WLAN Users", + "up": "UP", + "down": "DOWN", + "wait": "Please wait" + }, + "docker": { + "cpu": "CPU", + "rx": "RX", + "tx": "TX", + "mem": "MEM", + "offline": "Offline" + }, + "emby": { + "playing": "Playing", + "transcoding": "Transcoding", + "bitrate": "Bitrate", + "no_active": "No Active Streams" + }, + "changedetectionio": { + "totalObserved": "Total Observed", + "diffsDetected": "Diffs Detected" + }, + "tautulli": { + "playing": "Playing", + "transcoding": "Transcoding", + "bitrate": "Bitrate", + "no_active": "No Active Streams" + }, + "nzbget": { + "rate": "Rate", + "remaining": "Remaining", + "downloaded": "Downloaded" + }, + "sabnzbd": { + "rate": "Rate", + "queue": "Queue", + "timeleft": "Time Left" + }, + "rutorrent": { + "active": "Active", + "upload": "Upload", + "download": "Download" + }, + "transmission": { + "upload": "Upload", + "download": "Download", + "leech": "Leech", + "seed": "Seed" + }, + "qbittorrent": { + "upload": "Upload", + "download": "Download", + "leech": "Leech", + "seed": "Seed" + }, + "sonarr": { + "wanted": "Wanted", + "queued": "Queued", + "series": "Series" + }, + "readarr": { + "wanted": "Wanted", + "queued": "Queued", + "books": "Books" + }, + "bazarr": { + "missingEpisodes": "Missing Episodes", + "missingMovies": "Missing Movies" + }, + "ombi": { + "pending": "Pending", + "approved": "Approved", + "available": "Available" + }, + "pihole": { + "blocked": "Blocked", + "gravity": "Gravity", + "queries": "Queries" + }, + "portainer": { + "running": "Running", + "stopped": "Stopped", + "total": "Total" + }, + "traefik": { + "routers": "Routers", + "services": "Services", + "middleware": "Middleware" + }, + "gotify": { + "apps": "Applications", + "clients": "Clients", + "messages": "Messages" + }, + "prowlarr": { + "enableIndexers": "Indexers", + "numberOfGrabs": "Grabs", + "numberOfQueries": "Queries", + "numberOfFailGrabs": "Fail Grabs", + "numberOfFailQueries": "Fail Queries" + }, + "jackett": { + "configured": "Configured", + "errored": "Errored" + }, + "proxmox": { + "mem": "MEM", + "cpu": "CPU", + "lxc": "LXC", + "vms": "VMs" + }, + "quicklaunch": { + "bookmark": "Bookmark", + "service": "Service" + }, + "watchtower": { + "containers_scanned": "Scanned", + "containers_updated": "Updated", + "containers_failed": "Failed" + }, + "autobrr": { + "indexers": "Indexers", + "approvedPushes": "Approved", + "rejectedPushes": "Rejected", + "filters": "Filters" + }, + "tubearchivist": { + "downloads": "Queue", + "videos": "Videos", + "channels": "Channels", + "playlists": "Playlists" + }, + "truenas": { + "load": "System Load", + "uptime": "Uptime", + "alerts": "Alerts", + "time": "{{value, number(style: unit; unitDisplay: long;)}}" + } +} From 71faaa56dc2e35a0e12abed8165ae67c830da706 Mon Sep 17 00:00:00 2001 From: maharsh9100 <114119345+maharsh9100@users.noreply.github.com> Date: Fri, 4 Nov 2022 17:38:33 -0400 Subject: [PATCH 149/668] Feature: add category icons (#301) * Update setting.yaml mapping * Implement adding icon to categoryTitle * Move resolveIcon func to utils for reusability * Turn off default export eslint rule * Fix util typo * Revert "Turn off default export eslint rule" This reverts commit e8dd853ba6fac1d33253667ffe9e02010a8dcfd6. * fix resolveIcon export * Revert "Update setting.yaml mapping" This reverts commit 78c947766951e14d1f6db290c0ab03ccc8f1ebc3. * Revert "Implement adding icon to categoryTitle" * Use settings layout for group icon * Revert "Fix util typo" This reverts commit ab49b426ec6d925d7938c3ddec753a0e7c8759af. * ResolvedIcon component Co-authored-by: Mindfreak9100 Co-authored-by: Michael Shamoon <4887959+shamoon@users.noreply.github.com> --- src/components/quicklaunch.jsx | 4 +-- src/components/resolvedicon.jsx | 35 ++++++++++++++++++++++++++ src/components/services/group.jsx | 10 +++++++- src/components/services/item.jsx | 42 ++++--------------------------- 4 files changed, 51 insertions(+), 40 deletions(-) create mode 100644 src/components/resolvedicon.jsx diff --git a/src/components/quicklaunch.jsx b/src/components/quicklaunch.jsx index 077e6c5c..1836e9b7 100644 --- a/src/components/quicklaunch.jsx +++ b/src/components/quicklaunch.jsx @@ -2,7 +2,7 @@ import { useTranslation } from "react-i18next"; import { useEffect, useState, useRef, useCallback, useContext } from "react"; import classNames from "classnames"; -import { resolveIcon } from "./services/item"; +import ResolvedIcon from "./resolvedicon"; import { SettingsContext } from "utils/contexts/settings"; @@ -135,7 +135,7 @@ export default function QuickLaunch({servicesAndBookmarks, searchString, setSear )} onClick={handleItemClick}>
- {r.icon && resolveIcon(r.icon)} + {r.icon && } {r.abbr && r.abbr}
diff --git a/src/components/resolvedicon.jsx b/src/components/resolvedicon.jsx new file mode 100644 index 00000000..d5aa8c88 --- /dev/null +++ b/src/components/resolvedicon.jsx @@ -0,0 +1,35 @@ +import Image from "next/future/image"; + +export default function ResolvedIcon({ icon }) { + // direct or relative URLs + if (icon.startsWith("http") || icon.startsWith("/")) { + return logo; + } + + // mdi- prefixed, material design icons + if (icon.startsWith("mdi-")) { + const iconName = icon.replace("mdi-", "").replace(".svg", ""); + return ( +
+ ); + } + + // fallback to dashboard-icons + const iconName = icon.replace(".png", ""); + return ( + logo + ); +} \ No newline at end of file diff --git a/src/components/services/group.jsx b/src/components/services/group.jsx index daae1909..13b745fd 100644 --- a/src/components/services/group.jsx +++ b/src/components/services/group.jsx @@ -1,6 +1,7 @@ import classNames from "classnames"; import List from "components/services/list"; +import ResolvedIcon from "components/resolvedicon"; export default function ServicesGroup({ services, layout }) { return ( @@ -11,7 +12,14 @@ export default function ServicesGroup({ services, layout }) { "flex-1 p-1" )} > -

{services.name}

+
+ {layout?.icon && +
+ +
+ } +

{services.name}

+
); diff --git a/src/components/services/item.jsx b/src/components/services/item.jsx index ea3bc6a0..56ed2b4b 100644 --- a/src/components/services/item.jsx +++ b/src/components/services/item.jsx @@ -1,4 +1,3 @@ -import Image from "next/future/image"; import classNames from "classnames"; import { useContext, useState } from "react"; @@ -7,40 +6,7 @@ import Widget from "./widget"; import Docker from "widgets/docker/component"; import { SettingsContext } from "utils/contexts/settings"; - -export function resolveIcon(icon) { - // direct or relative URLs - if (icon.startsWith("http") || icon.startsWith("/")) { - return logo; - } - - // mdi- prefixed, material design icons - if (icon.startsWith("mdi-")) { - const iconName = icon.replace("mdi-", "").replace(".svg", ""); - return ( -
- ); - } - - // fallback to dashboard-icons - const iconName = icon.replace(".png", ""); - return ( - logo - ); -} +import ResolvedIcon from "components/resolvedicon"; export default function Item({ service }) { const hasLink = service.href && service.href !== "#"; @@ -75,10 +41,12 @@ export default function Item({ service }) { rel="noreferrer" className="flex-shrink-0 flex items-center justify-center w-12 " > - {resolveIcon(service.icon)} + ) : ( -
{resolveIcon(service.icon)}
+
+ +
))} {hasLink ? ( From 8115b54ef92da39de30c1fff64b9040ddcdc8874 Mon Sep 17 00:00:00 2001 From: Don Reece Date: Fri, 4 Nov 2022 15:51:48 -0400 Subject: [PATCH 150/668] Adds the option for a bookmark icon (same functionality as service icons). Falls back to abbreviation. Revert "Adds the option for a bookmark icon (same functionality as service icons). Falls back to abbreviation." This reverts commit d7131584442ba5a52823cf0aa6e96c4b5f09141a. Add icons to bookmarks --- src/components/bookmarks/item.jsx | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/components/bookmarks/item.jsx b/src/components/bookmarks/item.jsx index b67cffac..ca5486ab 100644 --- a/src/components/bookmarks/item.jsx +++ b/src/components/bookmarks/item.jsx @@ -1,6 +1,7 @@ import { useContext } from "react"; import { SettingsContext } from "utils/contexts/settings"; +import ResolvedIcon from "components/resolvedicon"; export default function Item({ bookmark }) { const { hostname } = new URL(bookmark.href); @@ -16,6 +17,11 @@ export default function Item({ bookmark }) { >
+ {bookmark.icon && +
+ +
+ } {bookmark.abbr}
From 5fd5762c0c66cc7338f82e1efe87a4712a6e7c0a Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Fri, 4 Nov 2022 14:58:52 -0700 Subject: [PATCH 151/668] fix bookmark abbr + icon --- src/components/bookmarks/item.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/bookmarks/item.jsx b/src/components/bookmarks/item.jsx index ca5486ab..17fcbe9e 100644 --- a/src/components/bookmarks/item.jsx +++ b/src/components/bookmarks/item.jsx @@ -22,7 +22,7 @@ export default function Item({ bookmark }) {
} - {bookmark.abbr} + {!bookmark.icon && bookmark.abbr}
{bookmark.name}
From 57fef06931c0e90e35c2d663e6e0eab0806461f2 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Sat, 5 Nov 2022 01:27:04 -0700 Subject: [PATCH 152/668] fix resolved icon mdi icon overflow --- src/components/resolvedicon.jsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/components/resolvedicon.jsx b/src/components/resolvedicon.jsx index d5aa8c88..d973ab4b 100644 --- a/src/components/resolvedicon.jsx +++ b/src/components/resolvedicon.jsx @@ -14,6 +14,8 @@ export default function ResolvedIcon({ icon }) { style={{ width: 32, height: 32, + 'max-width': '100%', + 'max-height': '100%', background: "linear-gradient(180deg, rgb(var(--color-logo-start)), rgb(var(--color-logo-stop)))", mask: `url(https://cdn.jsdelivr.net/npm/@mdi/svg@latest/svg/${iconName}.svg) no-repeat center / contain`, WebkitMask: `url(https://cdn.jsdelivr.net/npm/@mdi/svg@latest/svg/${iconName}.svg) no-repeat center / contain`, From b25ba09e18b9bfc860f1eb9c6040b46125a91c55 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Sat, 5 Nov 2022 21:43:59 -0700 Subject: [PATCH 153/668] Fix error detection in emby widget --- src/widgets/emby/component.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/widgets/emby/component.jsx b/src/widgets/emby/component.jsx index fa171580..59d66c05 100644 --- a/src/widgets/emby/component.jsx +++ b/src/widgets/emby/component.jsx @@ -171,7 +171,7 @@ export default function Component({ service }) { }); } - if (sessionsError) { + if (sessionsError || sessionsData?.error) { return ; } From 5b21444c2ef5ab0a63969f239a2bd27ea8758610 Mon Sep 17 00:00:00 2001 From: stuffinator Date: Sun, 6 Nov 2022 11:05:31 +0100 Subject: [PATCH 154/668] Add Pyload widget --- public/locales/de/common.json | 6 +++++ public/locales/en/common.json | 6 +++++ src/widgets/components.js | 1 + src/widgets/pyload/component.jsx | 27 +++++++++++++++++++++++ src/widgets/pyload/proxy.js | 38 ++++++++++++++++++++++++++++++++ src/widgets/pyload/widget.js | 8 +++++++ src/widgets/widgets.js | 2 ++ 7 files changed, 88 insertions(+) create mode 100644 src/widgets/pyload/component.jsx create mode 100644 src/widgets/pyload/proxy.js create mode 100644 src/widgets/pyload/widget.js diff --git a/public/locales/de/common.json b/public/locales/de/common.json index ec3b6e39..f13cd028 100644 --- a/public/locales/de/common.json +++ b/public/locales/de/common.json @@ -292,5 +292,11 @@ "containers_scanned": "Scanned", "containers_updated": "Updated", "containers_failed": "Failed" + }, + "pyload": { + "speed": "Geschwindigkeit", + "active": "Aktiv", + "queue": "Warteschlange", + "total": "Gesamt" } } diff --git a/public/locales/en/common.json b/public/locales/en/common.json index dd00ff86..913a3d9b 100644 --- a/public/locales/en/common.json +++ b/public/locales/en/common.json @@ -303,5 +303,11 @@ "rejectedPushes": "Rejected", "filters": "Filters", "indexers": "Indexers" + }, + "pyload": { + "speed": "Speed", + "active": "Active", + "queue": "Queue", + "total": "Total" } } diff --git a/src/widgets/components.js b/src/widgets/components.js index c2b50189..ce5aa41a 100644 --- a/src/widgets/components.js +++ b/src/widgets/components.js @@ -25,6 +25,7 @@ const components = { portainer: dynamic(() => import("./portainer/component")), prowlarr: dynamic(() => import("./prowlarr/component")), proxmox: dynamic(() => import("./proxmox/component")), + pyload: dynamic(() => import("./pyload/component")), qbittorrent: dynamic(() => import("./qbittorrent/component")), radarr: dynamic(() => import("./radarr/component")), readarr: dynamic(() => import("./readarr/component")), diff --git a/src/widgets/pyload/component.jsx b/src/widgets/pyload/component.jsx new file mode 100644 index 00000000..a15aab4c --- /dev/null +++ b/src/widgets/pyload/component.jsx @@ -0,0 +1,27 @@ +import { useTranslation } from 'next-i18next' + +import Container from 'components/services/widget/container' +import Block from 'components/services/widget/block' +import useWidgetAPI from 'utils/proxy/use-widget-api' + +export default function Component({ service }) { + const { t } = useTranslation() + const { widget } = service + const { data: pyloadData, error: pyloadError } = useWidgetAPI( + widget, + 'statusServer', + ) + + if (pyloadError || !pyloadData) { + return + } + + return ( + + + + + + + ) +} diff --git a/src/widgets/pyload/proxy.js b/src/widgets/pyload/proxy.js new file mode 100644 index 00000000..35fb7bec --- /dev/null +++ b/src/widgets/pyload/proxy.js @@ -0,0 +1,38 @@ +import getServiceWidget from "utils/config/service-helpers"; +import { formatApiCall } from "utils/proxy/api-helpers"; +import widgets from "widgets/widgets"; + +export default async function pyloadProxyHandler(req, res) { + const { group, service, endpoint } = req.query; + + if (group && service) { + const widget = await getServiceWidget(group, service); + + if (widget) { + const url = new URL(formatApiCall(widgets[widget.type].api, { endpoint, ...widget })); + const loginUrl = `${widget.url}/api/login`; + + // Pyload api does not support argument passing as JSON. + const sessionId = await fetch(loginUrl, { + method: "POST", + // Empty passwords are supported. + body: `username=${widget.username}&password=${widget.password ?? ''}`, + headers: { + "Content-Type": "application/x-www-form-urlencoded", + }, + }).then((response) => response.json()); + + const apiResponse = await fetch(url, { + method: "POST", + body: `session=${sessionId}`, + headers: { + "Content-Type": "application/x-www-form-urlencoded", + }, + }).then((response) => response.json()); + + return res.send(apiResponse); + } + } + + return res.status(400).json({ error: "Invalid proxy service type" }); +} diff --git a/src/widgets/pyload/widget.js b/src/widgets/pyload/widget.js new file mode 100644 index 00000000..3d2f2958 --- /dev/null +++ b/src/widgets/pyload/widget.js @@ -0,0 +1,8 @@ +import pyloadProxyHandler from "./proxy"; + +const widget = { + api: "{url}/api/{endpoint}", + proxyHandler: pyloadProxyHandler, +}; + +export default widget; diff --git a/src/widgets/widgets.js b/src/widgets/widgets.js index 74f426b3..eb5bec48 100644 --- a/src/widgets/widgets.js +++ b/src/widgets/widgets.js @@ -20,6 +20,7 @@ import plex from "./plex/widget"; import portainer from "./portainer/widget"; import prowlarr from "./prowlarr/widget"; import proxmox from "./proxmox/widget"; +import pyload from "./pyload/widget"; import qbittorrent from "./qbittorrent/widget"; import radarr from "./radarr/widget"; import readarr from "./readarr/widget"; @@ -58,6 +59,7 @@ const widgets = { portainer, prowlarr, proxmox, + pyload, qbittorrent, radarr, readarr, From 02027deb06d0c1419b9aff0498b8170d7e2c8a6a Mon Sep 17 00:00:00 2001 From: stuffinator Date: Sun, 6 Nov 2022 11:45:25 +0100 Subject: [PATCH 155/668] code styling --- src/widgets/pyload/component.jsx | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/widgets/pyload/component.jsx b/src/widgets/pyload/component.jsx index a15aab4c..e35bb3b5 100644 --- a/src/widgets/pyload/component.jsx +++ b/src/widgets/pyload/component.jsx @@ -1,19 +1,19 @@ import { useTranslation } from 'next-i18next' -import Container from 'components/services/widget/container' -import Block from 'components/services/widget/block' -import useWidgetAPI from 'utils/proxy/use-widget-api' +import Container from "components/services/widget/container"; +import Block from "components/services/widget/block"; +import useWidgetAPI from "utils/proxy/use-widget-api"; export default function Component({ service }) { - const { t } = useTranslation() - const { widget } = service + const { t } = useTranslation(); + const { widget } = service; const { data: pyloadData, error: pyloadError } = useWidgetAPI( widget, - 'statusServer', - ) + "statusServer", + ); if (pyloadError || !pyloadData) { - return + return ; } return ( @@ -23,5 +23,5 @@ export default function Component({ service }) { - ) + ); } From 19799aa51452dfd713f6ad6b36f679be1206fed7 Mon Sep 17 00:00:00 2001 From: Aiman Jalil Date: Sun, 6 Nov 2022 17:04:08 +0100 Subject: [PATCH 156/668] Added translation using Weblate (Malay) --- public/locales/ms/common.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 public/locales/ms/common.json diff --git a/public/locales/ms/common.json b/public/locales/ms/common.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/public/locales/ms/common.json @@ -0,0 +1 @@ +{} From ea04e45df553105d0a783f3ddde7d0a9f306ebac Mon Sep 17 00:00:00 2001 From: 3vilson Date: Sun, 6 Nov 2022 10:29:06 +0000 Subject: [PATCH 157/668] Translated using Weblate (German) Currently translated at 100.0% (225 of 225 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/de/ --- public/locales/de/common.json | 162 +++++++++++++++++----------------- 1 file changed, 81 insertions(+), 81 deletions(-) diff --git a/public/locales/de/common.json b/public/locales/de/common.json index 315ec0e4..f602c815 100644 --- a/public/locales/de/common.json +++ b/public/locales/de/common.json @@ -47,7 +47,7 @@ "wanted": "Gesucht", "queued": "In Warteschlange", "movies": "Filme", - "missing": "Missing" + "missing": "Fehlt" }, "readarr": { "wanted": "Gesucht", @@ -194,9 +194,9 @@ "wait": "Bitte warten", "lan": "LAN", "wlan": "WLAN", - "devices": "Devices", - "lan_devices": "LAN Devices", - "wlan_devices": "WLAN Devices" + "devices": "Geräte", + "lan_devices": "LAN-Geräte", + "wlan_devices": "WLAN Geräte" }, "plex": { "streams": "Aktive Streams", @@ -204,105 +204,105 @@ "tv": "TV Sendungen" }, "glances": { - "cpu": "CPU", + "cpu": "Prozessor", "mem": "RAM", "wait": "Bitte warten" }, "changedetectionio": { - "totalObserved": "Total Observed", - "diffsDetected": "Diffs Detected" + "totalObserved": "Gesamt beobachtet", + "diffsDetected": "Erkannte Differenzen" }, "wmo": { - "0-day": "Sunny", - "0-night": "Clear", - "1-day": "Mainly Sunny", - "1-night": "Mainly Clear", - "2-day": "Partly Cloudy", - "2-night": "Partly Cloudy", - "3-day": "Cloudy", - "57-day": "Freezing Drizzle", - "61-day": "Light Rain", - "65-night": "Heavy Rain", - "66-day": "Freezing Rain", - "66-night": "Freezing Rain", - "3-night": "Cloudy", - "45-day": "Foggy", - "45-night": "Foggy", - "48-day": "Foggy", - "48-night": "Foggy", - "51-day": "Light Drizzle", - "51-night": "Light Drizzle", - "55-day": "Heavy Drizzle", - "53-day": "Drizzle", - "53-night": "Drizzle", - "55-night": "Heavy Drizzle", - "56-day": "Light Freezing Drizzle", - "56-night": "Light Freezing Drizzle", - "57-night": "Freezing Drizzle", - "61-night": "Light Rain", - "63-day": "Rain", - "63-night": "Rain", - "65-day": "Heavy Rain", - "67-day": "Freezing Rain", - "67-night": "Freezing Rain", - "71-day": "Light Snow", - "71-night": "Light Snow", - "73-day": "Snow", - "73-night": "Snow", - "75-day": "Heavy Snow", - "75-night": "Heavy Snow", - "77-day": "Snow Grains", - "77-night": "Snow Grains", - "80-day": "Light Showers", - "80-night": "Light Showers", - "81-day": "Showers", - "81-night": "Showers", - "82-day": "Heavy Showers", - "82-night": "Heavy Showers", - "85-day": "Snow Showers", - "85-night": "Snow Showers", - "86-day": "Snow Showers", - "86-night": "Snow Showers", - "95-day": "Thunderstorm", - "95-night": "Thunderstorm", - "96-day": "Thunderstorm With Hail", - "96-night": "Thunderstorm With Hail", - "99-day": "Thunderstorm With Hail", - "99-night": "Thunderstorm With Hail" + "0-day": "Sonnig", + "0-night": "Klar", + "1-day": "Überwiegend sonnig", + "1-night": "Überwiegend klar", + "2-day": "Teilweise bewölkt", + "2-night": "Teilweise bewölkt", + "3-day": "bewölkt", + "57-day": "Gefrierender Nieselregen", + "61-day": "Leichter Regen", + "65-night": "Starker Regen", + "66-day": "Gefrierender Regen", + "66-night": "Gefrierender Regen", + "3-night": "Bewölkt", + "45-day": "Neblig", + "45-night": "Neblig", + "48-day": "Neblig", + "48-night": "Neblig", + "51-day": "Leichter Nieselregen", + "51-night": "Leichter Nieselregen", + "55-day": "Starker Nieselregen", + "53-day": "Nieselregen", + "53-night": "Nieselregen", + "55-night": "Starker Nieselregen", + "56-day": "Leichter gefrierender Nieselregen", + "56-night": "Leichter eisiger Nieselregen", + "57-night": "Gefrierender Nieselregen", + "61-night": "Leichter Regen", + "63-day": "Regen", + "63-night": "Regen", + "65-day": "Starker Regen", + "67-day": "Gefrierender Regen", + "67-night": "Gefrierender Regen", + "71-day": "Leichter Schneefall", + "71-night": "Leichter Schnee", + "73-day": "Schnee", + "73-night": "Schnee", + "75-day": "Schwerer Schnee", + "75-night": "Schwerer Schnee", + "77-day": "Schneegriesel", + "77-night": "Schneegriesel", + "80-day": "Leichter Schauer", + "80-night": "Leichter Schauer", + "81-day": "Schauer", + "81-night": "Schauer", + "82-day": "Starke Regenschauer", + "82-night": "Starke Regenschauer", + "85-day": "Schneeschauer", + "85-night": "Schneeregen", + "86-day": "Schneeregen", + "86-night": "Schneeregen", + "95-day": "Gewitter", + "95-night": "Gewitter", + "96-day": "Gewitter mit Hagel", + "96-night": "Gewitter mit Hagel", + "99-day": "Gewitter mit Hagel", + "99-night": "Gewitter mit Hagel" }, "quicklaunch": { - "bookmark": "Bookmark", - "service": "Service" + "bookmark": "Lesezeichen", + "service": "Dienst" }, "homebridge": { "available_update": "System", - "updates": "Updates", - "update_available": "Update Available", - "up_to_date": "Up to Date", + "updates": "Aktualisierungen", + "update_available": "Aktualisierung verfügbar", + "up_to_date": "Aktuell", "child_bridges": "Child Bridges", "child_bridges_status": "{{ok}}/{{total}}" }, "autobrr": { - "approvedPushes": "Approved", - "rejectedPushes": "Rejected", - "filters": "Filters", - "indexers": "Indexers" + "approvedPushes": "Genehmigt", + "rejectedPushes": "Abgelehnt", + "filters": "Filter", + "indexers": "Indexer" }, "watchtower": { - "containers_scanned": "Scanned", - "containers_updated": "Updated", - "containers_failed": "Failed" + "containers_scanned": "Überprüft", + "containers_updated": "Aktualisiert", + "containers_failed": "Fehlgeschlagen" }, "tubearchivist": { - "downloads": "Queue", + "downloads": "Warteschlange", "videos": "Videos", - "channels": "Channels", - "playlists": "Playlists" + "channels": "Kanäle", + "playlists": "Wiedergabelisten" }, "truenas": { - "load": "System Load", - "uptime": "Uptime", - "alerts": "Alerts", + "load": "Systembelastung", + "uptime": "Betriebszeit", + "alerts": "Warnungen", "time": "{{value, number(style: unit; unitDisplay: long;)}}" } } From f35feae49c7440e91181ecf8503a5512e89f6ff4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?yahoo=EF=BD=9E=EF=BD=9E?= Date: Sat, 5 Nov 2022 10:23:43 +0000 Subject: [PATCH 158/668] Translated using Weblate (Chinese (Simplified)) Currently translated at 72.4% (163 of 225 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hans/ --- public/locales/zh-CN/common.json | 50 ++++++++++++++++---------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/public/locales/zh-CN/common.json b/public/locales/zh-CN/common.json index 2a09311d..da9222e7 100644 --- a/public/locales/zh-CN/common.json +++ b/public/locales/zh-CN/common.json @@ -47,7 +47,7 @@ "wanted": "想看", "queued": "队列", "movies": "电影", - "missing": "Missing" + "missing": "丢失" }, "readarr": { "wanted": "订阅", @@ -192,11 +192,11 @@ "up": "向上", "down": "向下", "wait": "请稍候", - "lan": "LAN", - "wlan": "WLAN", - "devices": "Devices", - "lan_devices": "LAN Devices", - "wlan_devices": "WLAN Devices" + "lan": "局域网", + "wlan": "无线局域网", + "devices": "设备", + "lan_devices": "局域网设备", + "wlan_devices": "无线局域网设备" }, "plex": { "streams": "活动流", @@ -209,26 +209,26 @@ "wait": "请稍等" }, "changedetectionio": { - "totalObserved": "Total Observed", - "diffsDetected": "Diffs Detected" + "totalObserved": "观察到的总数", + "diffsDetected": "检测到差异" }, "wmo": { - "0-day": "Sunny", - "0-night": "Clear", - "1-day": "Mainly Sunny", - "3-day": "Cloudy", - "3-night": "Cloudy", - "45-day": "Foggy", - "48-day": "Foggy", - "51-day": "Light Drizzle", + "0-day": "晴天", + "0-night": "晴朗", + "1-day": "主要是晴天", + "3-day": "阴天", + "3-night": "阴天", + "45-day": "有雾", + "48-day": "有雾", + "51-day": "小雨", "73-night": "Snow", "75-day": "Heavy Snow", - "1-night": "Mainly Clear", - "2-day": "Partly Cloudy", - "2-night": "Partly Cloudy", - "45-night": "Foggy", - "48-night": "Foggy", - "51-night": "Light Drizzle", + "1-night": "大部晴朗", + "2-day": "多云", + "2-night": "多云", + "45-night": "有雾", + "48-night": "有雾", + "51-night": "小雨", "53-day": "Drizzle", "53-night": "Drizzle", "55-day": "Heavy Drizzle", @@ -271,8 +271,8 @@ "99-night": "Thunderstorm With Hail" }, "quicklaunch": { - "bookmark": "Bookmark", - "service": "Service" + "bookmark": "书签", + "service": "服务" }, "homebridge": { "available_update": "System", @@ -302,7 +302,7 @@ "truenas": { "load": "System Load", "uptime": "Uptime", - "alerts": "Alerts", + "alerts": "警报", "time": "{{value, number(style: unit; unitDisplay: long;)}}" } } From 6576e51a79076099a3085a4580ed58011405a611 Mon Sep 17 00:00:00 2001 From: Milo Ivir Date: Sat, 5 Nov 2022 11:59:03 +0000 Subject: [PATCH 159/668] Translated using Weblate (Croatian) Currently translated at 100.0% (225 of 225 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hr/ --- public/locales/hr/common.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/public/locales/hr/common.json b/public/locales/hr/common.json index 083faebd..3fd3efb6 100644 --- a/public/locales/hr/common.json +++ b/public/locales/hr/common.json @@ -189,8 +189,8 @@ "wan": "WAN", "lan_users": "LAN korisnici", "wlan_users": "WLAN korisnici", - "up": "Upaljen", - "down": "Ugašen", + "up": "SLANJE", + "down": "PRIMANJE", "wait": "Pričekaj", "lan": "LAN", "wlan": "WLAN", @@ -265,10 +265,10 @@ "86-night": "Snježni pljuskovi", "95-day": "Oluja", "95-night": "Oluja", - "96-day": "Oluja s grmljavinom", - "96-night": "Oluja s grmljavinom", - "99-day": "Oluja s grmljavinom", - "99-night": "Oluja s grmljavinom" + "96-day": "Oluja s tučom", + "96-night": "Oluja s tučom", + "99-day": "Oluja s tučom", + "99-night": "Oluja s tučom" }, "quicklaunch": { "bookmark": "Straničnik", From 0a159d9c6d4f92bed56cfe07f40ee0d817402faf Mon Sep 17 00:00:00 2001 From: "Peter Selch Carlsen (SheepyDK)" Date: Fri, 4 Nov 2022 20:56:12 +0000 Subject: [PATCH 160/668] Translated using Weblate (Danish) Currently translated at 31.1% (70 of 225 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/da/ --- public/locales/da/common.json | 122 +++++++++++++++++----------------- 1 file changed, 61 insertions(+), 61 deletions(-) diff --git a/public/locales/da/common.json b/public/locales/da/common.json index e67a6673..875e59bf 100644 --- a/public/locales/da/common.json +++ b/public/locales/da/common.json @@ -1,29 +1,29 @@ { "plex": { - "movies": "Movies", + "movies": "Film", "tv": "TV Shows", - "streams": "Active Streams" + "streams": "Aktive Streams" }, "radarr": { - "queued": "Queued", - "movies": "Movies", - "wanted": "Wanted", - "missing": "Missing" + "queued": "I Kø", + "movies": "Film", + "wanted": "Ønskede", + "missing": "Mangler" }, "lidarr": { - "wanted": "Wanted", - "queued": "Queued", + "wanted": "Ønsket", + "queued": "I Kø", "albums": "Albums" }, "jellyseerr": { - "available": "Available", - "pending": "Pending", - "approved": "Approved" + "available": "Tilgængelig", + "pending": "Afventer", + "approved": "Godkendt" }, "overseerr": { - "pending": "Pending", - "approved": "Approved", - "available": "Available" + "pending": "Afventer", + "approved": "Godkendt", + "available": "Tilgængelig" }, "adguard": { "queries": "Queries", @@ -136,77 +136,77 @@ "child_bridges_status": "{{ok}}/{{total}}" }, "widget": { - "missing_type": "Missing Widget Type: {{type}}", - "api_error": "API Error", + "missing_type": "Manglende Widget Type: {{type}}", + "api_error": "API fejl", "status": "Status" }, "weather": { - "current": "Current Location", - "allow": "Click to allow", - "updating": "Updating", - "wait": "Please wait" + "current": "Nuværende lokation", + "allow": "Klik for at tillade", + "updating": "Opdaterer", + "wait": "Vent venligst" }, "search": { - "placeholder": "Search…" + "placeholder": "Søg…" }, "resources": { "cpu": "CPU", "total": "Total", - "free": "Free", - "used": "Used", - "load": "Load" + "free": "Fri", + "used": "Brugt", + "load": "Belastning" }, "unifi": { - "users": "Users", - "uptime": "System Uptime", - "days": "Days", + "users": "Brugere", + "uptime": "System Oppetid", + "days": "Dage", "wan": "WAN", "lan": "LAN", "wlan": "WLAN", - "devices": "Devices", - "lan_devices": "LAN Devices", - "wlan_devices": "WLAN Devices", - "lan_users": "LAN Users", - "wlan_users": "WLAN Users", + "devices": "Enheder", + "lan_devices": "LAN Enheder", + "wlan_devices": "WLAN Enheder", + "lan_users": "LAN Brugere", + "wlan_users": "WLAN Brugere", "up": "UP", - "down": "DOWN", - "wait": "Please wait" + "down": "NED", + "wait": "Vent venligst" }, "docker": { "cpu": "CPU", "rx": "RX", "tx": "TX", - "mem": "MEM", + "mem": "RAM", "offline": "Offline" }, "emby": { - "playing": "Playing", - "transcoding": "Transcoding", + "playing": "Afspiller", + "transcoding": "Transcoder", "bitrate": "Bitrate", - "no_active": "No Active Streams" + "no_active": "Ingen Aktive Streams" }, "changedetectionio": { - "totalObserved": "Total Observed", - "diffsDetected": "Diffs Detected" + "totalObserved": "Total Observeret", + "diffsDetected": "Forskelle Detekteret" }, "tautulli": { - "playing": "Playing", - "transcoding": "Transcoding", + "playing": "Afspiller", + "transcoding": "Transcoder", "bitrate": "Bitrate", - "no_active": "No Active Streams" + "no_active": "Ingen Aktive Streams" }, "nzbget": { "rate": "Rate", - "remaining": "Remaining", - "downloaded": "Downloaded" + "remaining": "Manglende", + "downloaded": "Hentet" }, "sabnzbd": { "rate": "Rate", - "queue": "Queue", - "timeleft": "Time Left" + "queue": "Kø", + "timeleft": "Resterende tid" }, "rutorrent": { - "active": "Active", + "active": "Aktive", "upload": "Upload", "download": "Download" }, @@ -223,28 +223,28 @@ "seed": "Seed" }, "sonarr": { - "wanted": "Wanted", - "queued": "Queued", - "series": "Series" + "wanted": "Ønsket", + "queued": "I Kø", + "series": "Serier" }, "readarr": { - "wanted": "Wanted", - "queued": "Queued", - "books": "Books" + "wanted": "Ønskede", + "queued": "I Kø", + "books": "Bøger" }, "bazarr": { - "missingEpisodes": "Missing Episodes", - "missingMovies": "Missing Movies" + "missingEpisodes": "Manglende Afsnit", + "missingMovies": "Manglende Film" }, "ombi": { - "pending": "Pending", - "approved": "Approved", - "available": "Available" + "pending": "Afventer", + "approved": "Godkendt", + "available": "Tilgængelig" }, "pihole": { - "blocked": "Blocked", + "blocked": "Blokerede", "gravity": "Gravity", - "queries": "Queries" + "queries": "Forespørgsler" }, "portainer": { "running": "Running", From ce77a5c4ad451ea0962c87ca015d37ecb07dd169 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sun, 6 Nov 2022 16:04:10 +0000 Subject: [PATCH 161/668] Translated using Weblate (Malay) Currently translated at 100.0% (0 of 0 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ms/ --- public/locales/ms/common.json | 309 +++++++++++++++++++++++++++++++++- 1 file changed, 308 insertions(+), 1 deletion(-) diff --git a/public/locales/ms/common.json b/public/locales/ms/common.json index 0967ef42..975e785d 100644 --- a/public/locales/ms/common.json +++ b/public/locales/ms/common.json @@ -1 +1,308 @@ -{} +{ + "resources": { + "cpu": "CPU", + "total": "Total", + "free": "Free", + "used": "Used", + "load": "Load" + }, + "unifi": { + "uptime": "System Uptime", + "users": "Users", + "days": "Days", + "wan": "WAN", + "lan": "LAN", + "wlan": "WLAN", + "devices": "Devices", + "lan_devices": "LAN Devices", + "wlan_devices": "WLAN Devices", + "lan_users": "LAN Users", + "wlan_users": "WLAN Users", + "up": "UP", + "down": "DOWN", + "wait": "Please wait" + }, + "lidarr": { + "queued": "Queued", + "albums": "Albums", + "wanted": "Wanted" + }, + "readarr": { + "wanted": "Wanted", + "queued": "Queued", + "books": "Books" + }, + "jellyseerr": { + "pending": "Pending", + "approved": "Approved", + "available": "Available" + }, + "coinmarketcap": { + "30days": "30 Days", + "configure": "Configure one or more crypto currencies to track", + "1hour": "1 Hour", + "1day": "1 Day", + "7days": "7 Days" + }, + "gotify": { + "apps": "Applications", + "clients": "Clients", + "messages": "Messages" + }, + "proxmox": { + "mem": "MEM", + "cpu": "CPU", + "lxc": "LXC", + "vms": "VMs" + }, + "glances": { + "cpu": "CPU", + "mem": "MEM", + "wait": "Please wait" + }, + "quicklaunch": { + "bookmark": "Bookmark", + "service": "Service" + }, + "wmo": { + "0-day": "Sunny", + "0-night": "Clear", + "1-day": "Mainly Sunny", + "1-night": "Mainly Clear", + "63-day": "Rain", + "63-night": "Rain", + "2-day": "Partly Cloudy", + "2-night": "Partly Cloudy", + "3-day": "Cloudy", + "3-night": "Cloudy", + "45-day": "Foggy", + "45-night": "Foggy", + "48-day": "Foggy", + "48-night": "Foggy", + "51-day": "Light Drizzle", + "51-night": "Light Drizzle", + "53-day": "Drizzle", + "53-night": "Drizzle", + "55-day": "Heavy Drizzle", + "55-night": "Heavy Drizzle", + "56-day": "Light Freezing Drizzle", + "56-night": "Light Freezing Drizzle", + "57-day": "Freezing Drizzle", + "57-night": "Freezing Drizzle", + "61-day": "Light Rain", + "61-night": "Light Rain", + "65-day": "Heavy Rain", + "65-night": "Heavy Rain", + "66-day": "Freezing Rain", + "66-night": "Freezing Rain", + "67-day": "Freezing Rain", + "67-night": "Freezing Rain", + "71-day": "Light Snow", + "71-night": "Light Snow", + "73-day": "Snow", + "73-night": "Snow", + "75-day": "Heavy Snow", + "75-night": "Heavy Snow", + "81-day": "Showers", + "77-day": "Snow Grains", + "77-night": "Snow Grains", + "80-day": "Light Showers", + "80-night": "Light Showers", + "81-night": "Showers", + "82-day": "Heavy Showers", + "82-night": "Heavy Showers", + "85-day": "Snow Showers", + "85-night": "Snow Showers", + "86-day": "Snow Showers", + "86-night": "Snow Showers", + "95-day": "Thunderstorm", + "95-night": "Thunderstorm", + "96-day": "Thunderstorm With Hail", + "96-night": "Thunderstorm With Hail", + "99-day": "Thunderstorm With Hail", + "99-night": "Thunderstorm With Hail" + }, + "widget": { + "missing_type": "Missing Widget Type: {{type}}", + "api_error": "API Error", + "status": "Status" + }, + "weather": { + "current": "Current Location", + "allow": "Click to allow", + "updating": "Updating", + "wait": "Please wait" + }, + "search": { + "placeholder": "Search…" + }, + "nzbget": { + "remaining": "Remaining", + "downloaded": "Downloaded", + "rate": "Rate" + }, + "docker": { + "rx": "RX", + "tx": "TX", + "mem": "MEM", + "cpu": "CPU", + "offline": "Offline" + }, + "changedetectionio": { + "totalObserved": "Total Observed", + "diffsDetected": "Diffs Detected" + }, + "emby": { + "playing": "Playing", + "transcoding": "Transcoding", + "bitrate": "Bitrate", + "no_active": "No Active Streams" + }, + "tautulli": { + "playing": "Playing", + "transcoding": "Transcoding", + "bitrate": "Bitrate", + "no_active": "No Active Streams" + }, + "plex": { + "streams": "Active Streams", + "movies": "Movies", + "tv": "TV Shows" + }, + "sabnzbd": { + "rate": "Rate", + "queue": "Queue", + "timeleft": "Time Left" + }, + "rutorrent": { + "active": "Active", + "upload": "Upload", + "download": "Download" + }, + "transmission": { + "leech": "Leech", + "download": "Download", + "upload": "Upload", + "seed": "Seed" + }, + "qbittorrent": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" + }, + "sonarr": { + "wanted": "Wanted", + "queued": "Queued", + "series": "Series" + }, + "radarr": { + "wanted": "Wanted", + "missing": "Missing", + "queued": "Queued", + "movies": "Movies" + }, + "bazarr": { + "missingEpisodes": "Missing Episodes", + "missingMovies": "Missing Movies" + }, + "ombi": { + "pending": "Pending", + "approved": "Approved", + "available": "Available" + }, + "overseerr": { + "pending": "Pending", + "approved": "Approved", + "available": "Available" + }, + "pihole": { + "queries": "Queries", + "blocked": "Blocked", + "gravity": "Gravity" + }, + "adguard": { + "queries": "Queries", + "blocked": "Blocked", + "filtered": "Filtered", + "latency": "Latency" + }, + "speedtest": { + "upload": "Upload", + "download": "Download", + "ping": "Ping" + }, + "portainer": { + "running": "Running", + "stopped": "Stopped", + "total": "Total" + }, + "traefik": { + "routers": "Routers", + "services": "Services", + "middleware": "Middleware" + }, + "npm": { + "enabled": "Enabled", + "disabled": "Disabled", + "total": "Total" + }, + "prowlarr": { + "enableIndexers": "Indexers", + "numberOfGrabs": "Grabs", + "numberOfQueries": "Queries", + "numberOfFailGrabs": "Fail Grabs", + "numberOfFailQueries": "Fail Queries" + }, + "jackett": { + "configured": "Configured", + "errored": "Errored" + }, + "strelaysrv": { + "numActiveSessions": "Sessions", + "numConnections": "Connections", + "dataRelayed": "Relayed", + "transferRate": "Rate" + }, + "mastodon": { + "user_count": "Users", + "status_count": "Posts", + "domain_count": "Domains" + }, + "authentik": { + "users": "Users", + "loginsLast24H": "Logins (24h)", + "failedLoginsLast24H": "Failed Logins (24h)" + }, + "homebridge": { + "child_bridges_status": "{{ok}}/{{total}}", + "available_update": "System", + "updates": "Updates", + "update_available": "Update Available", + "up_to_date": "Up to Date", + "child_bridges": "Child Bridges" + }, + "watchtower": { + "containers_scanned": "Scanned", + "containers_updated": "Updated", + "containers_failed": "Failed" + }, + "autobrr": { + "approvedPushes": "Approved", + "rejectedPushes": "Rejected", + "filters": "Filters", + "indexers": "Indexers" + }, + "tubearchivist": { + "downloads": "Queue", + "videos": "Videos", + "channels": "Channels", + "playlists": "Playlists" + }, + "truenas": { + "load": "System Load", + "uptime": "Uptime", + "alerts": "Alerts", + "time": "{{value, number(style: unit; unitDisplay: long;)}}" + } +} From bbacf4e671e47d233d0850746fb172d971008018 Mon Sep 17 00:00:00 2001 From: stuffinator Date: Sun, 6 Nov 2022 17:07:56 +0100 Subject: [PATCH 162/668] reverted changes to German language file --- public/locales/de/common.json | 6 ------ 1 file changed, 6 deletions(-) diff --git a/public/locales/de/common.json b/public/locales/de/common.json index b33c8668..315ec0e4 100644 --- a/public/locales/de/common.json +++ b/public/locales/de/common.json @@ -304,11 +304,5 @@ "uptime": "Uptime", "alerts": "Alerts", "time": "{{value, number(style: unit; unitDisplay: long;)}}" - }, - "pyload": { - "speed": "Geschwindigkeit", - "active": "Aktiv", - "queue": "Warteschlange", - "total": "Gesamt" } } From 9757ee0defbb8c3ca5c47962e6fcb22de578d2d5 Mon Sep 17 00:00:00 2001 From: Ben Phelps Date: Sun, 6 Nov 2022 21:47:17 +0200 Subject: [PATCH 163/668] Delete .all-contributorsrc --- .all-contributorsrc | 10 ---------- 1 file changed, 10 deletions(-) delete mode 100644 .all-contributorsrc diff --git a/.all-contributorsrc b/.all-contributorsrc deleted file mode 100644 index 1487861d..00000000 --- a/.all-contributorsrc +++ /dev/null @@ -1,10 +0,0 @@ -{ - "projectName": "homepage", - "projectOwner": "benphelps", - "repoType": "github", - "repoHost": "https://github.com", - "files": ["README.md"], - "imageSize": 50, - "contributorsSortAlphabetically": true, - "contributors": [] -} From 3c7f7ea27e4dd2be96b697fc20e73afd6b45d61f Mon Sep 17 00:00:00 2001 From: Ben Phelps Date: Sun, 6 Nov 2022 21:52:42 +0200 Subject: [PATCH 164/668] Update README.md --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index cdfa217e..f5633642 100644 --- a/README.md +++ b/README.md @@ -152,3 +152,9 @@ This is a [Next.js](https://nextjs.org/) application, see their doucmentation fo + + + + +[![All Contributors](https://img.shields.io/badge/all_contributors-13-orange.svg?style=flat-square)](#contributors) + From 5592c5302840f91e6c463d452a08aba335d3f9ae Mon Sep 17 00:00:00 2001 From: Ben Phelps Date: Sun, 6 Nov 2022 21:57:04 +0200 Subject: [PATCH 165/668] Create .all-contributorsrc --- .all-contributorsrc | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 .all-contributorsrc diff --git a/.all-contributorsrc b/.all-contributorsrc new file mode 100644 index 00000000..3a46209e --- /dev/null +++ b/.all-contributorsrc @@ -0,0 +1,11 @@ +{ + "projectName": "homepage", + "projectOwner": benphelps", + "files": [ + "README.md" + ], + "imageSize": 100, + "contributors": [ + + ] +} From 35ae655ba391a8319ae8ace975c7704b633183a3 Mon Sep 17 00:00:00 2001 From: Ben Phelps Date: Sun, 6 Nov 2022 21:57:32 +0200 Subject: [PATCH 166/668] Update .all-contributorsrc --- .all-contributorsrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index 3a46209e..ddf7d542 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -1,6 +1,6 @@ { "projectName": "homepage", - "projectOwner": benphelps", + "projectOwner": "benphelps", "files": [ "README.md" ], From f3a22b057bd39096d092e6b8d91996e2f5497906 Mon Sep 17 00:00:00 2001 From: Ben Phelps Date: Sun, 6 Nov 2022 21:58:47 +0200 Subject: [PATCH 167/668] Update .all-contributorsrc --- .all-contributorsrc | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index ddf7d542..f2d28077 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -5,7 +5,5 @@ "README.md" ], "imageSize": 100, - "contributors": [ - - ] + "contributors": [] } From 2ab05350a3703bfb9ee68f862a5a18617ac54fd9 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Sun, 6 Nov 2022 14:41:02 -0800 Subject: [PATCH 168/668] Fix maxWidth / maxHeight style attrs --- src/components/resolvedicon.jsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/resolvedicon.jsx b/src/components/resolvedicon.jsx index d973ab4b..2a3701e8 100644 --- a/src/components/resolvedicon.jsx +++ b/src/components/resolvedicon.jsx @@ -14,8 +14,8 @@ export default function ResolvedIcon({ icon }) { style={{ width: 32, height: 32, - 'max-width': '100%', - 'max-height': '100%', + maxWidth: '100%', + maxHeight: '100%', background: "linear-gradient(180deg, rgb(var(--color-logo-start)), rgb(var(--color-logo-stop)))", mask: `url(https://cdn.jsdelivr.net/npm/@mdi/svg@latest/svg/${iconName}.svg) no-repeat center / contain`, WebkitMask: `url(https://cdn.jsdelivr.net/npm/@mdi/svg@latest/svg/${iconName}.svg) no-repeat center / contain`, From 319d3bfae35fb3b9af6efdb9c2df02aecfeb2a82 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Sun, 6 Nov 2022 14:30:48 -0800 Subject: [PATCH 169/668] Change npm widget to use httpProxy not fetch --- src/widgets/npm/component.jsx | 2 +- src/widgets/npm/proxy.js | 80 +++++++++++++++++++++++++++++------ 2 files changed, 68 insertions(+), 14 deletions(-) diff --git a/src/widgets/npm/component.jsx b/src/widgets/npm/component.jsx index b35e27c8..92aef035 100644 --- a/src/widgets/npm/component.jsx +++ b/src/widgets/npm/component.jsx @@ -11,7 +11,7 @@ export default function Component({ service }) { const { data: infoData, error: infoError } = useWidgetAPI(widget, "nginx/proxy-hosts"); - if (infoError) { + if (infoError || infoData?.error) { return ; } diff --git a/src/widgets/npm/proxy.js b/src/widgets/npm/proxy.js index eed43b57..ff15db62 100644 --- a/src/widgets/npm/proxy.js +++ b/src/widgets/npm/proxy.js @@ -1,6 +1,33 @@ +import cache from "memory-cache"; + import getServiceWidget from "utils/config/service-helpers"; import { formatApiCall } from "utils/proxy/api-helpers"; +import { httpProxy } from "utils/proxy/http"; import widgets from "widgets/widgets"; +import createLogger from "utils/logger"; + +const proxyName = "npmProxyHandler"; +const tokenCacheKey = `${proxyName}__token`; +const logger = createLogger(proxyName); + +async function login(loginUrl, username, password) { + const authResponse = await httpProxy(loginUrl, { + method: "POST", + body: JSON.stringify({ identity: username, secret: password }), + headers: { + "Content-Type": "application/json", + }, + }); + + const status = authResponse[0]; + const data = JSON.parse(Buffer.from(authResponse[2]).toString()); + + if (status === 200) { + cache.put(tokenCacheKey, data.token); + } + + return [status, data.token ?? data]; +} export default async function npmProxyHandler(req, res) { const { group, service, endpoint } = req.query; @@ -14,27 +41,54 @@ export default async function npmProxyHandler(req, res) { if (widget) { const url = new URL(formatApiCall(widgets[widget.type].api, { endpoint, ...widget })); - const loginUrl = `${widget.url}/api/tokens`; - const body = { identity: widget.username, secret: widget.password }; - const authResponse = await fetch(loginUrl, { - method: "POST", - body: JSON.stringify(body), - headers: { - "Content-Type": "application/json", - }, - }).then((response) => response.json()); + let status; + let contentType; + let data; + + let token = cache.get(tokenCacheKey); + if (!token) { + [status, token] = await login(loginUrl, widget.username, widget.password); + if (status !== 200) { + logger.debug(`HTTTP ${status} logging into npm api: ${data}`); + return res.status(status).send(data); + } + } - const apiResponse = await fetch(url, { + [status, contentType, data] = await httpProxy(url, { method: "GET", headers: { "Content-Type": "application/json", - Authorization: `Bearer ${authResponse.token}`, + Authorization: `Bearer ${token}`, }, - }).then((response) => response.json()); + }); - return res.send(apiResponse); + if (status === 403) { + logger.debug(`HTTTP ${status} retrieving data from npm api, logging in and trying again.`); + cache.del(tokenCacheKey); + [status, token] = await login(loginUrl, widget.username, widget.password); + + if (status !== 200) { + logger.debug(`HTTTP ${status} logging into npm api: ${data}`); + return res.status(status).send(data); + } + + // eslint-disable-next-line no-unused-vars + [status, contentType, data] = await httpProxy(url, { + method: "GET", + headers: { + "Content-Type": "application/json", + Authorization: `Bearer ${token}`, + }, + }); + } + + if (status !== 200) { + return res.status(status).send(data); + } + + return res.send(data); } } From 210d746ef632c8d76e9ea960e80bb8f768fe6492 Mon Sep 17 00:00:00 2001 From: ForeverEndeavor <77213414+ForeverEndeavor@users.noreply.github.com> Date: Mon, 7 Nov 2022 10:16:03 -0600 Subject: [PATCH 170/668] Feature: add navidrome support --- public/locales/en/common.json | 6 ++++ src/widgets/components.js | 1 + src/widgets/navidrome/component.jsx | 45 +++++++++++++++++++++++++++++ src/widgets/navidrome/widget.js | 14 +++++++++ src/widgets/widgets.js | 2 ++ 5 files changed, 68 insertions(+) create mode 100644 src/widgets/navidrome/component.jsx create mode 100644 src/widgets/navidrome/widget.js diff --git a/public/locales/en/common.json b/public/locales/en/common.json index 8784443a..94ac652b 100644 --- a/public/locales/en/common.json +++ b/public/locales/en/common.json @@ -168,6 +168,12 @@ "services": "Services", "middleware": "Middleware" }, + "navidrome": { + "user": "User", + "artist": "Artist", + "song": "Song", + "album": "Album" + }, "npm": { "enabled": "Enabled", "disabled": "Disabled", diff --git a/src/widgets/components.js b/src/widgets/components.js index 33d09eac..28b5a92f 100644 --- a/src/widgets/components.js +++ b/src/widgets/components.js @@ -16,6 +16,7 @@ const components = { jellyseerr: dynamic(() => import("./jellyseerr/component")), lidarr: dynamic(() => import("./lidarr/component")), mastodon: dynamic(() => import("./mastodon/component")), + navidrome: dynamic(() => import("./navidrome/component")), npm: dynamic(() => import("./npm/component")), nzbget: dynamic(() => import("./nzbget/component")), ombi: dynamic(() => import("./ombi/component")), diff --git a/src/widgets/navidrome/component.jsx b/src/widgets/navidrome/component.jsx new file mode 100644 index 00000000..343eb0fe --- /dev/null +++ b/src/widgets/navidrome/component.jsx @@ -0,0 +1,45 @@ +import { useTranslation } from "next-i18next"; + +import Container from "components/services/widget/container"; +import Block from "components/services/widget/block"; +import useWidgetAPI from "utils/proxy/use-widget-api"; + +export default function Component({ service }) { + const { t } = useTranslation(); + + const { widget } = service; + + const { data: navidromeData, error: navidromeError } = useWidgetAPI(widget, "getNowPlaying"); + + if (navidromeError) { + return ; + } + + if (!navidromeData || Object.keys(navidromeData["subsonic-response"].nowPlaying).length === 0) { + return ( + + + + + + + ); + } + + const nowPlaying = Object.values(navidromeData["subsonic-response"].nowPlaying.entry); + const songList = []; + + nowPlaying.forEach(userPlay => { + const playing = ( + + + + + + + ); + songList.unshift(playing); + }); + + return songList; +} diff --git a/src/widgets/navidrome/widget.js b/src/widgets/navidrome/widget.js new file mode 100644 index 00000000..9b861435 --- /dev/null +++ b/src/widgets/navidrome/widget.js @@ -0,0 +1,14 @@ +import genericProxyHandler from "utils/proxy/handlers/generic"; + +const widget = { + api: "{url}/rest/{endpoint}?u={user}&t={token}&s={salt}&v={version}&c={client}&f=json", + proxyHandler: genericProxyHandler, + + mappings: { + "getNowPlaying": { + endpoint: "getNowPlaying", + }, + }, +}; + +export default widget; diff --git a/src/widgets/widgets.js b/src/widgets/widgets.js index 7bad4013..aaf0a025 100644 --- a/src/widgets/widgets.js +++ b/src/widgets/widgets.js @@ -11,6 +11,7 @@ import jackett from "./jackett/widget"; import jellyseerr from "./jellyseerr/widget"; import lidarr from "./lidarr/widget"; import mastodon from "./mastodon/widget"; +import navidrome from "./navidrome/widget"; import npm from "./npm/widget"; import nzbget from "./nzbget/widget"; import ombi from "./ombi/widget"; @@ -51,6 +52,7 @@ const widgets = { jellyseerr, lidarr, mastodon, + navidrome, npm, nzbget, ombi, From 8b2b8d7b358411a8fba8a04b2e9337b26e51a433 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Sun, 6 Nov 2022 10:35:41 -0800 Subject: [PATCH 171/668] Cache Pyload widget login sessionId, refactor --- src/widgets/pyload/component.jsx | 18 ++++++--- src/widgets/pyload/proxy.js | 66 ++++++++++++++++++++++++-------- src/widgets/pyload/widget.js | 8 +++- 3 files changed, 69 insertions(+), 23 deletions(-) diff --git a/src/widgets/pyload/component.jsx b/src/widgets/pyload/component.jsx index e35bb3b5..958733c3 100644 --- a/src/widgets/pyload/component.jsx +++ b/src/widgets/pyload/component.jsx @@ -7,15 +7,23 @@ import useWidgetAPI from "utils/proxy/use-widget-api"; export default function Component({ service }) { const { t } = useTranslation(); const { widget } = service; - const { data: pyloadData, error: pyloadError } = useWidgetAPI( - widget, - "statusServer", - ); + const { data: pyloadData, error: pyloadError } = useWidgetAPI(widget, "status"); - if (pyloadError || !pyloadData) { + if (pyloadError || pyloadData?.error) { return ; } + if (!pyloadData) { + return ( + + + + + + + ); + } + return ( diff --git a/src/widgets/pyload/proxy.js b/src/widgets/pyload/proxy.js index 35fb7bec..d96b859c 100644 --- a/src/widgets/pyload/proxy.js +++ b/src/widgets/pyload/proxy.js @@ -1,6 +1,36 @@ +import cache from "memory-cache"; + import getServiceWidget from "utils/config/service-helpers"; import { formatApiCall } from "utils/proxy/api-helpers"; import widgets from "widgets/widgets"; +import createLogger from "utils/logger"; + +const proxyName = 'pyloadProxyHandler'; +const logger = createLogger(proxyName); +const sessionCacheKey = `${proxyName}__sessionId`; + +async function fetchFromPyloadAPI(url, sessionId, params) { + const options = { + method: "POST", + headers: { + "Content-Type": "application/x-www-form-urlencoded", + }, + }; + + if (params) { + options.body = Object.keys(params).map(k => `${k}=${params[k]}`).join('&'); + } else { + options.body = `session=${sessionId}` + } + + return fetch(url, options).then((response) => response.json()); +} + +async function login(loginUrl, username, password) { + const sessionId = await fetchFromPyloadAPI(loginUrl, null, { username, password }) + cache.put(sessionCacheKey, sessionId); + return sessionId; +} export default async function pyloadProxyHandler(req, res) { const { group, service, endpoint } = req.query; @@ -12,27 +42,29 @@ export default async function pyloadProxyHandler(req, res) { const url = new URL(formatApiCall(widgets[widget.type].api, { endpoint, ...widget })); const loginUrl = `${widget.url}/api/login`; - // Pyload api does not support argument passing as JSON. - const sessionId = await fetch(loginUrl, { - method: "POST", - // Empty passwords are supported. - body: `username=${widget.username}&password=${widget.password ?? ''}`, - headers: { - "Content-Type": "application/x-www-form-urlencoded", - }, - }).then((response) => response.json()); + let sessionId = cache.get(sessionCacheKey); - const apiResponse = await fetch(url, { - method: "POST", - body: `session=${sessionId}`, - headers: { - "Content-Type": "application/x-www-form-urlencoded", - }, - }).then((response) => response.json()); + if (!sessionId) { + sessionId = await login(loginUrl, widget.username, widget.password); + } + let apiResponse = await fetchFromPyloadAPI(url, sessionId); + + if (apiResponse?.error === 'Forbidden') { + logger.debug("Failed to retrieve data from Pyload API, login and re-try"); + cache.del(sessionCacheKey); + sessionId = await login(loginUrl, widget.username, widget.password); + apiResponse = await fetchFromPyloadAPI(url, sessionId); + } + + if (apiResponse?.error) { + return res.status(500).send(apiResponse); + } + cache.del(sessionCacheKey); + return res.send(apiResponse); } } return res.status(400).json({ error: "Invalid proxy service type" }); -} +} \ No newline at end of file diff --git a/src/widgets/pyload/widget.js b/src/widgets/pyload/widget.js index 3d2f2958..71073c0f 100644 --- a/src/widgets/pyload/widget.js +++ b/src/widgets/pyload/widget.js @@ -3,6 +3,12 @@ import pyloadProxyHandler from "./proxy"; const widget = { api: "{url}/api/{endpoint}", proxyHandler: pyloadProxyHandler, -}; + + mappings: { + "status": { + endpoint: "statusServer", + } + } +} export default widget; From 69786600b1c3ca7a8f9506d4279f8a7b910cd82f Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Sun, 6 Nov 2022 11:24:59 -0800 Subject: [PATCH 172/668] Pyload widget use httpProxy instead of fetch --- src/widgets/pyload/proxy.js | 69 +++++++++++++++++++++---------------- 1 file changed, 40 insertions(+), 29 deletions(-) diff --git a/src/widgets/pyload/proxy.js b/src/widgets/pyload/proxy.js index d96b859c..d130bcfe 100644 --- a/src/widgets/pyload/proxy.js +++ b/src/widgets/pyload/proxy.js @@ -4,6 +4,7 @@ import getServiceWidget from "utils/config/service-helpers"; import { formatApiCall } from "utils/proxy/api-helpers"; import widgets from "widgets/widgets"; import createLogger from "utils/logger"; +import { httpProxy } from "utils/proxy/http"; const proxyName = 'pyloadProxyHandler'; const logger = createLogger(proxyName); @@ -20,50 +21,60 @@ async function fetchFromPyloadAPI(url, sessionId, params) { if (params) { options.body = Object.keys(params).map(k => `${k}=${params[k]}`).join('&'); } else { - options.body = `session=${sessionId}` + options.body = `session=${sessionId}`; } - return fetch(url, options).then((response) => response.json()); + // eslint-disable-next-line no-unused-vars + const [status, contentType, data] = await httpProxy(url, options); + return [status, JSON.parse(Buffer.from(data).toString())]; } async function login(loginUrl, username, password) { - const sessionId = await fetchFromPyloadAPI(loginUrl, null, { username, password }) - cache.put(sessionCacheKey, sessionId); - return sessionId; + const [status, sessionId] = await fetchFromPyloadAPI(loginUrl, null, { username, password }); + if (status !== 200) { + throw new Error(`HTTP error ${status} logging into Pyload API, returned: ${sessionId}`); + } else { + cache.put(sessionCacheKey, sessionId); + return sessionId; + } } export default async function pyloadProxyHandler(req, res) { const { group, service, endpoint } = req.query; - if (group && service) { - const widget = await getServiceWidget(group, service); + try { + if (group && service) { + const widget = await getServiceWidget(group, service); + + if (widget) { + const url = new URL(formatApiCall(widgets[widget.type].api, { endpoint, ...widget })); + const loginUrl = `${widget.url}/api/login`; + + let sessionId = cache.get(sessionCacheKey); - if (widget) { - const url = new URL(formatApiCall(widgets[widget.type].api, { endpoint, ...widget })); - const loginUrl = `${widget.url}/api/login`; + if (!sessionId) { + sessionId = await login(loginUrl, widget.username, widget.password); + } + + let [status, data] = await fetchFromPyloadAPI(url, sessionId); - let sessionId = cache.get(sessionCacheKey); + if (status === 403) { + logger.debug("Failed to retrieve data from Pyload API, login and re-try"); + cache.del(sessionCacheKey); + sessionId = await login(loginUrl, widget.username, widget.password); + [status, data] = await fetchFromPyloadAPI(url, sessionId); + } + + if (data?.error || status !== 200) { + return res.status(500).send(Buffer.from(data).toString()); + } - if (!sessionId) { - sessionId = await login(loginUrl, widget.username, widget.password); + return res.json(data); } - - let apiResponse = await fetchFromPyloadAPI(url, sessionId); - - if (apiResponse?.error === 'Forbidden') { - logger.debug("Failed to retrieve data from Pyload API, login and re-try"); - cache.del(sessionCacheKey); - sessionId = await login(loginUrl, widget.username, widget.password); - apiResponse = await fetchFromPyloadAPI(url, sessionId); - } - - if (apiResponse?.error) { - return res.status(500).send(apiResponse); - } - cache.del(sessionCacheKey); - - return res.send(apiResponse); } + } catch (e) { + logger.error(e); + return res.status(500).send(e.toString()); } return res.status(400).json({ error: "Invalid proxy service type" }); From 31b644c93933a2960dcdaaa5f2e410f26a47bc56 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Mon, 7 Nov 2022 10:36:47 -0800 Subject: [PATCH 173/668] fix navidrome nothing playing, simplify widget params --- src/widgets/navidrome/component.jsx | 16 ++++++++++++---- src/widgets/navidrome/widget.js | 2 +- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/widgets/navidrome/component.jsx b/src/widgets/navidrome/component.jsx index 343eb0fe..360dac97 100644 --- a/src/widgets/navidrome/component.jsx +++ b/src/widgets/navidrome/component.jsx @@ -11,11 +11,11 @@ export default function Component({ service }) { const { data: navidromeData, error: navidromeError } = useWidgetAPI(widget, "getNowPlaying"); - if (navidromeError) { + if (navidromeError || navidromeData?.error || navidromeData?.["subsonic-response"]?.error) { return ; } - if (!navidromeData || Object.keys(navidromeData["subsonic-response"].nowPlaying).length === 0) { + if (!navidromeData) { return ( @@ -26,10 +26,18 @@ export default function Component({ service }) { ); } - const nowPlaying = Object.values(navidromeData["subsonic-response"].nowPlaying.entry); + const nowPlaying = navidromeData["subsonic-response"].nowPlaying; + if (!nowPlaying.entry) { + // nothing playing + return ( + + ); + } + + const nowPlayingEntries = Object.values(nowPlaying.entry); const songList = []; - nowPlaying.forEach(userPlay => { + nowPlayingEntries.forEach(userPlay => { const playing = ( diff --git a/src/widgets/navidrome/widget.js b/src/widgets/navidrome/widget.js index 9b861435..9d7c03d4 100644 --- a/src/widgets/navidrome/widget.js +++ b/src/widgets/navidrome/widget.js @@ -1,7 +1,7 @@ import genericProxyHandler from "utils/proxy/handlers/generic"; const widget = { - api: "{url}/rest/{endpoint}?u={user}&t={token}&s={salt}&v={version}&c={client}&f=json", + api: "{url}/rest/{endpoint}?u={user}&t={token}&s={salt}&v=1.16.1&c=homepage&f=json", proxyHandler: genericProxyHandler, mappings: { From 1c456b70c00946a0af643a4f49d1da94c10c900c Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Mon, 7 Nov 2022 11:35:13 -0800 Subject: [PATCH 174/668] Re-create service ping, docker status changes See #388 --- public/locales/en/common.json | 8 +++++- src/components/services/item.jsx | 32 ++++++++++++++-------- src/components/services/ping.jsx | 44 ++++++++++++++++++++++++++++++ src/components/services/status.jsx | 27 ++++++++++++++---- src/pages/api/ping.js | 28 +++++++++++++++++++ src/utils/proxy/http.js | 2 +- 6 files changed, 123 insertions(+), 18 deletions(-) create mode 100644 src/components/services/ping.jsx create mode 100644 src/pages/api/ping.js diff --git a/public/locales/en/common.json b/public/locales/en/common.json index 8784443a..24177db6 100644 --- a/public/locales/en/common.json +++ b/public/locales/en/common.json @@ -52,7 +52,13 @@ "tx": "TX", "mem": "MEM", "cpu": "CPU", - "offline": "Offline" + "offline": "Offline", + "error": "Error", + "unknown": "Unknown" + }, + "ping": { + "error": "Error", + "ping": "Ping" }, "emby": { "playing": "Playing", diff --git a/src/components/services/item.jsx b/src/components/services/item.jsx index 56ed2b4b..3f9df930 100644 --- a/src/components/services/item.jsx +++ b/src/components/services/item.jsx @@ -3,6 +3,7 @@ import { useContext, useState } from "react"; import Status from "./status"; import Widget from "./widget"; +import Ping from "./ping"; import Docker from "widgets/docker/component"; import { SettingsContext } from "utils/contexts/settings"; @@ -30,7 +31,7 @@ export default function Item({ service }) {
{service.icon && @@ -70,16 +71,25 @@ export default function Item({ service }) {
)} - {service.container && ( - - )} +
+ {service.ping && ( +
+ + Ping status +
+ )} + + {service.container && ( + + )} +
{service.container && service.server && ( diff --git a/src/components/services/ping.jsx b/src/components/services/ping.jsx new file mode 100644 index 00000000..e3056232 --- /dev/null +++ b/src/components/services/ping.jsx @@ -0,0 +1,44 @@ +import { useTranslation } from "react-i18next"; +import useSWR from "swr"; + +export default function Ping({ service }) { + const { t } = useTranslation(); + const { data, error } = useSWR(`/api/ping?${new URLSearchParams({ping: service.ping}).toString()}`, { + refreshInterval: 30000 + }); + + if (error) { + return ( +
+
{t("ping.error")}
+
+ ); + } + + if (!data) { + return ( +
+
{t("ping.ping")}
+
+ ); + } + + const statusText = `${service.ping}: HTTP status ${data.status}`; + + if (data && data.status !== 200) { + return ( +
+
{data.status}
+
+ ); + } + + if (data && data.status === 200) { + return ( +
+
{t("common.ms", { value: data.latency, style: "unit", unit: "millisecond", unitDisplay: "narrow", maximumFractionDigits: 0 })}
+
+ ); + } + +} diff --git a/src/components/services/status.jsx b/src/components/services/status.jsx index dc903408..2d07e49e 100644 --- a/src/components/services/status.jsx +++ b/src/components/services/status.jsx @@ -1,19 +1,36 @@ +import { useTranslation } from "react-i18next"; import useSWR from "swr"; export default function Status({ service }) { + const { t } = useTranslation(); + const { data, error } = useSWR(`/api/docker/status/${service.container}/${service.server || ""}`); if (error) { - return
; +
+
{t("docker.error")}
+
} if (data && data.status === "running") { - return
; + return ( +
+
{data.status}
+
+ ); } - if (data && data.status === "not found") { - return
; + if (data && (data.status === "not found" || data.status === "exited")) { + return ( +
+
{data.status}
+
+ ); } - return
; + return ( +
+
{t("docker.unknown")}
+
+ ); } diff --git a/src/pages/api/ping.js b/src/pages/api/ping.js new file mode 100644 index 00000000..79c7da0c --- /dev/null +++ b/src/pages/api/ping.js @@ -0,0 +1,28 @@ +import { performance } from "perf_hooks"; + +import createLogger from "utils/logger"; +import { httpProxy } from "utils/proxy/http"; + +const logger = createLogger("ping"); + +export default async function handler(req, res) { + const { ping: pingURL } = req.query; + + if (!pingURL) { + logger.debug("No ping URL specified"); + return res.status(400).send({ + error: "No ping URL given", + }); + } + + const startTime = performance.now(); + const [status] = await httpProxy(pingURL, { + method: "HEAD" + }); + const endTime = performance.now(); + + return res.status(200).json({ + status, + latency: endTime - startTime + }); +} diff --git a/src/utils/proxy/http.js b/src/utils/proxy/http.js index 4eba83f3..8f180a7f 100644 --- a/src/utils/proxy/http.js +++ b/src/utils/proxy/http.js @@ -96,7 +96,7 @@ export async function httpProxy(url, params = {}) { return [status, contentType, data, responseHeaders]; } catch (err) { - logger.error("Error calling %s//%s%s...", url.protocol, url.hostname, url.pathname); + logger.error("Error calling %s//%s%s...", constructedUrl.protocol, constructedUrl.hostname, constructedUrl.pathname); logger.error(err); return [500, "application/json", { error: "Unexpected error" }, null]; } From 3e73fb65ead76accca59f0ad327dc027062838b8 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Mon, 7 Nov 2022 11:06:53 -0800 Subject: [PATCH 175/668] Use compact now playing format --- public/locales/en/common.json | 6 ++-- src/widgets/navidrome/component.jsx | 49 +++++++++++++++-------------- 2 files changed, 28 insertions(+), 27 deletions(-) diff --git a/public/locales/en/common.json b/public/locales/en/common.json index 94ac652b..afba679a 100644 --- a/public/locales/en/common.json +++ b/public/locales/en/common.json @@ -169,10 +169,8 @@ "middleware": "Middleware" }, "navidrome": { - "user": "User", - "artist": "Artist", - "song": "Song", - "album": "Album" + "nothing_streaming": "No Active Streams", + "please_wait": "Please Wait" }, "npm": { "enabled": "Enabled", diff --git a/src/widgets/navidrome/component.jsx b/src/widgets/navidrome/component.jsx index 360dac97..f4f3e672 100644 --- a/src/widgets/navidrome/component.jsx +++ b/src/widgets/navidrome/component.jsx @@ -1,9 +1,24 @@ import { useTranslation } from "next-i18next"; import Container from "components/services/widget/container"; -import Block from "components/services/widget/block"; import useWidgetAPI from "utils/proxy/use-widget-api"; +function SinglePlayingEntry({ entry }) { + const { username, artist, title, album } = entry; + let fullTitle = title; + if (artist) fullTitle = `${artist} - ${title}`; + if (album) fullTitle += ` — ${album}`; + if (username) fullTitle += ` (${username})`; + + return ( +
+
+
{fullTitle}
+
+
+ ); +} + export default function Component({ service }) { const { t } = useTranslation(); @@ -17,37 +32,25 @@ export default function Component({ service }) { if (!navidromeData) { return ( - - - - - - + ); } - const nowPlaying = navidromeData["subsonic-response"].nowPlaying; + const { nowPlaying } = navidromeData["subsonic-response"]; if (!nowPlaying.entry) { // nothing playing return ( - + ); } const nowPlayingEntries = Object.values(nowPlaying.entry); - const songList = []; - nowPlayingEntries.forEach(userPlay => { - const playing = ( - - - - - - - ); - songList.unshift(playing); - }); - - return songList; + return ( +
+ {nowPlayingEntries.map((entry) => ( + + ))} +
+ ); } From 6326983f65a03b471420a226e95921b2a76d74b5 Mon Sep 17 00:00:00 2001 From: Aiman Jalil Date: Sun, 6 Nov 2022 16:18:02 +0000 Subject: [PATCH 176/668] Translated using Weblate (Malay) Currently translated at 100.0% (225 of 225 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ms/ --- public/locales/ms/common.json | 388 +++++++++++++++++----------------- 1 file changed, 194 insertions(+), 194 deletions(-) diff --git a/public/locales/ms/common.json b/public/locales/ms/common.json index 975e785d..9d8fd3cd 100644 --- a/public/locales/ms/common.json +++ b/public/locales/ms/common.json @@ -1,308 +1,308 @@ { "resources": { "cpu": "CPU", - "total": "Total", - "free": "Free", - "used": "Used", - "load": "Load" + "total": "Jumlah", + "free": "Bebas", + "used": "Telah diguna", + "load": "Beban" }, "unifi": { - "uptime": "System Uptime", - "users": "Users", - "days": "Days", + "uptime": "Masa Operasi Sistem", + "users": "Pengguna", + "days": "Hari", "wan": "WAN", "lan": "LAN", "wlan": "WLAN", - "devices": "Devices", - "lan_devices": "LAN Devices", - "wlan_devices": "WLAN Devices", - "lan_users": "LAN Users", - "wlan_users": "WLAN Users", - "up": "UP", - "down": "DOWN", - "wait": "Please wait" + "devices": "Peranti", + "lan_devices": "Peranti LAN", + "wlan_devices": "Peranti WLAN", + "lan_users": "Pengguna LAN", + "wlan_users": "Pengguna WLAN", + "up": "HIDUP", + "down": "MATI", + "wait": "Sila tunggu" }, "lidarr": { - "queued": "Queued", - "albums": "Albums", - "wanted": "Wanted" + "queued": "Dibaris Gilir", + "albums": "Album", + "wanted": "Mahu" }, "readarr": { - "wanted": "Wanted", - "queued": "Queued", - "books": "Books" + "wanted": "Mahu", + "queued": "Dibaris Gilir", + "books": "Buku" }, "jellyseerr": { - "pending": "Pending", - "approved": "Approved", - "available": "Available" + "pending": "Tertangguh", + "approved": "Lulus", + "available": "Sudah Ada" }, "coinmarketcap": { - "30days": "30 Days", - "configure": "Configure one or more crypto currencies to track", - "1hour": "1 Hour", - "1day": "1 Day", - "7days": "7 Days" + "30days": "30 Hari", + "configure": "Konfigurasikan satu atau lebih matawang crypto untuk dipantau", + "1hour": "1 Jam", + "1day": "1 Hari", + "7days": "7 Hari" }, "gotify": { - "apps": "Applications", - "clients": "Clients", - "messages": "Messages" + "apps": "Aplikasi", + "clients": "Klien", + "messages": "Mesej" }, "proxmox": { "mem": "MEM", "cpu": "CPU", "lxc": "LXC", - "vms": "VMs" + "vms": "Mesin Maya" }, "glances": { "cpu": "CPU", "mem": "MEM", - "wait": "Please wait" + "wait": "Sila tunggu" }, "quicklaunch": { - "bookmark": "Bookmark", - "service": "Service" + "bookmark": "Tandabuku", + "service": "Servis" }, "wmo": { - "0-day": "Sunny", - "0-night": "Clear", - "1-day": "Mainly Sunny", - "1-night": "Mainly Clear", - "63-day": "Rain", - "63-night": "Rain", - "2-day": "Partly Cloudy", - "2-night": "Partly Cloudy", - "3-day": "Cloudy", - "3-night": "Cloudy", - "45-day": "Foggy", - "45-night": "Foggy", - "48-day": "Foggy", - "48-night": "Foggy", - "51-day": "Light Drizzle", - "51-night": "Light Drizzle", - "53-day": "Drizzle", - "53-night": "Drizzle", - "55-day": "Heavy Drizzle", - "55-night": "Heavy Drizzle", - "56-day": "Light Freezing Drizzle", - "56-night": "Light Freezing Drizzle", - "57-day": "Freezing Drizzle", - "57-night": "Freezing Drizzle", - "61-day": "Light Rain", - "61-night": "Light Rain", - "65-day": "Heavy Rain", - "65-night": "Heavy Rain", - "66-day": "Freezing Rain", - "66-night": "Freezing Rain", - "67-day": "Freezing Rain", - "67-night": "Freezing Rain", - "71-day": "Light Snow", - "71-night": "Light Snow", - "73-day": "Snow", - "73-night": "Snow", - "75-day": "Heavy Snow", - "75-night": "Heavy Snow", - "81-day": "Showers", - "77-day": "Snow Grains", - "77-night": "Snow Grains", - "80-day": "Light Showers", - "80-night": "Light Showers", - "81-night": "Showers", - "82-day": "Heavy Showers", - "82-night": "Heavy Showers", - "85-day": "Snow Showers", - "85-night": "Snow Showers", - "86-day": "Snow Showers", - "86-night": "Snow Showers", - "95-day": "Thunderstorm", - "95-night": "Thunderstorm", - "96-day": "Thunderstorm With Hail", - "96-night": "Thunderstorm With Hail", - "99-day": "Thunderstorm With Hail", - "99-night": "Thunderstorm With Hail" + "0-day": "Terik", + "0-night": "Cerah", + "1-day": "Sebahagian Besar Terik", + "1-night": "Sebahagian Besar Cerah", + "63-day": "Hujan", + "63-night": "Hujan", + "2-day": "Sebahagian Mendung", + "2-night": "Sebahagian Mendung", + "3-day": "Mendung", + "3-night": "Mendung", + "45-day": "Berkabus", + "45-night": "Berkabus", + "48-day": "Berkabus", + "48-night": "Berkabus", + "51-day": "Gerimis", + "51-night": "Gerimis", + "53-day": "Renyai", + "53-night": "Renyai", + "55-day": "Renyai Kuat", + "55-night": "Renyai Kuat", + "56-day": "Gerimis Sejuk Ringan", + "56-night": "Gerimis Sejuk Ringan", + "57-day": "Gerimis Sejuk", + "57-night": "Gerimis Sejuk", + "61-day": "Hujan Renyai", + "61-night": "Hujan Renyai", + "65-day": "Hujan Lebat", + "65-night": "Hujan Lebat", + "66-day": "Hujan Sejuk", + "66-night": "Hujan Sejuk", + "67-day": "Hujan Sejuk", + "67-night": "Hujan Sejuk", + "71-day": "Salji Ringan", + "71-night": "Salji Ringan", + "73-day": "Salji", + "73-night": "Salji", + "75-day": "Salji Lebat", + "75-night": "Salji Lebat", + "81-day": "Rintik", + "77-day": "Butiran Salji", + "77-night": "Butiran Salji", + "80-day": "Rintik Ringan", + "80-night": "Rintik Ringan", + "81-night": "Rintik", + "82-day": "Rintik Lebat", + "82-night": "Rintik Lebat", + "85-day": "Rintik Salji", + "85-night": "Rintik Salji", + "86-day": "Rintik Salji", + "86-night": "Rintik Salji", + "95-day": "Ribut", + "95-night": "Ribut", + "96-day": "Ribut Hujan Batu", + "96-night": "Ribut Hujan Batu", + "99-day": "Ribut Hujan Batu", + "99-night": "Ribut Hujan Batu" }, "widget": { - "missing_type": "Missing Widget Type: {{type}}", - "api_error": "API Error", + "missing_type": "Jenis Widget Hilang: {{type}}", + "api_error": "Masalah API", "status": "Status" }, "weather": { - "current": "Current Location", - "allow": "Click to allow", - "updating": "Updating", - "wait": "Please wait" + "current": "Lokasi Sekarang", + "allow": "Klik untuk benarkan", + "updating": "Mengemas kini", + "wait": "Sila tunggu" }, "search": { - "placeholder": "Search…" + "placeholder": "Carian…" }, "nzbget": { - "remaining": "Remaining", - "downloaded": "Downloaded", - "rate": "Rate" + "remaining": "Baki", + "downloaded": "Telah Muat Turun", + "rate": "Kadar" }, "docker": { "rx": "RX", "tx": "TX", "mem": "MEM", "cpu": "CPU", - "offline": "Offline" + "offline": "Luar talian" }, "changedetectionio": { - "totalObserved": "Total Observed", - "diffsDetected": "Diffs Detected" + "totalObserved": "Jumlah Diperhatikan", + "diffsDetected": "Perbezaan Dikesan" }, "emby": { - "playing": "Playing", - "transcoding": "Transcoding", - "bitrate": "Bitrate", - "no_active": "No Active Streams" + "playing": "Sedang dimainkan", + "transcoding": "Transkoding", + "bitrate": "Kadar bit", + "no_active": "Tiada Strim Aktif" }, "tautulli": { - "playing": "Playing", - "transcoding": "Transcoding", - "bitrate": "Bitrate", - "no_active": "No Active Streams" + "playing": "Sedang Dimainkan", + "transcoding": "Transkoding", + "bitrate": "Kadar bit", + "no_active": "Tiada Strim Aktif" }, "plex": { - "streams": "Active Streams", - "movies": "Movies", - "tv": "TV Shows" + "streams": "Strim Aktif", + "movies": "Filem", + "tv": "Rancangan TV" }, "sabnzbd": { - "rate": "Rate", - "queue": "Queue", - "timeleft": "Time Left" + "rate": "Kadar", + "queue": "Barisan", + "timeleft": "Masa Tinggal" }, "rutorrent": { - "active": "Active", - "upload": "Upload", - "download": "Download" + "active": "Aktif", + "upload": "Muat Naik", + "download": "Muat Turun" }, "transmission": { "leech": "Leech", - "download": "Download", - "upload": "Upload", + "download": "Muat Turun", + "upload": "Muat Naik", "seed": "Seed" }, "qbittorrent": { - "download": "Download", - "upload": "Upload", + "download": "Muat Turun", + "upload": "Muat Naik", "leech": "Leech", "seed": "Seed" }, "sonarr": { - "wanted": "Wanted", - "queued": "Queued", - "series": "Series" + "wanted": "Mahu", + "queued": "Dibaris Gilir", + "series": "Bersiri" }, "radarr": { - "wanted": "Wanted", - "missing": "Missing", - "queued": "Queued", - "movies": "Movies" + "wanted": "Mahu", + "missing": "Hilang", + "queued": "Dibaris Gilir", + "movies": "Filem" }, "bazarr": { - "missingEpisodes": "Missing Episodes", - "missingMovies": "Missing Movies" + "missingEpisodes": "Episod Yang Hilang", + "missingMovies": "Filem Yang Hilang" }, "ombi": { - "pending": "Pending", - "approved": "Approved", - "available": "Available" + "pending": "Tertunda", + "approved": "Lulus", + "available": "Sudah Ada" }, "overseerr": { - "pending": "Pending", - "approved": "Approved", - "available": "Available" + "pending": "Tertangguh", + "approved": "Lulus", + "available": "Sudah Ada" }, "pihole": { - "queries": "Queries", - "blocked": "Blocked", + "queries": "Permintaan", + "blocked": "Disekat", "gravity": "Gravity" }, "adguard": { - "queries": "Queries", - "blocked": "Blocked", - "filtered": "Filtered", - "latency": "Latency" + "queries": "Permintaan", + "blocked": "Disekat", + "filtered": "Ditapis", + "latency": "Kependaman" }, "speedtest": { - "upload": "Upload", - "download": "Download", + "upload": "Muat Naik", + "download": "Muat Turun", "ping": "Ping" }, "portainer": { - "running": "Running", - "stopped": "Stopped", - "total": "Total" + "running": "Sedang Berjalan", + "stopped": "Terhenti", + "total": "Jumlah" }, "traefik": { - "routers": "Routers", - "services": "Services", - "middleware": "Middleware" + "routers": "Router", + "services": "Servis", + "middleware": "Perisian Tengah" }, "npm": { - "enabled": "Enabled", - "disabled": "Disabled", - "total": "Total" + "enabled": "Didayakan", + "disabled": "Dinyahdayakan", + "total": "Jumlah" }, "prowlarr": { - "enableIndexers": "Indexers", - "numberOfGrabs": "Grabs", - "numberOfQueries": "Queries", - "numberOfFailGrabs": "Fail Grabs", - "numberOfFailQueries": "Fail Queries" + "enableIndexers": "Pengindeks", + "numberOfGrabs": "Capai", + "numberOfQueries": "Permintaan", + "numberOfFailGrabs": "Capai Yang Ggagal", + "numberOfFailQueries": "Permintaan Yang Gagal" }, "jackett": { - "configured": "Configured", - "errored": "Errored" + "configured": "Telah Dikonfigurasi", + "errored": "Telah Tersalah" }, "strelaysrv": { - "numActiveSessions": "Sessions", - "numConnections": "Connections", - "dataRelayed": "Relayed", - "transferRate": "Rate" + "numActiveSessions": "Sesi", + "numConnections": "Penyambungan", + "dataRelayed": "Disalurkan", + "transferRate": "Kadar" }, "mastodon": { - "user_count": "Users", - "status_count": "Posts", - "domain_count": "Domains" + "user_count": "Pengguna", + "status_count": "Pos", + "domain_count": "Domain" }, "authentik": { - "users": "Users", - "loginsLast24H": "Logins (24h)", - "failedLoginsLast24H": "Failed Logins (24h)" + "users": "Pengguna", + "loginsLast24H": "Logmasuk (24j)", + "failedLoginsLast24H": "Logmasuk Gagal (24j)" }, "homebridge": { "child_bridges_status": "{{ok}}/{{total}}", - "available_update": "System", - "updates": "Updates", - "update_available": "Update Available", - "up_to_date": "Up to Date", - "child_bridges": "Child Bridges" + "available_update": "Sistem", + "updates": "Kemaskini", + "update_available": "Kemaskini Tersedia", + "up_to_date": "Terkemaskini", + "child_bridges": "Jambatan Anak" }, "watchtower": { - "containers_scanned": "Scanned", - "containers_updated": "Updated", - "containers_failed": "Failed" + "containers_scanned": "Terimbas", + "containers_updated": "Dikemaskini", + "containers_failed": "Gagal" }, "autobrr": { - "approvedPushes": "Approved", - "rejectedPushes": "Rejected", - "filters": "Filters", - "indexers": "Indexers" + "approvedPushes": "Lulus", + "rejectedPushes": "Ditolak", + "filters": "Tapisan", + "indexers": "Pengindeks" }, "tubearchivist": { - "downloads": "Queue", - "videos": "Videos", - "channels": "Channels", - "playlists": "Playlists" + "downloads": "Baris Gilir", + "videos": "Video", + "channels": "Saluran", + "playlists": "Senarai Siar" }, "truenas": { - "load": "System Load", - "uptime": "Uptime", - "alerts": "Alerts", + "load": "Beban Sistem", + "uptime": "Masa Hidup", + "alerts": "Amaran", "time": "{{value, number(style: unit; unitDisplay: long;)}}" } } From 9440b0517604b81707ab5def44deefa645ccad49 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 7 Nov 2022 21:44:28 +0000 Subject: [PATCH 177/668] Translated using Weblate (German) Currently translated at 99.1% (225 of 227 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/de/ --- public/locales/de/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/de/common.json b/public/locales/de/common.json index f602c815..271d674c 100644 --- a/public/locales/de/common.json +++ b/public/locales/de/common.json @@ -304,5 +304,9 @@ "uptime": "Betriebszeit", "alerts": "Warnungen", "time": "{{value, number(style: unit; unitDisplay: long;)}}" + }, + "navidrome": { + "nothing_streaming": "No Active Streams", + "please_wait": "Please Wait" } } From d241dcb7811ba891267d2c02043eb4c5086f2afe Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 7 Nov 2022 21:44:29 +0000 Subject: [PATCH 178/668] Translated using Weblate (Spanish) Currently translated at 99.1% (225 of 227 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/ --- public/locales/es/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/es/common.json b/public/locales/es/common.json index 5de221ea..9b6d7710 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -304,5 +304,9 @@ "uptime": "Tiempo de la actividad", "alerts": "Alertas", "time": "{{value, number(style: unit; unitDisplay: long;)}}" + }, + "navidrome": { + "nothing_streaming": "No Active Streams", + "please_wait": "Please Wait" } } From 5af26dfb4e56652af200f0792a4ef61f64745cce Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 7 Nov 2022 21:44:29 +0000 Subject: [PATCH 179/668] Translated using Weblate (French) Currently translated at 99.1% (225 of 227 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/ --- public/locales/fr/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/fr/common.json b/public/locales/fr/common.json index 3e0ffccb..24a0d8f9 100644 --- a/public/locales/fr/common.json +++ b/public/locales/fr/common.json @@ -304,5 +304,9 @@ "uptime": "Démarré depuis", "alerts": "Alertes", "time": "{{value, number(style: unit; unitDisplay: long;)}}" + }, + "navidrome": { + "nothing_streaming": "No Active Streams", + "please_wait": "Please Wait" } } From 79cdf1a57dfe11fcda9e753c95227297e4f108ca Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 7 Nov 2022 21:44:29 +0000 Subject: [PATCH 180/668] Translated using Weblate (Portuguese) Currently translated at 50.6% (115 of 227 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt/ --- public/locales/pt/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/pt/common.json b/public/locales/pt/common.json index a802e1c0..a2c503a6 100644 --- a/public/locales/pt/common.json +++ b/public/locales/pt/common.json @@ -315,5 +315,9 @@ "uptime": "Uptime", "alerts": "Alerts", "time": "{{value, number(style: unit; unitDisplay: long;)}}" + }, + "navidrome": { + "nothing_streaming": "No Active Streams", + "please_wait": "Please Wait" } } From 796e1d18af7ba7de0c4c4c087515e8b66e75a2cd Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 7 Nov 2022 21:44:29 +0000 Subject: [PATCH 181/668] Translated using Weblate (Russian) Currently translated at 10.1% (23 of 227 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ru/ --- public/locales/ru/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/ru/common.json b/public/locales/ru/common.json index 13912bd5..ced355d7 100644 --- a/public/locales/ru/common.json +++ b/public/locales/ru/common.json @@ -304,5 +304,9 @@ "uptime": "Uptime", "alerts": "Alerts", "time": "{{value, number(style: unit; unitDisplay: long;)}}" + }, + "navidrome": { + "nothing_streaming": "No Active Streams", + "please_wait": "Please Wait" } } From ee23d7c860e5e0a4e4e4d661d0e1f9e2e374f8c9 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 7 Nov 2022 21:44:29 +0000 Subject: [PATCH 182/668] Translated using Weblate (Chinese (Simplified)) Currently translated at 71.8% (163 of 227 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hans/ --- public/locales/zh-CN/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/zh-CN/common.json b/public/locales/zh-CN/common.json index da9222e7..2de94d86 100644 --- a/public/locales/zh-CN/common.json +++ b/public/locales/zh-CN/common.json @@ -304,5 +304,9 @@ "uptime": "Uptime", "alerts": "警报", "time": "{{value, number(style: unit; unitDisplay: long;)}}" + }, + "navidrome": { + "nothing_streaming": "No Active Streams", + "please_wait": "Please Wait" } } From 341a5af28150d2cb82775785f9d8f11ef9bfb25c Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 7 Nov 2022 21:44:29 +0000 Subject: [PATCH 183/668] Translated using Weblate (Italian) Currently translated at 73.1% (166 of 227 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/it/ --- public/locales/it/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/it/common.json b/public/locales/it/common.json index 52306bac..d8fd9424 100644 --- a/public/locales/it/common.json +++ b/public/locales/it/common.json @@ -304,5 +304,9 @@ "uptime": "Uptime", "alerts": "Alerts", "time": "{{value, number(style: unit; unitDisplay: long;)}}" + }, + "navidrome": { + "nothing_streaming": "No Active Streams", + "please_wait": "Please Wait" } } From 3f86c720b1d4864c449a215c52c146cd61f8d1f5 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 7 Nov 2022 21:44:28 +0000 Subject: [PATCH 184/668] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegi?= =?UTF-8?q?an=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 34.8% (79 of 227 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nb_NO/ --- public/locales/nb-NO/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/nb-NO/common.json b/public/locales/nb-NO/common.json index 3b54e638..6e8555b6 100644 --- a/public/locales/nb-NO/common.json +++ b/public/locales/nb-NO/common.json @@ -304,5 +304,9 @@ "uptime": "Uptime", "alerts": "Alerts", "time": "{{value, number(style: unit; unitDisplay: long;)}}" + }, + "navidrome": { + "nothing_streaming": "No Active Streams", + "please_wait": "Please Wait" } } From 2591f9c8e83d7a4586b104f98982e00a6bb21b30 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 7 Nov 2022 21:44:29 +0000 Subject: [PATCH 185/668] Translated using Weblate (Vietnamese) Currently translated at 19.3% (44 of 227 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/vi/ --- public/locales/vi/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/vi/common.json b/public/locales/vi/common.json index 593b9c18..fbf8d653 100644 --- a/public/locales/vi/common.json +++ b/public/locales/vi/common.json @@ -304,5 +304,9 @@ "uptime": "Uptime", "alerts": "Alerts", "time": "{{value, number(style: unit; unitDisplay: long;)}}" + }, + "navidrome": { + "nothing_streaming": "No Active Streams", + "please_wait": "Please Wait" } } From 1f0a60c6de11b0c4a8ec40bebc52c9c1bb40fed3 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 7 Nov 2022 21:44:30 +0000 Subject: [PATCH 186/668] Translated using Weblate (Dutch) Currently translated at 27.7% (63 of 227 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nl/ --- public/locales/nl/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/nl/common.json b/public/locales/nl/common.json index bd53b72b..c323d413 100644 --- a/public/locales/nl/common.json +++ b/public/locales/nl/common.json @@ -304,5 +304,9 @@ "uptime": "Uptime", "alerts": "Alerts", "time": "{{value, number(style: unit; unitDisplay: long;)}}" + }, + "navidrome": { + "nothing_streaming": "No Active Streams", + "please_wait": "Please Wait" } } From c8753463aea0b2caab26748d9903040deb395290 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 7 Nov 2022 21:44:30 +0000 Subject: [PATCH 187/668] Translated using Weblate (Chinese (Traditional)) Currently translated at 3.9% (9 of 227 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hant/ --- public/locales/zh-Hant/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/zh-Hant/common.json b/public/locales/zh-Hant/common.json index 24b88590..e66c101f 100644 --- a/public/locales/zh-Hant/common.json +++ b/public/locales/zh-Hant/common.json @@ -304,5 +304,9 @@ "uptime": "Uptime", "alerts": "Alerts", "time": "{{value, number(style: unit; unitDisplay: long;)}}" + }, + "navidrome": { + "nothing_streaming": "No Active Streams", + "please_wait": "Please Wait" } } From 127416171af831bc130ae3dc4a280fff74d8c5b6 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 7 Nov 2022 21:44:27 +0000 Subject: [PATCH 188/668] Translated using Weblate (Catalan) Currently translated at 57.7% (131 of 227 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ca/ --- public/locales/ca/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/ca/common.json b/public/locales/ca/common.json index 16e210ec..3943cc21 100644 --- a/public/locales/ca/common.json +++ b/public/locales/ca/common.json @@ -304,5 +304,9 @@ "uptime": "Uptime", "alerts": "Alerts", "time": "{{value, number(style: unit; unitDisplay: long;)}}" + }, + "navidrome": { + "nothing_streaming": "No Active Streams", + "please_wait": "Please Wait" } } From 68e0bbbd0c7c2e74833036101b30e016cebeec81 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 7 Nov 2022 21:44:27 +0000 Subject: [PATCH 189/668] Translated using Weblate (Polish) Currently translated at 76.2% (173 of 227 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pl/ --- public/locales/pl/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/pl/common.json b/public/locales/pl/common.json index d29ba776..62509bc2 100644 --- a/public/locales/pl/common.json +++ b/public/locales/pl/common.json @@ -304,5 +304,9 @@ "uptime": "Uptime", "alerts": "Alerts", "time": "{{value, number(style: unit; unitDisplay: long;)}}" + }, + "navidrome": { + "please_wait": "Please Wait", + "nothing_streaming": "No Active Streams" } } From 8486f01c848ae32f5028d1e9cb0c3fb48064983f Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 7 Nov 2022 21:44:00 +0000 Subject: [PATCH 190/668] Translated using Weblate (Swedish) Currently translated at 57.2% (130 of 227 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sv/ --- public/locales/sv/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/sv/common.json b/public/locales/sv/common.json index 83bce269..844aa2f3 100644 --- a/public/locales/sv/common.json +++ b/public/locales/sv/common.json @@ -304,5 +304,9 @@ "uptime": "Uptime", "alerts": "Alerts", "time": "{{value, number(style: unit; unitDisplay: long;)}}" + }, + "navidrome": { + "nothing_streaming": "No Active Streams", + "please_wait": "Please Wait" } } From fa6dbca295bfa128f466486fa32f907cc2a4fe74 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 7 Nov 2022 21:44:25 +0000 Subject: [PATCH 191/668] Translated using Weblate (Croatian) Currently translated at 99.1% (225 of 227 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hr/ --- public/locales/hr/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/hr/common.json b/public/locales/hr/common.json index 3fd3efb6..a9284e96 100644 --- a/public/locales/hr/common.json +++ b/public/locales/hr/common.json @@ -304,5 +304,9 @@ "uptime": "Radno vrijeme", "alerts": "Upozorenja", "time": "{{value, number(style: unit; unitDisplay: long;)}}" + }, + "navidrome": { + "nothing_streaming": "No Active Streams", + "please_wait": "Please Wait" } } From 7056b05cbff0ebf03701666b6bd7ce2a5e2b2149 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 7 Nov 2022 21:44:27 +0000 Subject: [PATCH 192/668] Translated using Weblate (Hungarian) Currently translated at 47.5% (108 of 227 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hu/ --- public/locales/hu/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/hu/common.json b/public/locales/hu/common.json index 3af2cd6b..9f83fc90 100644 --- a/public/locales/hu/common.json +++ b/public/locales/hu/common.json @@ -304,5 +304,9 @@ "uptime": "Uptime", "alerts": "Alerts", "time": "{{value, number(style: unit; unitDisplay: long;)}}" + }, + "navidrome": { + "nothing_streaming": "No Active Streams", + "please_wait": "Please Wait" } } From 3c83b05d01c094430dad724d56488119babc5ab6 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 7 Nov 2022 21:44:26 +0000 Subject: [PATCH 193/668] Translated using Weblate (Hebrew) Currently translated at 44.4% (101 of 227 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/he/ --- public/locales/he/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/he/common.json b/public/locales/he/common.json index fe7fd3ae..fa0b523a 100644 --- a/public/locales/he/common.json +++ b/public/locales/he/common.json @@ -304,5 +304,9 @@ "uptime": "Uptime", "alerts": "Alerts", "time": "{{value, number(style: unit; unitDisplay: long;)}}" + }, + "navidrome": { + "nothing_streaming": "No Active Streams", + "please_wait": "Please Wait" } } From e2d97a84a3c5e261cf8c9fde87e50d342c3ab497 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 7 Nov 2022 21:44:26 +0000 Subject: [PATCH 194/668] Translated using Weblate (Romanian) Currently translated at 60.3% (137 of 227 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ro/ --- public/locales/ro/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/ro/common.json b/public/locales/ro/common.json index 3927aa00..0e425a8f 100644 --- a/public/locales/ro/common.json +++ b/public/locales/ro/common.json @@ -304,5 +304,9 @@ "uptime": "Uptime", "alerts": "Alerts", "time": "{{value, number(style: unit; unitDisplay: long;)}}" + }, + "navidrome": { + "nothing_streaming": "No Active Streams", + "please_wait": "Please Wait" } } From 65178f71c00b2ece264bf0d42b50c631506d642b Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 7 Nov 2022 21:44:26 +0000 Subject: [PATCH 195/668] Translated using Weblate (Portuguese (Brazil)) Currently translated at 50.6% (115 of 227 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt_BR/ --- public/locales/pt-BR/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/pt-BR/common.json b/public/locales/pt-BR/common.json index 899606f6..f41bbdf9 100644 --- a/public/locales/pt-BR/common.json +++ b/public/locales/pt-BR/common.json @@ -304,5 +304,9 @@ "uptime": "Uptime", "alerts": "Alerts", "time": "{{value, number(style: unit; unitDisplay: long;)}}" + }, + "navidrome": { + "nothing_streaming": "No Active Streams", + "please_wait": "Please Wait" } } From be1bedadbaaa6aa5385ca9de24f8d49b9bfc273e Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 7 Nov 2022 21:44:27 +0000 Subject: [PATCH 196/668] Translated using Weblate (Yue) Currently translated at 51.9% (118 of 227 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/yue/ --- public/locales/yue/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/yue/common.json b/public/locales/yue/common.json index b36caac6..288a794c 100644 --- a/public/locales/yue/common.json +++ b/public/locales/yue/common.json @@ -304,5 +304,9 @@ "uptime": "Uptime", "alerts": "Alerts", "time": "{{value, number(style: unit; unitDisplay: long;)}}" + }, + "navidrome": { + "nothing_streaming": "No Active Streams", + "please_wait": "Please Wait" } } From 733a42ad71334a67cdf85420f9d25ee6817bd4fe Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 7 Nov 2022 21:44:27 +0000 Subject: [PATCH 197/668] Translated using Weblate (Finnish) Currently translated at 54.1% (123 of 227 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fi/ --- public/locales/fi/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/fi/common.json b/public/locales/fi/common.json index 3e8c69bf..ca91e437 100644 --- a/public/locales/fi/common.json +++ b/public/locales/fi/common.json @@ -304,5 +304,9 @@ "uptime": "Uptime", "alerts": "Alerts", "time": "{{value, number(style: unit; unitDisplay: long;)}}" + }, + "navidrome": { + "nothing_streaming": "No Active Streams", + "please_wait": "Please Wait" } } From acc2da71688e639566077ac6947da46342abdbbf Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 7 Nov 2022 21:44:27 +0000 Subject: [PATCH 198/668] Translated using Weblate (Telugu) Currently translated at 95.5% (217 of 227 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/te/ --- public/locales/te/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/te/common.json b/public/locales/te/common.json index cbe1bce5..f2b3f3ed 100644 --- a/public/locales/te/common.json +++ b/public/locales/te/common.json @@ -304,5 +304,9 @@ "uptime": "Uptime", "alerts": "Alerts", "time": "{{value, number(style: unit; unitDisplay: long;)}}" + }, + "navidrome": { + "nothing_streaming": "No Active Streams", + "please_wait": "Please Wait" } } From 14dddfcd66660f752db13ce57c628f2b31a59944 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 7 Nov 2022 21:44:28 +0000 Subject: [PATCH 199/668] Translated using Weblate (Bulgarian) Currently translated at 20.2% (46 of 227 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/bg/ --- public/locales/bg/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/bg/common.json b/public/locales/bg/common.json index 98898d25..1f00a6de 100644 --- a/public/locales/bg/common.json +++ b/public/locales/bg/common.json @@ -304,5 +304,9 @@ "uptime": "Uptime", "alerts": "Alerts", "time": "{{value, number(style: unit; unitDisplay: long;)}}" + }, + "navidrome": { + "nothing_streaming": "No Active Streams", + "please_wait": "Please Wait" } } From 7721258e89294ff7178a52f8dffef4bad241d30f Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 7 Nov 2022 21:44:28 +0000 Subject: [PATCH 200/668] Translated using Weblate (Turkish) Currently translated at 64.3% (146 of 227 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/tr/ --- public/locales/tr/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/tr/common.json b/public/locales/tr/common.json index c145d4bf..32f4df11 100644 --- a/public/locales/tr/common.json +++ b/public/locales/tr/common.json @@ -304,5 +304,9 @@ "uptime": "Uptime", "alerts": "Alerts", "time": "{{value, number(style: unit; unitDisplay: long;)}}" + }, + "navidrome": { + "nothing_streaming": "No Active Streams", + "please_wait": "Please Wait" } } From 9f072581db09d57632da60231eb9e1658be0f93f Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 7 Nov 2022 21:44:26 +0000 Subject: [PATCH 201/668] Translated using Weblate (Serbian) Currently translated at 3.9% (9 of 227 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sr/ --- public/locales/sr/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/sr/common.json b/public/locales/sr/common.json index 5eab2193..fb72683c 100644 --- a/public/locales/sr/common.json +++ b/public/locales/sr/common.json @@ -304,5 +304,9 @@ "uptime": "Uptime", "alerts": "Alerts", "time": "{{value, number(style: unit; unitDisplay: long;)}}" + }, + "navidrome": { + "nothing_streaming": "No Active Streams", + "please_wait": "Please Wait" } } From bddb4ae73d4dd278b7e99fe965e8a5906b594a73 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 7 Nov 2022 21:44:28 +0000 Subject: [PATCH 202/668] Translated using Weblate (Arabic) Currently translated at 19.3% (44 of 227 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ar/ --- public/locales/ar/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/ar/common.json b/public/locales/ar/common.json index 3e40f83f..16c262a2 100644 --- a/public/locales/ar/common.json +++ b/public/locales/ar/common.json @@ -304,5 +304,9 @@ "uptime": "Uptime", "alerts": "Alerts", "time": "{{value, number(style: unit; unitDisplay: long;)}}" + }, + "navidrome": { + "nothing_streaming": "No Active Streams", + "please_wait": "Please Wait" } } From 0e1062335098c40cc9465c7e39c337c0b296e069 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 7 Nov 2022 21:44:28 +0000 Subject: [PATCH 203/668] Translated using Weblate (Czech) Currently translated at 99.1% (225 of 227 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/cs/ --- public/locales/cs/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/cs/common.json b/public/locales/cs/common.json index d51f3c64..3403c38a 100644 --- a/public/locales/cs/common.json +++ b/public/locales/cs/common.json @@ -304,5 +304,9 @@ "rejectedPushes": "Zamítnuto", "filters": "Filtry", "indexers": "Indexery" + }, + "navidrome": { + "nothing_streaming": "No Active Streams", + "please_wait": "Please Wait" } } From 0990e8d889fdf3e3dbd120e7edc3487304d3e0e4 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 7 Nov 2022 21:44:28 +0000 Subject: [PATCH 204/668] Translated using Weblate (Danish) Currently translated at 30.8% (70 of 227 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/da/ --- public/locales/da/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/da/common.json b/public/locales/da/common.json index 875e59bf..a129b964 100644 --- a/public/locales/da/common.json +++ b/public/locales/da/common.json @@ -304,5 +304,9 @@ "uptime": "Uptime", "alerts": "Alerts", "time": "{{value, number(style: unit; unitDisplay: long;)}}" + }, + "navidrome": { + "nothing_streaming": "No Active Streams", + "please_wait": "Please Wait" } } From 4a9a0346263d6bb19a7c18a9bc35027b26e0d869 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 7 Nov 2022 21:44:30 +0000 Subject: [PATCH 205/668] Translated using Weblate (Malay) Currently translated at 99.1% (225 of 227 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ms/ --- public/locales/ms/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/ms/common.json b/public/locales/ms/common.json index 9d8fd3cd..a701698c 100644 --- a/public/locales/ms/common.json +++ b/public/locales/ms/common.json @@ -304,5 +304,9 @@ "uptime": "Masa Hidup", "alerts": "Amaran", "time": "{{value, number(style: unit; unitDisplay: long;)}}" + }, + "navidrome": { + "nothing_streaming": "No Active Streams", + "please_wait": "Please Wait" } } From 2bcfc36bc2a3f0d1bd5c5ddea4db501a9f9be7bd Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Tue, 8 Nov 2022 10:33:11 -0800 Subject: [PATCH 206/668] use grid-cols instead of flex-basis for bookmarks Fixes #507 --- src/components/bookmarks/group.jsx | 2 +- src/pages/index.jsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/bookmarks/group.jsx b/src/components/bookmarks/group.jsx index 1eb86e1a..2910245c 100644 --- a/src/components/bookmarks/group.jsx +++ b/src/components/bookmarks/group.jsx @@ -3,7 +3,7 @@ import List from "components/bookmarks/list"; export default function BookmarksGroup({ group }) { return ( -
+

{group.name}

diff --git a/src/pages/index.jsx b/src/pages/index.jsx index 88c25cc4..d9e79786 100644 --- a/src/pages/index.jsx +++ b/src/pages/index.jsx @@ -272,7 +272,7 @@ function Home({ initialSettings }) { )} {bookmarks && ( -
+
{bookmarks.map((group) => ( ))} From 1fd9686e411b5365e5d252b0ea976fb43cb8d66f Mon Sep 17 00:00:00 2001 From: stuffinator Date: Tue, 8 Nov 2022 21:47:12 +0100 Subject: [PATCH 207/668] - fixed empty password not working - Airbnb style guide --- src/widgets/pyload/proxy.js | 46 ++++++++++++++++--------------------- 1 file changed, 20 insertions(+), 26 deletions(-) diff --git a/src/widgets/pyload/proxy.js b/src/widgets/pyload/proxy.js index d130bcfe..86989ad0 100644 --- a/src/widgets/pyload/proxy.js +++ b/src/widgets/pyload/proxy.js @@ -1,10 +1,10 @@ -import cache from "memory-cache"; +import cache from 'memory-cache'; -import getServiceWidget from "utils/config/service-helpers"; -import { formatApiCall } from "utils/proxy/api-helpers"; -import widgets from "widgets/widgets"; -import createLogger from "utils/logger"; -import { httpProxy } from "utils/proxy/http"; +import getServiceWidget from 'utils/config/service-helpers'; +import { formatApiCall } from 'utils/proxy/api-helpers'; +import widgets from 'widgets/widgets'; +import createLogger from 'utils/logger'; +import { httpProxy } from 'utils/proxy/http'; const proxyName = 'pyloadProxyHandler'; const logger = createLogger(proxyName); @@ -12,24 +12,23 @@ const sessionCacheKey = `${proxyName}__sessionId`; async function fetchFromPyloadAPI(url, sessionId, params) { const options = { - method: "POST", + body: params + ? Object.keys(params) + .map((prop) => `${prop}=${params[prop]}`) + .join('&') + : `session=${sessionId}`, + method: 'POST', headers: { - "Content-Type": "application/x-www-form-urlencoded", + 'Content-Type': 'application/x-www-form-urlencoded', }, }; - if (params) { - options.body = Object.keys(params).map(k => `${k}=${params[k]}`).join('&'); - } else { - options.body = `session=${sessionId}`; - } - // eslint-disable-next-line no-unused-vars const [status, contentType, data] = await httpProxy(url, options); return [status, JSON.parse(Buffer.from(data).toString())]; } -async function login(loginUrl, username, password) { +async function login(loginUrl, username, password = '') { const [status, sessionId] = await fetchFromPyloadAPI(loginUrl, null, { username, password }); if (status !== 200) { throw new Error(`HTTP error ${status} logging into Pyload API, returned: ${sessionId}`); @@ -45,26 +44,21 @@ export default async function pyloadProxyHandler(req, res) { try { if (group && service) { const widget = await getServiceWidget(group, service); - + if (widget) { const url = new URL(formatApiCall(widgets[widget.type].api, { endpoint, ...widget })); const loginUrl = `${widget.url}/api/login`; - - let sessionId = cache.get(sessionCacheKey); - if (!sessionId) { - sessionId = await login(loginUrl, widget.username, widget.password); - } - + let sessionId = cache.get(sessionCacheKey) ?? await login(loginUrl, widget.username, widget.password); let [status, data] = await fetchFromPyloadAPI(url, sessionId); if (status === 403) { - logger.debug("Failed to retrieve data from Pyload API, login and re-try"); + logger.debug('Failed to retrieve data from Pyload API, login and re-try'); cache.del(sessionCacheKey); sessionId = await login(loginUrl, widget.username, widget.password); [status, data] = await fetchFromPyloadAPI(url, sessionId); } - + if (data?.error || status !== 200) { return res.status(500).send(Buffer.from(data).toString()); } @@ -77,5 +71,5 @@ export default async function pyloadProxyHandler(req, res) { return res.status(500).send(e.toString()); } - return res.status(400).json({ error: "Invalid proxy service type" }); -} \ No newline at end of file + return res.status(400).json({ error: 'Invalid proxy service type' }); +} From 473efd2804bd4794a97c69e2132c37072c515749 Mon Sep 17 00:00:00 2001 From: gallegonovato Date: Tue, 8 Nov 2022 16:24:26 +0000 Subject: [PATCH 208/668] Translated using Weblate (Spanish) Currently translated at 100.0% (227 of 227 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/ --- public/locales/es/common.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/public/locales/es/common.json b/public/locales/es/common.json index 9b6d7710..9165854c 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -306,7 +306,7 @@ "time": "{{value, number(style: unit; unitDisplay: long;)}}" }, "navidrome": { - "nothing_streaming": "No Active Streams", - "please_wait": "Please Wait" + "nothing_streaming": "Sin transmisiones activas", + "please_wait": "Espere por favor" } } From d8891cd74854d939604cba7ece5a0a021dffb9f3 Mon Sep 17 00:00:00 2001 From: Nonoss117 Date: Tue, 8 Nov 2022 05:50:30 +0000 Subject: [PATCH 209/668] Translated using Weblate (French) Currently translated at 100.0% (227 of 227 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/ --- public/locales/fr/common.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/public/locales/fr/common.json b/public/locales/fr/common.json index 24a0d8f9..28a12da8 100644 --- a/public/locales/fr/common.json +++ b/public/locales/fr/common.json @@ -306,7 +306,7 @@ "time": "{{value, number(style: unit; unitDisplay: long;)}}" }, "navidrome": { - "nothing_streaming": "No Active Streams", - "please_wait": "Please Wait" + "nothing_streaming": "Aucun flux actif", + "please_wait": "Merci de patienter" } } From 88a5a0628026cff181bc9794ae248db213527666 Mon Sep 17 00:00:00 2001 From: Milo Ivir Date: Tue, 8 Nov 2022 12:15:25 +0000 Subject: [PATCH 210/668] Translated using Weblate (Croatian) Currently translated at 100.0% (227 of 227 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hr/ --- public/locales/hr/common.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/public/locales/hr/common.json b/public/locales/hr/common.json index a9284e96..9ba22bab 100644 --- a/public/locales/hr/common.json +++ b/public/locales/hr/common.json @@ -306,7 +306,7 @@ "time": "{{value, number(style: unit; unitDisplay: long;)}}" }, "navidrome": { - "nothing_streaming": "No Active Streams", - "please_wait": "Please Wait" + "nothing_streaming": "Nema aktivnih prijenosa", + "please_wait": "Pričekaj" } } From c19cb8fc8eacafd77dae079390eb51469d2e20cd Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 8 Nov 2022 21:25:03 +0000 Subject: [PATCH 211/668] Translated using Weblate (German) Currently translated at 97.4% (225 of 231 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/de/ --- public/locales/de/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/de/common.json b/public/locales/de/common.json index 271d674c..9135e64f 100644 --- a/public/locales/de/common.json +++ b/public/locales/de/common.json @@ -308,5 +308,11 @@ "navidrome": { "nothing_streaming": "No Active Streams", "please_wait": "Please Wait" + }, + "pyload": { + "speed": "Speed", + "active": "Active", + "queue": "Queue", + "total": "Total" } } From 68119ce160e92a096af04596ecaf45d1d94e05b2 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 8 Nov 2022 21:25:03 +0000 Subject: [PATCH 212/668] Translated using Weblate (Spanish) Currently translated at 98.2% (227 of 231 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/ --- public/locales/es/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/es/common.json b/public/locales/es/common.json index 9165854c..db9d5a3c 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -308,5 +308,11 @@ "navidrome": { "nothing_streaming": "Sin transmisiones activas", "please_wait": "Espere por favor" + }, + "pyload": { + "speed": "Speed", + "active": "Active", + "queue": "Queue", + "total": "Total" } } From 347d13e3ebf8850c0b4c94e084aa35e9f1267634 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 8 Nov 2022 21:25:04 +0000 Subject: [PATCH 213/668] Translated using Weblate (French) Currently translated at 98.2% (227 of 231 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/ --- public/locales/fr/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/fr/common.json b/public/locales/fr/common.json index 28a12da8..0c12d2ef 100644 --- a/public/locales/fr/common.json +++ b/public/locales/fr/common.json @@ -308,5 +308,11 @@ "navidrome": { "nothing_streaming": "Aucun flux actif", "please_wait": "Merci de patienter" + }, + "pyload": { + "speed": "Speed", + "active": "Active", + "queue": "Queue", + "total": "Total" } } From e3e690038530de00943c107823e7b2b9f8ce0338 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 8 Nov 2022 21:25:04 +0000 Subject: [PATCH 214/668] Translated using Weblate (Portuguese) Currently translated at 49.7% (115 of 231 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt/ --- public/locales/pt/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/pt/common.json b/public/locales/pt/common.json index a2c503a6..8e5d160c 100644 --- a/public/locales/pt/common.json +++ b/public/locales/pt/common.json @@ -319,5 +319,11 @@ "navidrome": { "nothing_streaming": "No Active Streams", "please_wait": "Please Wait" + }, + "pyload": { + "queue": "Queue", + "total": "Total", + "speed": "Speed", + "active": "Active" } } From 41a7de73c06d9e46ea716399d318233e626c49e1 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 8 Nov 2022 21:25:04 +0000 Subject: [PATCH 215/668] Translated using Weblate (Russian) Currently translated at 9.9% (23 of 231 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ru/ --- public/locales/ru/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/ru/common.json b/public/locales/ru/common.json index ced355d7..7d91a34a 100644 --- a/public/locales/ru/common.json +++ b/public/locales/ru/common.json @@ -308,5 +308,11 @@ "navidrome": { "nothing_streaming": "No Active Streams", "please_wait": "Please Wait" + }, + "pyload": { + "speed": "Speed", + "active": "Active", + "queue": "Queue", + "total": "Total" } } From 4be7d211bf0978b521bdbfa3d433ed0d69d50514 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 8 Nov 2022 21:25:04 +0000 Subject: [PATCH 216/668] Translated using Weblate (Chinese (Simplified)) Currently translated at 70.5% (163 of 231 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hans/ --- public/locales/zh-CN/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/zh-CN/common.json b/public/locales/zh-CN/common.json index 2de94d86..f177d366 100644 --- a/public/locales/zh-CN/common.json +++ b/public/locales/zh-CN/common.json @@ -308,5 +308,11 @@ "navidrome": { "nothing_streaming": "No Active Streams", "please_wait": "Please Wait" + }, + "pyload": { + "speed": "Speed", + "active": "Active", + "queue": "Queue", + "total": "Total" } } From 1715903ce326243f39bfc1c218c93ce6680a1a8a Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 8 Nov 2022 21:25:04 +0000 Subject: [PATCH 217/668] Translated using Weblate (Italian) Currently translated at 71.8% (166 of 231 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/it/ --- public/locales/it/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/it/common.json b/public/locales/it/common.json index d8fd9424..5a57382f 100644 --- a/public/locales/it/common.json +++ b/public/locales/it/common.json @@ -308,5 +308,11 @@ "navidrome": { "nothing_streaming": "No Active Streams", "please_wait": "Please Wait" + }, + "pyload": { + "speed": "Speed", + "active": "Active", + "queue": "Queue", + "total": "Total" } } From 1a4322d47431136a9430cfacf05000d439f8ecf0 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 8 Nov 2022 21:25:03 +0000 Subject: [PATCH 218/668] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegi?= =?UTF-8?q?an=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 34.1% (79 of 231 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nb_NO/ --- public/locales/nb-NO/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/nb-NO/common.json b/public/locales/nb-NO/common.json index 6e8555b6..85c895f2 100644 --- a/public/locales/nb-NO/common.json +++ b/public/locales/nb-NO/common.json @@ -308,5 +308,11 @@ "navidrome": { "nothing_streaming": "No Active Streams", "please_wait": "Please Wait" + }, + "pyload": { + "speed": "Speed", + "active": "Active", + "queue": "Queue", + "total": "Total" } } From f1f9b10470780845ca36e291764ca72c34f6435f Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 8 Nov 2022 21:25:05 +0000 Subject: [PATCH 219/668] Translated using Weblate (Vietnamese) Currently translated at 19.0% (44 of 231 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/vi/ --- public/locales/vi/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/vi/common.json b/public/locales/vi/common.json index fbf8d653..299cd1df 100644 --- a/public/locales/vi/common.json +++ b/public/locales/vi/common.json @@ -308,5 +308,11 @@ "navidrome": { "nothing_streaming": "No Active Streams", "please_wait": "Please Wait" + }, + "pyload": { + "speed": "Speed", + "active": "Active", + "queue": "Queue", + "total": "Total" } } From bd409b8d2853c75cdb3437bb337a7f812a18a1c8 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 8 Nov 2022 21:25:05 +0000 Subject: [PATCH 220/668] Translated using Weblate (Dutch) Currently translated at 27.2% (63 of 231 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nl/ --- public/locales/nl/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/nl/common.json b/public/locales/nl/common.json index c323d413..d51e5430 100644 --- a/public/locales/nl/common.json +++ b/public/locales/nl/common.json @@ -308,5 +308,11 @@ "navidrome": { "nothing_streaming": "No Active Streams", "please_wait": "Please Wait" + }, + "pyload": { + "speed": "Speed", + "active": "Active", + "total": "Total", + "queue": "Queue" } } From 5cf1258cb814cef7793cba3d2f49b027ed741534 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 8 Nov 2022 21:25:05 +0000 Subject: [PATCH 221/668] Translated using Weblate (Chinese (Traditional)) Currently translated at 3.8% (9 of 231 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hant/ --- public/locales/zh-Hant/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/zh-Hant/common.json b/public/locales/zh-Hant/common.json index e66c101f..3b83eef9 100644 --- a/public/locales/zh-Hant/common.json +++ b/public/locales/zh-Hant/common.json @@ -308,5 +308,11 @@ "navidrome": { "nothing_streaming": "No Active Streams", "please_wait": "Please Wait" + }, + "pyload": { + "speed": "Speed", + "active": "Active", + "queue": "Queue", + "total": "Total" } } From 510c57c815335777c30cb513d0f397face4f2378 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 8 Nov 2022 21:25:01 +0000 Subject: [PATCH 222/668] Translated using Weblate (Catalan) Currently translated at 56.7% (131 of 231 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ca/ --- public/locales/ca/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/ca/common.json b/public/locales/ca/common.json index 3943cc21..c62351f3 100644 --- a/public/locales/ca/common.json +++ b/public/locales/ca/common.json @@ -308,5 +308,11 @@ "navidrome": { "nothing_streaming": "No Active Streams", "please_wait": "Please Wait" + }, + "pyload": { + "speed": "Speed", + "active": "Active", + "queue": "Queue", + "total": "Total" } } From 88d223bd39aa69c63130921fe5508d0c7c010322 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 8 Nov 2022 21:25:01 +0000 Subject: [PATCH 223/668] Translated using Weblate (Polish) Currently translated at 74.8% (173 of 231 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pl/ --- public/locales/pl/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/pl/common.json b/public/locales/pl/common.json index 62509bc2..da520fd7 100644 --- a/public/locales/pl/common.json +++ b/public/locales/pl/common.json @@ -308,5 +308,11 @@ "navidrome": { "please_wait": "Please Wait", "nothing_streaming": "No Active Streams" + }, + "pyload": { + "speed": "Speed", + "active": "Active", + "queue": "Queue", + "total": "Total" } } From 8f119ed6f25fb030ac9cd04117277c8622090c27 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 8 Nov 2022 21:24:58 +0000 Subject: [PATCH 224/668] Translated using Weblate (Swedish) Currently translated at 56.2% (130 of 231 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sv/ --- public/locales/sv/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/sv/common.json b/public/locales/sv/common.json index 844aa2f3..5056f0cb 100644 --- a/public/locales/sv/common.json +++ b/public/locales/sv/common.json @@ -308,5 +308,11 @@ "navidrome": { "nothing_streaming": "No Active Streams", "please_wait": "Please Wait" + }, + "pyload": { + "speed": "Speed", + "active": "Active", + "queue": "Queue", + "total": "Total" } } From dddd785731a3d5c4b636e86313c90de447dca2a1 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 8 Nov 2022 21:24:58 +0000 Subject: [PATCH 225/668] Translated using Weblate (Croatian) Currently translated at 98.2% (227 of 231 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hr/ --- public/locales/hr/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/hr/common.json b/public/locales/hr/common.json index 9ba22bab..8c9634cf 100644 --- a/public/locales/hr/common.json +++ b/public/locales/hr/common.json @@ -308,5 +308,11 @@ "navidrome": { "nothing_streaming": "Nema aktivnih prijenosa", "please_wait": "Pričekaj" + }, + "pyload": { + "speed": "Speed", + "active": "Active", + "queue": "Queue", + "total": "Total" } } From 24898f1f438e2f8914d32bfd021f2174ee789fb2 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 8 Nov 2022 21:25:01 +0000 Subject: [PATCH 226/668] Translated using Weblate (Hungarian) Currently translated at 46.7% (108 of 231 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hu/ --- public/locales/hu/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/hu/common.json b/public/locales/hu/common.json index 9f83fc90..70a73764 100644 --- a/public/locales/hu/common.json +++ b/public/locales/hu/common.json @@ -308,5 +308,11 @@ "navidrome": { "nothing_streaming": "No Active Streams", "please_wait": "Please Wait" + }, + "pyload": { + "speed": "Speed", + "active": "Active", + "queue": "Queue", + "total": "Total" } } From 99972940e456427c178d82468286925532936c63 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 8 Nov 2022 21:24:58 +0000 Subject: [PATCH 227/668] Translated using Weblate (Hebrew) Currently translated at 43.7% (101 of 231 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/he/ --- public/locales/he/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/he/common.json b/public/locales/he/common.json index fa0b523a..4f83714a 100644 --- a/public/locales/he/common.json +++ b/public/locales/he/common.json @@ -308,5 +308,11 @@ "navidrome": { "nothing_streaming": "No Active Streams", "please_wait": "Please Wait" + }, + "pyload": { + "speed": "Speed", + "active": "Active", + "queue": "Queue", + "total": "Total" } } From 265828f4e8eb41ffb9a49876e8e62ae250e028d5 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 8 Nov 2022 21:24:59 +0000 Subject: [PATCH 228/668] Translated using Weblate (Romanian) Currently translated at 59.3% (137 of 231 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ro/ --- public/locales/ro/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/ro/common.json b/public/locales/ro/common.json index 0e425a8f..d0bb85b0 100644 --- a/public/locales/ro/common.json +++ b/public/locales/ro/common.json @@ -308,5 +308,11 @@ "navidrome": { "nothing_streaming": "No Active Streams", "please_wait": "Please Wait" + }, + "pyload": { + "speed": "Speed", + "active": "Active", + "queue": "Queue", + "total": "Total" } } From 4ad237ab60ff6d37af19dfa3b326cdb500b20885 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 8 Nov 2022 21:24:58 +0000 Subject: [PATCH 229/668] Translated using Weblate (Portuguese (Brazil)) Currently translated at 49.7% (115 of 231 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt_BR/ --- public/locales/pt-BR/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/pt-BR/common.json b/public/locales/pt-BR/common.json index f41bbdf9..610703b2 100644 --- a/public/locales/pt-BR/common.json +++ b/public/locales/pt-BR/common.json @@ -308,5 +308,11 @@ "navidrome": { "nothing_streaming": "No Active Streams", "please_wait": "Please Wait" + }, + "pyload": { + "speed": "Speed", + "active": "Active", + "queue": "Queue", + "total": "Total" } } From 9e2060d7e8b6b23bb1cdb1aaf76a044f01259c94 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 8 Nov 2022 21:25:00 +0000 Subject: [PATCH 230/668] Translated using Weblate (Yue) Currently translated at 51.0% (118 of 231 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/yue/ --- public/locales/yue/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/yue/common.json b/public/locales/yue/common.json index 288a794c..7c25ef52 100644 --- a/public/locales/yue/common.json +++ b/public/locales/yue/common.json @@ -308,5 +308,11 @@ "navidrome": { "nothing_streaming": "No Active Streams", "please_wait": "Please Wait" + }, + "pyload": { + "speed": "Speed", + "active": "Active", + "queue": "Queue", + "total": "Total" } } From f3f54fd69d040cef13d1e7c70ed0898f52c70649 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 8 Nov 2022 21:25:02 +0000 Subject: [PATCH 231/668] Translated using Weblate (Finnish) Currently translated at 53.2% (123 of 231 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fi/ --- public/locales/fi/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/fi/common.json b/public/locales/fi/common.json index ca91e437..bae6266a 100644 --- a/public/locales/fi/common.json +++ b/public/locales/fi/common.json @@ -308,5 +308,11 @@ "navidrome": { "nothing_streaming": "No Active Streams", "please_wait": "Please Wait" + }, + "pyload": { + "speed": "Speed", + "active": "Active", + "queue": "Queue", + "total": "Total" } } From 35b16dc81f06a97eaa72384d6449ffae143b4b1b Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 8 Nov 2022 21:25:01 +0000 Subject: [PATCH 232/668] Translated using Weblate (Telugu) Currently translated at 93.9% (217 of 231 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/te/ --- public/locales/te/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/te/common.json b/public/locales/te/common.json index f2b3f3ed..c22aadd9 100644 --- a/public/locales/te/common.json +++ b/public/locales/te/common.json @@ -308,5 +308,11 @@ "navidrome": { "nothing_streaming": "No Active Streams", "please_wait": "Please Wait" + }, + "pyload": { + "speed": "Speed", + "active": "Active", + "queue": "Queue", + "total": "Total" } } From b92eccc431c60631f5187d9df801e9ed793269c4 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 8 Nov 2022 21:25:02 +0000 Subject: [PATCH 233/668] Translated using Weblate (Bulgarian) Currently translated at 19.9% (46 of 231 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/bg/ --- public/locales/bg/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/bg/common.json b/public/locales/bg/common.json index 1f00a6de..2e9a65e2 100644 --- a/public/locales/bg/common.json +++ b/public/locales/bg/common.json @@ -308,5 +308,11 @@ "navidrome": { "nothing_streaming": "No Active Streams", "please_wait": "Please Wait" + }, + "pyload": { + "speed": "Speed", + "active": "Active", + "queue": "Queue", + "total": "Total" } } From 4b436cb491db2cf75f253dbefd9f0798fcbc121c Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 8 Nov 2022 21:25:02 +0000 Subject: [PATCH 234/668] Translated using Weblate (Turkish) Currently translated at 63.2% (146 of 231 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/tr/ --- public/locales/tr/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/tr/common.json b/public/locales/tr/common.json index 32f4df11..0153ec95 100644 --- a/public/locales/tr/common.json +++ b/public/locales/tr/common.json @@ -308,5 +308,11 @@ "navidrome": { "nothing_streaming": "No Active Streams", "please_wait": "Please Wait" + }, + "pyload": { + "speed": "Speed", + "active": "Active", + "queue": "Queue", + "total": "Total" } } From f2040f539c4a613880a021540f025de1a7054b25 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 8 Nov 2022 21:24:59 +0000 Subject: [PATCH 235/668] Translated using Weblate (Serbian) Currently translated at 3.8% (9 of 231 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sr/ --- public/locales/sr/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/sr/common.json b/public/locales/sr/common.json index fb72683c..0805c1ab 100644 --- a/public/locales/sr/common.json +++ b/public/locales/sr/common.json @@ -308,5 +308,11 @@ "navidrome": { "nothing_streaming": "No Active Streams", "please_wait": "Please Wait" + }, + "pyload": { + "speed": "Speed", + "active": "Active", + "queue": "Queue", + "total": "Total" } } From 4fa170219b4260d270eac498553767b213d48361 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 8 Nov 2022 21:25:02 +0000 Subject: [PATCH 236/668] Translated using Weblate (Arabic) Currently translated at 19.0% (44 of 231 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ar/ --- public/locales/ar/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/ar/common.json b/public/locales/ar/common.json index 16c262a2..d6c91938 100644 --- a/public/locales/ar/common.json +++ b/public/locales/ar/common.json @@ -308,5 +308,11 @@ "navidrome": { "nothing_streaming": "No Active Streams", "please_wait": "Please Wait" + }, + "pyload": { + "speed": "Speed", + "active": "Active", + "queue": "Queue", + "total": "Total" } } From 739336fc2d9faffbb060cf0bc6c86790a071221b Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 8 Nov 2022 21:25:03 +0000 Subject: [PATCH 237/668] Translated using Weblate (Czech) Currently translated at 97.4% (225 of 231 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/cs/ --- public/locales/cs/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/cs/common.json b/public/locales/cs/common.json index 3403c38a..20966b0c 100644 --- a/public/locales/cs/common.json +++ b/public/locales/cs/common.json @@ -308,5 +308,11 @@ "navidrome": { "nothing_streaming": "No Active Streams", "please_wait": "Please Wait" + }, + "pyload": { + "speed": "Speed", + "active": "Active", + "queue": "Queue", + "total": "Total" } } From 847991c3c7696dfd5444803db5af7acc51700daf Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 8 Nov 2022 21:25:02 +0000 Subject: [PATCH 238/668] Translated using Weblate (Danish) Currently translated at 30.3% (70 of 231 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/da/ --- public/locales/da/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/da/common.json b/public/locales/da/common.json index a129b964..de6ef70d 100644 --- a/public/locales/da/common.json +++ b/public/locales/da/common.json @@ -308,5 +308,11 @@ "navidrome": { "nothing_streaming": "No Active Streams", "please_wait": "Please Wait" + }, + "pyload": { + "speed": "Speed", + "active": "Active", + "queue": "Queue", + "total": "Total" } } From f48ff3cd613d6bddd4da828c5bf1759f2b6ddc85 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 8 Nov 2022 21:25:05 +0000 Subject: [PATCH 239/668] Translated using Weblate (Malay) Currently translated at 97.4% (225 of 231 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ms/ --- public/locales/ms/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/ms/common.json b/public/locales/ms/common.json index a701698c..1989c225 100644 --- a/public/locales/ms/common.json +++ b/public/locales/ms/common.json @@ -308,5 +308,11 @@ "navidrome": { "nothing_streaming": "No Active Streams", "please_wait": "Please Wait" + }, + "pyload": { + "speed": "Speed", + "active": "Active", + "queue": "Queue", + "total": "Total" } } From a5eceaa9f45c3ae81e743ceb26cebd6136f0aa13 Mon Sep 17 00:00:00 2001 From: eymankun Date: Wed, 9 Nov 2022 14:27:01 +0800 Subject: [PATCH 240/668] adding malay into translations list --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f5633642..3dd0e794 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ - Images built for AMD64 (x86_64), ARM64, ARMv7 and ARMv6 - Supports all Raspberry Pi's, most SBCs & Apple Silicon - Full i18n support with automatic language detection - - Translations for Catalan, Chinese, Dutch, Finnish, French, German, Hebrew, Hungarian, Norwegian Bokmål, Polish, Portuguese, Portuguese (Brazil), Romanian, Russian, Spanish, Swedish and Yue + - Translations for Catalan, Chinese, Dutch, Finnish, French, German, Hebrew, Hungarian, Malay, Norwegian Bokmål, Polish, Portuguese, Portuguese (Brazil), Romanian, Russian, Spanish, Swedish and Yue - Want to help translate? [Join the Weblate project](https://hosted.weblate.org/engage/homepage/) - Service & Web Bookmarks - Docker Integration From 280bd0e621d245927280939934c4c051a4ee4f30 Mon Sep 17 00:00:00 2001 From: Jason Date: Wed, 9 Nov 2022 15:21:29 +0800 Subject: [PATCH 241/668] Fix: openweathermap day/night icon issue The day/night icon does not display properly in openwathermap widget due to the typo (sundown -> sunset) in parsing data from openweathermap api. The icon should be displayed properly after the fix. --- src/components/widgets/openweathermap/weather.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/widgets/openweathermap/weather.jsx b/src/components/widgets/openweathermap/weather.jsx index 6a1f2a16..49f428a0 100644 --- a/src/components/widgets/openweathermap/weather.jsx +++ b/src/components/widgets/openweathermap/weather.jsx @@ -54,7 +54,7 @@ function Widget({ options }) {
data.sys.sunrise && data.dt < data.sys.sundown ? "day" : "night"} + timeOfDay={data.dt > data.sys.sunrise && data.dt < data.sys.sunset ? "day" : "night"} />
From 9060d3436cc9cc5a8aefaa9baee4e973258df701 Mon Sep 17 00:00:00 2001 From: Niklas Date: Wed, 9 Nov 2022 17:04:48 +0100 Subject: [PATCH 242/668] Add gluetun widget --- public/locales/en/common.json | 5 +++++ src/widgets/components.js | 1 + src/widgets/gluetun/component.jsx | 35 +++++++++++++++++++++++++++++++ src/widgets/gluetun/widget.js | 14 +++++++++++++ src/widgets/widgets.js | 2 ++ 5 files changed, 57 insertions(+) create mode 100644 src/widgets/gluetun/component.jsx create mode 100644 src/widgets/gluetun/widget.js diff --git a/public/locales/en/common.json b/public/locales/en/common.json index 46a69588..cc946e78 100644 --- a/public/locales/en/common.json +++ b/public/locales/en/common.json @@ -325,5 +325,10 @@ "active": "Active", "queue": "Queue", "total": "Total" + }, + "gluetun": { + "public_ip": "Public IP", + "region": "Region", + "country": "Country" } } diff --git a/src/widgets/components.js b/src/widgets/components.js index f501e012..a8a06e77 100644 --- a/src/widgets/components.js +++ b/src/widgets/components.js @@ -9,6 +9,7 @@ const components = { coinmarketcap: dynamic(() => import("./coinmarketcap/component")), docker: dynamic(() => import("./docker/component")), emby: dynamic(() => import("./emby/component")), + gluetun: dynamic(() => import("./gluetun/component")), gotify: dynamic(() => import("./gotify/component")), homebridge: dynamic(() => import("./homebridge/component")), jackett: dynamic(() => import("./jackett/component")), diff --git a/src/widgets/gluetun/component.jsx b/src/widgets/gluetun/component.jsx new file mode 100644 index 00000000..f20c400b --- /dev/null +++ b/src/widgets/gluetun/component.jsx @@ -0,0 +1,35 @@ +import { useTranslation } from "next-i18next"; + +import Container from "components/services/widget/container"; +import Block from "components/services/widget/block"; +import useWidgetAPI from "utils/proxy/use-widget-api"; + +export default function Component({ service }) { + const { t } = useTranslation(); + + const { widget } = service; + + const { data: gluetunData, error: gluetunError } = useWidgetAPI(widget, "ip"); + + if (gluetunError) { + return ; + } + + if (!gluetunData) { + return ( + + + + + + ); + } + + return ( + + + + + + ); +} diff --git a/src/widgets/gluetun/widget.js b/src/widgets/gluetun/widget.js new file mode 100644 index 00000000..59aa39ef --- /dev/null +++ b/src/widgets/gluetun/widget.js @@ -0,0 +1,14 @@ +import genericProxyHandler from "utils/proxy/handlers/generic"; + +const widget = { + api: "{url}/v1/{endpoint}", + proxyHandler: genericProxyHandler, + + mappings: { + ip: { + endpoint: "publicip/ip", + }, + }, +}; + +export default widget; diff --git a/src/widgets/widgets.js b/src/widgets/widgets.js index fd67357d..66e29086 100644 --- a/src/widgets/widgets.js +++ b/src/widgets/widgets.js @@ -5,6 +5,7 @@ import bazarr from "./bazarr/widget"; import changedetectionio from "./changedetectionio/widget"; import coinmarketcap from "./coinmarketcap/widget"; import emby from "./emby/widget"; +import gluetun from "./gluetun/widget"; import gotify from "./gotify/widget"; import homebridge from "./homebridge/widget"; import jackett from "./jackett/widget"; @@ -46,6 +47,7 @@ const widgets = { changedetectionio, coinmarketcap, emby, + gluetun, gotify, homebridge, jackett, From f11173bcaf03dc7de2eb2cf286f7db5bb3c8e880 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Wed, 9 Nov 2022 21:07:51 -0800 Subject: [PATCH 243/668] Fix text centering in block labels on small screens Closes #516 --- src/components/services/widget/block.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/services/widget/block.jsx b/src/components/services/widget/block.jsx index 00a50772..2af53fff 100644 --- a/src/components/services/widget/block.jsx +++ b/src/components/services/widget/block.jsx @@ -7,7 +7,7 @@ export default function Block({ value, label }) { return (
From d4cf27db70fc4a71d04464f5bb782fb27e71bbfa Mon Sep 17 00:00:00 2001 From: Nonoss117 Date: Wed, 9 Nov 2022 05:53:43 +0000 Subject: [PATCH 244/668] Translated using Weblate (French) Currently translated at 100.0% (231 of 231 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/ --- public/locales/fr/common.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/public/locales/fr/common.json b/public/locales/fr/common.json index 0c12d2ef..a9d761b9 100644 --- a/public/locales/fr/common.json +++ b/public/locales/fr/common.json @@ -310,8 +310,8 @@ "please_wait": "Merci de patienter" }, "pyload": { - "speed": "Speed", - "active": "Active", + "speed": "Débit", + "active": "Actif", "queue": "Queue", "total": "Total" } From eff2f1a99eb9cc71a4f936fae3bf3d1c4f48996c Mon Sep 17 00:00:00 2001 From: Aiman Jalil Date: Wed, 9 Nov 2022 04:38:18 +0000 Subject: [PATCH 245/668] Translated using Weblate (Malay) Currently translated at 100.0% (231 of 231 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ms/ --- public/locales/ms/common.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/public/locales/ms/common.json b/public/locales/ms/common.json index 1989c225..bc930db8 100644 --- a/public/locales/ms/common.json +++ b/public/locales/ms/common.json @@ -306,13 +306,13 @@ "time": "{{value, number(style: unit; unitDisplay: long;)}}" }, "navidrome": { - "nothing_streaming": "No Active Streams", - "please_wait": "Please Wait" + "nothing_streaming": "Tiada Strim Aktif", + "please_wait": "Sila tunggu" }, "pyload": { - "speed": "Speed", - "active": "Active", - "queue": "Queue", - "total": "Total" + "speed": "Kelajuan", + "active": "Aktif", + "queue": "Baris Gilir", + "total": "Jumlah" } } From 3c0b18570e3737549d96b1fe04cded54fc97f7af Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Thu, 10 Nov 2022 13:16:10 -0800 Subject: [PATCH 246/668] pyload widget compatibility with pyload-ng Closes https://github.com/benphelps/homepage/issues/517 --- src/widgets/pyload/proxy.js | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/src/widgets/pyload/proxy.js b/src/widgets/pyload/proxy.js index 86989ad0..80c83586 100644 --- a/src/widgets/pyload/proxy.js +++ b/src/widgets/pyload/proxy.js @@ -9,6 +9,7 @@ import { httpProxy } from 'utils/proxy/http'; const proxyName = 'pyloadProxyHandler'; const logger = createLogger(proxyName); const sessionCacheKey = `${proxyName}__sessionId`; +const isNgCacheKey = `${proxyName}__isNg`; async function fetchFromPyloadAPI(url, sessionId, params) { const options = { @@ -23,17 +24,32 @@ async function fetchFromPyloadAPI(url, sessionId, params) { }, }; + // see https://github.com/benphelps/homepage/issues/517 + const isNg = cache.get(isNgCacheKey); + if (isNg && !params) { + delete options.body; + options.headers.Cookie = cache.get(sessionCacheKey); + } + // eslint-disable-next-line no-unused-vars - const [status, contentType, data] = await httpProxy(url, options); - return [status, JSON.parse(Buffer.from(data).toString())]; + const [status, contentType, data, responseHeaders] = await httpProxy(url, options); + return [status, JSON.parse(Buffer.from(data).toString()), responseHeaders]; } async function login(loginUrl, username, password = '') { - const [status, sessionId] = await fetchFromPyloadAPI(loginUrl, null, { username, password }); + const [status, sessionId, responseHeaders] = await fetchFromPyloadAPI(loginUrl, null, { username, password }); if (status !== 200) { throw new Error(`HTTP error ${status} logging into Pyload API, returned: ${sessionId}`); } else { - cache.put(sessionCacheKey, sessionId); + // Support pyload-ng, see https://github.com/benphelps/homepage/issues/517 + if (responseHeaders['set-cookie']?.join().includes('pyload_session')) { + cache.put(isNgCacheKey, true); + const sessionCookie = responseHeaders['set-cookie'][0]; + cache.put(sessionCacheKey, sessionCookie); + } else { + cache.put(sessionCacheKey, sessionId); + } + return sessionId; } } From c117f18d208e352774baa2677afc5d6d95b360cb Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Fri, 11 Nov 2022 12:39:54 -0800 Subject: [PATCH 247/668] Improve error handling with pyload-ng API --- src/widgets/pyload/proxy.js | 43 +++++++++++++++++++++++-------------- 1 file changed, 27 insertions(+), 16 deletions(-) diff --git a/src/widgets/pyload/proxy.js b/src/widgets/pyload/proxy.js index 80c83586..46b28684 100644 --- a/src/widgets/pyload/proxy.js +++ b/src/widgets/pyload/proxy.js @@ -33,25 +33,32 @@ async function fetchFromPyloadAPI(url, sessionId, params) { // eslint-disable-next-line no-unused-vars const [status, contentType, data, responseHeaders] = await httpProxy(url, options); - return [status, JSON.parse(Buffer.from(data).toString()), responseHeaders]; + let returnData; + try { + returnData = JSON.parse(Buffer.from(data).toString()); + } catch(e) { + logger.error(`Error logging into pyload API: ${JSON.stringify(data)}`); + returnData = data; + } + return [status, returnData, responseHeaders]; } async function login(loginUrl, username, password = '') { const [status, sessionId, responseHeaders] = await fetchFromPyloadAPI(loginUrl, null, { username, password }); - if (status !== 200) { - throw new Error(`HTTP error ${status} logging into Pyload API, returned: ${sessionId}`); - } else { + + // this API actually returns status 200 even on login failure + if (status !== 200 || sessionId === false) { + logger.error(`HTTP ${status} logging into Pyload API, returned: ${JSON.stringify(sessionId)}`); + } else if (responseHeaders['set-cookie']?.join().includes('pyload_session')) { // Support pyload-ng, see https://github.com/benphelps/homepage/issues/517 - if (responseHeaders['set-cookie']?.join().includes('pyload_session')) { - cache.put(isNgCacheKey, true); - const sessionCookie = responseHeaders['set-cookie'][0]; - cache.put(sessionCacheKey, sessionCookie); - } else { - cache.put(sessionCacheKey, sessionId); - } - - return sessionId; + cache.put(isNgCacheKey, true); + const sessionCookie = responseHeaders['set-cookie'][0]; + cache.put(sessionCacheKey, sessionCookie, 60 * 60 * 23 * 1000); // cache for 23h + } else { + cache.put(sessionCacheKey, sessionId); } + + return sessionId; } export default async function pyloadProxyHandler(req, res) { @@ -68,15 +75,19 @@ export default async function pyloadProxyHandler(req, res) { let sessionId = cache.get(sessionCacheKey) ?? await login(loginUrl, widget.username, widget.password); let [status, data] = await fetchFromPyloadAPI(url, sessionId); - if (status === 403) { - logger.debug('Failed to retrieve data from Pyload API, login and re-try'); + if (status === 403 || status === 401) { + logger.info('Failed to retrieve data from Pyload API, trying to login again...'); cache.del(sessionCacheKey); sessionId = await login(loginUrl, widget.username, widget.password); [status, data] = await fetchFromPyloadAPI(url, sessionId); } if (data?.error || status !== 200) { - return res.status(500).send(Buffer.from(data).toString()); + try { + return res.status(status).send(Buffer.from(data).toString()); + } catch (e) { + return res.status(status).send(data); + } } return res.json(data); From 9fd4063025217e8dd283539458d75832d8f86b10 Mon Sep 17 00:00:00 2001 From: gallegonovato Date: Thu, 10 Nov 2022 14:56:21 +0000 Subject: [PATCH 248/668] Translated using Weblate (Spanish) Currently translated at 100.0% (231 of 231 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/ --- public/locales/es/common.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/public/locales/es/common.json b/public/locales/es/common.json index db9d5a3c..f85d4b6c 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -310,9 +310,9 @@ "please_wait": "Espere por favor" }, "pyload": { - "speed": "Speed", - "active": "Active", - "queue": "Queue", + "speed": "Velocidad", + "active": "Activo", + "queue": "Cola", "total": "Total" } } From 6871f3288543391072d532230b64a2e4b5820169 Mon Sep 17 00:00:00 2001 From: nicedc Date: Fri, 11 Nov 2022 10:03:42 +0000 Subject: [PATCH 249/668] Translated using Weblate (Chinese (Simplified)) Currently translated at 71.4% (165 of 231 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hans/ --- public/locales/zh-CN/common.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/public/locales/zh-CN/common.json b/public/locales/zh-CN/common.json index f177d366..810b9f10 100644 --- a/public/locales/zh-CN/common.json +++ b/public/locales/zh-CN/common.json @@ -306,8 +306,8 @@ "time": "{{value, number(style: unit; unitDisplay: long;)}}" }, "navidrome": { - "nothing_streaming": "No Active Streams", - "please_wait": "Please Wait" + "nothing_streaming": "暂无播放", + "please_wait": "请等待" }, "pyload": { "speed": "Speed", From 2a500bd6fc17335adf98539df608ef5dd3184fea Mon Sep 17 00:00:00 2001 From: Milo Ivir Date: Fri, 11 Nov 2022 18:11:00 +0000 Subject: [PATCH 250/668] Translated using Weblate (Croatian) Currently translated at 98.7% (228 of 231 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hr/ --- public/locales/hr/common.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/public/locales/hr/common.json b/public/locales/hr/common.json index 8c9634cf..0bb24296 100644 --- a/public/locales/hr/common.json +++ b/public/locales/hr/common.json @@ -310,9 +310,9 @@ "please_wait": "Pričekaj" }, "pyload": { - "speed": "Speed", - "active": "Active", - "queue": "Queue", - "total": "Total" + "speed": "Brzina", + "active": "Aktivno", + "queue": "Red čekanja", + "total": "Ukupno" } } From cd092ce60bb18bebcaa8b5b2421be928e056896d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Y=C4=B1ld=C4=B1r=C4=B1m=20Manisal=C4=B1?= Date: Fri, 11 Nov 2022 14:58:05 +0000 Subject: [PATCH 251/668] Translated using Weblate (Turkish) Currently translated at 100.0% (231 of 231 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/tr/ --- public/locales/tr/common.json | 166 +++++++++++++++++----------------- 1 file changed, 83 insertions(+), 83 deletions(-) diff --git a/public/locales/tr/common.json b/public/locales/tr/common.json index 0153ec95..da103966 100644 --- a/public/locales/tr/common.json +++ b/public/locales/tr/common.json @@ -213,106 +213,106 @@ "diffsDetected": "Farklar Algılandı" }, "wmo": { - "99-day": "Thunderstorm With Hail", - "0-day": "Sunny", - "0-night": "Clear", - "1-day": "Mainly Sunny", - "1-night": "Mainly Clear", - "2-day": "Partly Cloudy", - "2-night": "Partly Cloudy", - "3-day": "Cloudy", - "3-night": "Cloudy", - "45-day": "Foggy", - "45-night": "Foggy", - "48-day": "Foggy", - "48-night": "Foggy", - "51-day": "Light Drizzle", - "51-night": "Light Drizzle", - "53-day": "Drizzle", - "53-night": "Drizzle", - "55-day": "Heavy Drizzle", - "55-night": "Heavy Drizzle", - "56-day": "Light Freezing Drizzle", - "56-night": "Light Freezing Drizzle", - "57-day": "Freezing Drizzle", - "57-night": "Freezing Drizzle", - "61-day": "Light Rain", - "61-night": "Light Rain", - "63-day": "Rain", - "63-night": "Rain", - "65-day": "Heavy Rain", - "65-night": "Heavy Rain", - "66-day": "Freezing Rain", - "66-night": "Freezing Rain", - "67-day": "Freezing Rain", - "67-night": "Freezing Rain", - "71-day": "Light Snow", - "71-night": "Light Snow", - "73-day": "Snow", - "73-night": "Snow", - "75-day": "Heavy Snow", - "75-night": "Heavy Snow", - "77-day": "Snow Grains", - "77-night": "Snow Grains", - "80-day": "Light Showers", - "80-night": "Light Showers", - "81-day": "Showers", - "81-night": "Showers", - "82-day": "Heavy Showers", - "95-night": "Thunderstorm", - "82-night": "Heavy Showers", - "85-day": "Snow Showers", - "85-night": "Snow Showers", - "86-day": "Snow Showers", - "86-night": "Snow Showers", - "95-day": "Thunderstorm", - "96-day": "Thunderstorm With Hail", - "96-night": "Thunderstorm With Hail", - "99-night": "Thunderstorm With Hail" + "99-day": "Dolu İle Gök Gürültülü Fırtına", + "0-day": "Güneşli", + "0-night": "Açık", + "1-day": "Çoğunlukla Güneşli", + "1-night": "Çoğunlukla Açık", + "2-day": "Parçalı Bulutlu", + "2-night": "Parçalı Bulutlu", + "3-day": "Bulutlu", + "3-night": "Bulutlu", + "45-day": "Sisli", + "45-night": "Sisli", + "48-day": "Sisli", + "48-night": "Sisli", + "51-day": "Az Çiseleyen Yağmur", + "51-night": "Az Çiseleyen Yağmur", + "53-day": "Çiseleyen Yağmur", + "53-night": "Çiseleyen Yağmur", + "55-day": "Çok Çiseleyen Yağmur", + "55-night": "Çok Çiseleyen Yağmur", + "56-day": "Soğuk Az Çiseleyen Yağmur", + "56-night": "Soğuk Az Çiseleyen Yağmur", + "57-day": "Soğuk Çiseleyen Yağmur", + "57-night": "Soğuk Çiseleyen Yağmur", + "61-day": "Hafif Yağmur", + "61-night": "Hafif Yağmur", + "63-day": "Yağmur", + "63-night": "Yağmur", + "65-day": "Çok Yağmur", + "65-night": "Çok Yağmur", + "66-day": "Dondurucu Yağmur", + "66-night": "Dondurucu Yağmur", + "67-day": "Dondurucu Yağmur", + "67-night": "Dondurucu Yağmur", + "71-day": "Hafif Kar", + "71-night": "Hafif Kar", + "73-day": "Kar", + "73-night": "Kar", + "75-day": "Çok Kar", + "75-night": "Çok Kar", + "77-day": "Kar Taneleri", + "77-night": "Kar Taneleri", + "80-day": "Hafif Sağanak", + "80-night": "Hafif Sağanak", + "81-day": "Sağanak", + "81-night": "Sağanak", + "82-day": "Yoğun Sağanak", + "95-night": "Gök Gürültülü Fırtına", + "82-night": "Yoğun Sağanak", + "85-day": "Karlı Sağanak", + "85-night": "Karlı Sağanak", + "86-day": "Karlı Sağanak", + "86-night": "Karlı Sağanak", + "95-day": "Gök Gürültülü Fırtına", + "96-day": "Dolu İle Gök Gürültülü Fırtına", + "96-night": "Dolu İle Gök Gürültülü Fırtına", + "99-night": "Dolu İle Gök Gürültülü Fırtına" }, "quicklaunch": { - "bookmark": "Bookmark", - "service": "Service" + "bookmark": "Yer İmi", + "service": "Hizmet" }, "homebridge": { - "available_update": "System", - "updates": "Updates", - "update_available": "Update Available", - "up_to_date": "Up to Date", - "child_bridges": "Child Bridges", + "available_update": "Sistem", + "updates": "Güncellemeler", + "update_available": "Güncelleme Kullanılabilir", + "up_to_date": "Güncel", + "child_bridges": "Alt Köprüler", "child_bridges_status": "{{ok}}/{{total}}" }, "autobrr": { - "approvedPushes": "Approved", - "rejectedPushes": "Rejected", - "filters": "Filters", - "indexers": "Indexers" + "approvedPushes": "Onaylandı", + "rejectedPushes": "Reddedildi", + "filters": "Süzgeçler", + "indexers": "Dizin Oluşturucular" }, "watchtower": { - "containers_scanned": "Scanned", - "containers_updated": "Updated", - "containers_failed": "Failed" + "containers_scanned": "Tarandı", + "containers_updated": "Güncellendi", + "containers_failed": "Başarısız" }, "tubearchivist": { - "downloads": "Queue", - "videos": "Videos", - "channels": "Channels", - "playlists": "Playlists" + "downloads": "Kuyruk", + "videos": "Videolar", + "channels": "Kanallar", + "playlists": "Oynatma Listeleri" }, "truenas": { - "load": "System Load", - "uptime": "Uptime", - "alerts": "Alerts", + "load": "Sistem Yükü", + "uptime": "Çalışma Süresi", + "alerts": "Alarmlar", "time": "{{value, number(style: unit; unitDisplay: long;)}}" }, "navidrome": { - "nothing_streaming": "No Active Streams", - "please_wait": "Please Wait" + "nothing_streaming": "Geçerli Akış Yok", + "please_wait": "Lütfen Bekleyin" }, "pyload": { - "speed": "Speed", - "active": "Active", - "queue": "Queue", - "total": "Total" + "speed": "Hız", + "active": "Geçerli", + "queue": "Kuyruk", + "total": "Toplam" } } From 8a47deadfec0d3cf29c94aeec56adfff38d38ae9 Mon Sep 17 00:00:00 2001 From: Locify1 Date: Sat, 12 Nov 2022 17:48:24 +0100 Subject: [PATCH 252/668] Added translation using Weblate (Hindi) --- public/locales/hi/common.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 public/locales/hi/common.json diff --git a/public/locales/hi/common.json b/public/locales/hi/common.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/public/locales/hi/common.json @@ -0,0 +1 @@ +{} From 1cf5e3976760e28528b456feb84d9a560f310514 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 12 Nov 2022 16:48:26 +0000 Subject: [PATCH 253/668] Translated using Weblate (Hindi) Currently translated at 100.0% (0 of 0 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hi/ --- public/locales/hi/common.json | 319 +++++++++++++++++++++++++++++++++- 1 file changed, 318 insertions(+), 1 deletion(-) diff --git a/public/locales/hi/common.json b/public/locales/hi/common.json index 0967ef42..5e765797 100644 --- a/public/locales/hi/common.json +++ b/public/locales/hi/common.json @@ -1 +1,318 @@ -{} +{ + "widget": { + "missing_type": "Missing Widget Type: {{type}}", + "api_error": "API Error", + "status": "Status" + }, + "weather": { + "current": "Current Location", + "allow": "Click to allow", + "updating": "Updating", + "wait": "Please wait" + }, + "readarr": { + "queued": "Queued", + "books": "Books", + "wanted": "Wanted" + }, + "bazarr": { + "missingEpisodes": "Missing Episodes", + "missingMovies": "Missing Movies" + }, + "ombi": { + "pending": "Pending", + "approved": "Approved", + "available": "Available" + }, + "jellyseerr": { + "pending": "Pending", + "approved": "Approved", + "available": "Available" + }, + "traefik": { + "services": "Services", + "middleware": "Middleware", + "routers": "Routers" + }, + "mastodon": { + "domain_count": "Domains", + "user_count": "Users", + "status_count": "Posts" + }, + "authentik": { + "users": "Users", + "loginsLast24H": "Logins (24h)", + "failedLoginsLast24H": "Failed Logins (24h)" + }, + "search": { + "placeholder": "Search…" + }, + "resources": { + "cpu": "CPU", + "total": "Total", + "free": "Free", + "used": "Used", + "load": "Load" + }, + "unifi": { + "users": "Users", + "uptime": "System Uptime", + "days": "Days", + "wan": "WAN", + "lan": "LAN", + "wlan": "WLAN", + "devices": "Devices", + "lan_devices": "LAN Devices", + "wlan_devices": "WLAN Devices", + "lan_users": "LAN Users", + "wlan_users": "WLAN Users", + "up": "UP", + "down": "DOWN", + "wait": "Please wait" + }, + "docker": { + "rx": "RX", + "tx": "TX", + "mem": "MEM", + "cpu": "CPU", + "offline": "Offline" + }, + "emby": { + "playing": "Playing", + "transcoding": "Transcoding", + "bitrate": "Bitrate", + "no_active": "No Active Streams" + }, + "changedetectionio": { + "totalObserved": "Total Observed", + "diffsDetected": "Diffs Detected" + }, + "tautulli": { + "playing": "Playing", + "transcoding": "Transcoding", + "bitrate": "Bitrate", + "no_active": "No Active Streams" + }, + "nzbget": { + "rate": "Rate", + "remaining": "Remaining", + "downloaded": "Downloaded" + }, + "plex": { + "streams": "Active Streams", + "movies": "Movies", + "tv": "TV Shows" + }, + "sabnzbd": { + "rate": "Rate", + "queue": "Queue", + "timeleft": "Time Left" + }, + "rutorrent": { + "active": "Active", + "upload": "Upload", + "download": "Download" + }, + "transmission": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" + }, + "qbittorrent": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" + }, + "sonarr": { + "wanted": "Wanted", + "queued": "Queued", + "series": "Series" + }, + "radarr": { + "wanted": "Wanted", + "missing": "Missing", + "queued": "Queued", + "movies": "Movies" + }, + "lidarr": { + "wanted": "Wanted", + "queued": "Queued", + "albums": "Albums" + }, + "overseerr": { + "pending": "Pending", + "approved": "Approved", + "available": "Available" + }, + "pihole": { + "queries": "Queries", + "blocked": "Blocked", + "gravity": "Gravity" + }, + "adguard": { + "queries": "Queries", + "blocked": "Blocked", + "filtered": "Filtered", + "latency": "Latency" + }, + "speedtest": { + "upload": "Upload", + "download": "Download", + "ping": "Ping" + }, + "portainer": { + "running": "Running", + "stopped": "Stopped", + "total": "Total" + }, + "navidrome": { + "nothing_streaming": "No Active Streams", + "please_wait": "Please Wait" + }, + "npm": { + "enabled": "Enabled", + "disabled": "Disabled", + "total": "Total" + }, + "coinmarketcap": { + "configure": "Configure one or more crypto currencies to track", + "1hour": "1 Hour", + "1day": "1 Day", + "7days": "7 Days", + "30days": "30 Days" + }, + "gotify": { + "apps": "Applications", + "clients": "Clients", + "messages": "Messages" + }, + "prowlarr": { + "enableIndexers": "Indexers", + "numberOfGrabs": "Grabs", + "numberOfQueries": "Queries", + "numberOfFailGrabs": "Fail Grabs", + "numberOfFailQueries": "Fail Queries" + }, + "jackett": { + "configured": "Configured", + "errored": "Errored" + }, + "strelaysrv": { + "numActiveSessions": "Sessions", + "numConnections": "Connections", + "dataRelayed": "Relayed", + "transferRate": "Rate" + }, + "proxmox": { + "mem": "MEM", + "cpu": "CPU", + "lxc": "LXC", + "vms": "VMs" + }, + "glances": { + "cpu": "CPU", + "mem": "MEM", + "wait": "Please wait" + }, + "quicklaunch": { + "bookmark": "Bookmark", + "service": "Service" + }, + "wmo": { + "0-day": "Sunny", + "0-night": "Clear", + "1-day": "Mainly Sunny", + "1-night": "Mainly Clear", + "2-day": "Partly Cloudy", + "2-night": "Partly Cloudy", + "3-day": "Cloudy", + "3-night": "Cloudy", + "45-day": "Foggy", + "45-night": "Foggy", + "48-day": "Foggy", + "48-night": "Foggy", + "51-day": "Light Drizzle", + "51-night": "Light Drizzle", + "53-day": "Drizzle", + "53-night": "Drizzle", + "55-day": "Heavy Drizzle", + "55-night": "Heavy Drizzle", + "56-day": "Light Freezing Drizzle", + "56-night": "Light Freezing Drizzle", + "57-day": "Freezing Drizzle", + "57-night": "Freezing Drizzle", + "61-day": "Light Rain", + "61-night": "Light Rain", + "63-day": "Rain", + "63-night": "Rain", + "65-day": "Heavy Rain", + "65-night": "Heavy Rain", + "66-day": "Freezing Rain", + "66-night": "Freezing Rain", + "67-day": "Freezing Rain", + "67-night": "Freezing Rain", + "71-day": "Light Snow", + "71-night": "Light Snow", + "73-day": "Snow", + "73-night": "Snow", + "75-day": "Heavy Snow", + "75-night": "Heavy Snow", + "77-day": "Snow Grains", + "77-night": "Snow Grains", + "80-day": "Light Showers", + "80-night": "Light Showers", + "81-day": "Showers", + "81-night": "Showers", + "82-day": "Heavy Showers", + "82-night": "Heavy Showers", + "85-day": "Snow Showers", + "85-night": "Snow Showers", + "86-day": "Snow Showers", + "86-night": "Snow Showers", + "95-day": "Thunderstorm", + "95-night": "Thunderstorm", + "96-day": "Thunderstorm With Hail", + "96-night": "Thunderstorm With Hail", + "99-day": "Thunderstorm With Hail", + "99-night": "Thunderstorm With Hail" + }, + "homebridge": { + "available_update": "System", + "updates": "Updates", + "update_available": "Update Available", + "up_to_date": "Up to Date", + "child_bridges": "Child Bridges", + "child_bridges_status": "{{ok}}/{{total}}" + }, + "watchtower": { + "containers_scanned": "Scanned", + "containers_updated": "Updated", + "containers_failed": "Failed" + }, + "autobrr": { + "approvedPushes": "Approved", + "rejectedPushes": "Rejected", + "filters": "Filters", + "indexers": "Indexers" + }, + "tubearchivist": { + "downloads": "Queue", + "videos": "Videos", + "channels": "Channels", + "playlists": "Playlists" + }, + "truenas": { + "load": "System Load", + "uptime": "Uptime", + "time": "{{value, number(style: unit; unitDisplay: long;)}}", + "alerts": "Alerts" + }, + "pyload": { + "speed": "Speed", + "active": "Active", + "queue": "Queue", + "total": "Total" + } +} From 0a286ac66ac560bee69681d3f448060464f4f378 Mon Sep 17 00:00:00 2001 From: Bruno Rossetto Date: Mon, 14 Nov 2022 13:09:06 +0000 Subject: [PATCH 254/668] Translated using Weblate (Portuguese (Brazil)) Currently translated at 50.6% (117 of 231 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt_BR/ --- public/locales/pt-BR/common.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/public/locales/pt-BR/common.json b/public/locales/pt-BR/common.json index 610703b2..e2651ea8 100644 --- a/public/locales/pt-BR/common.json +++ b/public/locales/pt-BR/common.json @@ -209,8 +209,8 @@ "wait": "Please wait" }, "changedetectionio": { - "totalObserved": "Total Observed", - "diffsDetected": "Diffs Detected" + "totalObserved": "Observados", + "diffsDetected": "Mudanças" }, "wmo": { "1-night": "Mainly Clear", From 1a9708d45ca9c0c7837d3aa3e86f3461d0ed50c6 Mon Sep 17 00:00:00 2001 From: "Peter Selch Carlsen (SheepyDK)" Date: Sun, 13 Nov 2022 18:44:13 +0000 Subject: [PATCH 255/668] Translated using Weblate (Danish) Currently translated at 85.7% (198 of 231 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/da/ --- public/locales/da/common.json | 230 +++++++++++++++++----------------- 1 file changed, 115 insertions(+), 115 deletions(-) diff --git a/public/locales/da/common.json b/public/locales/da/common.json index de6ef70d..02e14a18 100644 --- a/public/locales/da/common.json +++ b/public/locales/da/common.json @@ -1,7 +1,7 @@ { "plex": { "movies": "Film", - "tv": "TV Shows", + "tv": "TV-Shows", "streams": "Aktive Streams" }, "radarr": { @@ -26,9 +26,9 @@ "available": "Tilgængelig" }, "adguard": { - "queries": "Queries", - "blocked": "Blocked", - "filtered": "Filtered", + "queries": "Forespørgsler", + "blocked": "Blokerede", + "filtered": "Filtreret", "latency": "Latency" }, "speedtest": { @@ -38,100 +38,100 @@ }, "npm": { "total": "Total", - "enabled": "Enabled", - "disabled": "Disabled" + "enabled": "Aktiveret", + "disabled": "Deaktiveret" }, "coinmarketcap": { - "30days": "30 Days", - "1day": "1 Day", - "configure": "Configure one or more crypto currencies to track", - "7days": "7 Days", - "1hour": "1 Hour" + "30days": "30 Dage", + "1day": "1 Dag", + "configure": "Konfigurer en eller flere crypto valutaer til tracking", + "7days": "7 Dage", + "1hour": "1 time" }, "strelaysrv": { - "numActiveSessions": "Sessions", - "dataRelayed": "Relayed", - "numConnections": "Connections", + "numActiveSessions": "Sessioner", + "dataRelayed": "Videresendt", + "numConnections": "Forbindelser", "transferRate": "Rate" }, "mastodon": { - "domain_count": "Domains", - "status_count": "Posts", - "user_count": "Users" + "domain_count": "Domæner", + "status_count": "Indlæg", + "user_count": "Brugere" }, "authentik": { - "users": "Users", - "loginsLast24H": "Logins (24h)", - "failedLoginsLast24H": "Failed Logins (24h)" + "users": "Brugere", + "loginsLast24H": "Login (24 timer)", + "failedLoginsLast24H": "Mislykkede logins (24 timer)" }, "glances": { "cpu": "CPU", - "mem": "MEM", - "wait": "Please wait" + "mem": "RAM", + "wait": "Vent venligst" }, "wmo": { - "1-day": "Mainly Sunny", - "48-day": "Foggy", - "48-night": "Foggy", - "51-day": "Light Drizzle", - "51-night": "Light Drizzle", - "66-night": "Freezing Rain", - "67-day": "Freezing Rain", - "67-night": "Freezing Rain", - "71-day": "Light Snow", - "75-night": "Heavy Snow", - "86-day": "Snow Showers", - "86-night": "Snow Showers", - "95-day": "Thunderstorm", - "99-day": "Thunderstorm With Hail", - "99-night": "Thunderstorm With Hail", - "0-day": "Sunny", - "0-night": "Clear", - "1-night": "Mainly Clear", - "2-day": "Partly Cloudy", - "2-night": "Partly Cloudy", - "3-day": "Cloudy", - "3-night": "Cloudy", - "45-day": "Foggy", - "65-day": "Heavy Rain", - "65-night": "Heavy Rain", - "45-night": "Foggy", - "53-day": "Drizzle", - "53-night": "Drizzle", - "55-day": "Heavy Drizzle", - "55-night": "Heavy Drizzle", - "56-day": "Light Freezing Drizzle", - "56-night": "Light Freezing Drizzle", - "57-day": "Freezing Drizzle", - "57-night": "Freezing Drizzle", - "61-day": "Light Rain", - "61-night": "Light Rain", - "63-day": "Rain", - "63-night": "Rain", - "66-day": "Freezing Rain", - "71-night": "Light Snow", - "73-day": "Snow", - "73-night": "Snow", - "75-day": "Heavy Snow", - "77-day": "Snow Grains", - "80-day": "Light Showers", - "80-night": "Light Showers", - "81-day": "Showers", - "77-night": "Snow Grains", - "81-night": "Showers", - "82-day": "Heavy Showers", - "82-night": "Heavy Showers", - "85-day": "Snow Showers", - "85-night": "Snow Showers", - "95-night": "Thunderstorm", - "96-day": "Thunderstorm With Hail", - "96-night": "Thunderstorm With Hail" + "1-day": "Hovedsageligt solrigt", + "48-day": "Tåget", + "48-night": "Tåget", + "51-day": "Let støvregn", + "51-night": "Let støvregn", + "66-night": "Frysende regn", + "67-day": "Frysende regn", + "67-night": "Frysende regn", + "71-day": "Let Sne", + "75-night": "Kraftig Sne", + "86-day": "Snebyger", + "86-night": "Snebyger", + "95-day": "Tordenvejr", + "99-day": "Tordenvejr med hagl", + "99-night": "Tordenvejr med hagl", + "0-day": "Solrig", + "0-night": "Klart", + "1-night": "Hovedsageligt klart", + "2-day": "Delvist skyet", + "2-night": "Delvist skyet", + "3-day": "Skyet", + "3-night": "Skyet", + "45-day": "Tåget", + "65-day": "Kraftig regn", + "65-night": "Kraftig regn", + "45-night": "Tåget", + "53-day": "Støvregn", + "53-night": "Støvregn", + "55-day": "Kraftig støvregn", + "55-night": "Kraftig støvregn", + "56-day": "Let frysende støvregn", + "56-night": "Let frysende støvregn", + "57-day": "Frysende støvregn", + "57-night": "Frysende støvregn", + "61-day": "Let Regn", + "61-night": "Let Regn", + "63-day": "Regn", + "63-night": "Regn", + "66-day": "Frysende regn", + "71-night": "Let Sne", + "73-day": "Sne", + "73-night": "Sne", + "75-day": "Kraftig Sne", + "77-day": "Snekorn", + "80-day": "Lette byger", + "80-night": "Lette byger", + "81-day": "Byger", + "77-night": "Snekorn", + "81-night": "Byger", + "82-day": "Kraftige Byger", + "82-night": "Kraftige Byger", + "85-day": "Snebyger", + "85-night": "Snebyger", + "95-night": "Tordenvejr", + "96-day": "Tordenvejr med hagl", + "96-night": "Tordenvejr med hagl" }, "homebridge": { "available_update": "System", - "updates": "Updates", - "update_available": "Update Available", - "up_to_date": "Up to Date", + "updates": "Opdateringer", + "update_available": "Opdateringer tilgængelige", + "up_to_date": "Opdateret", "child_bridges": "Child Bridges", "child_bridges_status": "{{ok}}/{{total}}" }, @@ -162,13 +162,13 @@ "days": "Dage", "wan": "WAN", "lan": "LAN", - "wlan": "WLAN", + "wlan": "Wifi", "devices": "Enheder", "lan_devices": "LAN Enheder", "wlan_devices": "WLAN Enheder", "lan_users": "LAN Brugere", "wlan_users": "WLAN Brugere", - "up": "UP", + "up": "Oppe", "down": "NED", "wait": "Vent venligst" }, @@ -247,72 +247,72 @@ "queries": "Forespørgsler" }, "portainer": { - "running": "Running", - "stopped": "Stopped", + "running": "Kørende", + "stopped": "Stoppede", "total": "Total" }, "traefik": { - "routers": "Routers", + "routers": "Routere", "services": "Services", "middleware": "Middleware" }, "gotify": { - "apps": "Applications", - "clients": "Clients", - "messages": "Messages" + "apps": "Applikationer", + "clients": "Klienter", + "messages": "Beskeder" }, "prowlarr": { - "enableIndexers": "Indexers", + "enableIndexers": "Indeksører", "numberOfGrabs": "Grabs", - "numberOfQueries": "Queries", + "numberOfQueries": "Forespørgsler", "numberOfFailGrabs": "Fail Grabs", - "numberOfFailQueries": "Fail Queries" + "numberOfFailQueries": "Fejl forespørgsler" }, "jackett": { - "configured": "Configured", - "errored": "Errored" + "configured": "Konfigureret", + "errored": "Fejlede" }, "proxmox": { - "mem": "MEM", + "mem": "RAM", "cpu": "CPU", "lxc": "LXC", "vms": "VMs" }, "quicklaunch": { - "bookmark": "Bookmark", + "bookmark": "Bogmærker", "service": "Service" }, "watchtower": { - "containers_scanned": "Scanned", - "containers_updated": "Updated", - "containers_failed": "Failed" + "containers_scanned": "Scannet", + "containers_updated": "Opdateret", + "containers_failed": "Fejlet" }, "autobrr": { - "indexers": "Indexers", - "approvedPushes": "Approved", - "rejectedPushes": "Rejected", - "filters": "Filters" + "indexers": "Indeksører", + "approvedPushes": "Godkendte", + "rejectedPushes": "Afviste", + "filters": "Filtre" }, "tubearchivist": { - "downloads": "Queue", - "videos": "Videos", - "channels": "Channels", - "playlists": "Playlists" + "downloads": "Kø", + "videos": "Videoer", + "channels": "Kanaler", + "playlists": "Afspilningslister" }, "truenas": { - "load": "System Load", - "uptime": "Uptime", - "alerts": "Alerts", + "load": "Systembelastning", + "uptime": "Oppetid", + "alerts": "Advarsler", "time": "{{value, number(style: unit; unitDisplay: long;)}}" }, "navidrome": { - "nothing_streaming": "No Active Streams", - "please_wait": "Please Wait" + "nothing_streaming": "Ingen Aktive Streams", + "please_wait": "Vent venligst" }, "pyload": { - "speed": "Speed", - "active": "Active", - "queue": "Queue", + "speed": "Hastighed", + "active": "Aktive", + "queue": "Kø", "total": "Total" } } From 5f0cac020ceb2f59b42324662ca67902980bb398 Mon Sep 17 00:00:00 2001 From: gallegonovato Date: Tue, 15 Nov 2022 13:03:50 +0000 Subject: [PATCH 256/668] Translated using Weblate (Spanish) Currently translated at 100.0% (231 of 231 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/ --- public/locales/es/common.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/locales/es/common.json b/public/locales/es/common.json index f85d4b6c..b78fd956 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -82,7 +82,7 @@ "traefik": { "routers": "Enrutadores", "services": "Servicios", - "middleware": "Middleware" + "middleware": "Software intermedio" }, "npm": { "enabled": "Activado", From 686a12b2c7c8e6673e645a33c2a50806caa92ac1 Mon Sep 17 00:00:00 2001 From: Alessio Bonforti Date: Fri, 18 Nov 2022 15:41:07 +0000 Subject: [PATCH 257/668] Translated using Weblate (Italian) Currently translated at 99.1% (229 of 231 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/it/ --- public/locales/it/common.json | 106 +++++++++++++++++----------------- 1 file changed, 53 insertions(+), 53 deletions(-) diff --git a/public/locales/it/common.json b/public/locales/it/common.json index 5a57382f..bde8491b 100644 --- a/public/locales/it/common.json +++ b/public/locales/it/common.json @@ -123,11 +123,11 @@ "messages": "Messaggi" }, "prowlarr": { - "enableIndexers": "Indexers", + "enableIndexers": "Indicizzatori", "numberOfGrabs": "Grabs", "numberOfQueries": "Queries", - "numberOfFailGrabs": "Fail Grabs", - "numberOfFailQueries": "Fail Queries" + "numberOfFailGrabs": "Grabs Falliti", + "numberOfFailQueries": "Queries Fallite" }, "transmission": { "download": "Download", @@ -184,7 +184,7 @@ }, "unifi": { "users": "Utenti", - "uptime": "System Uptime", + "uptime": "Uptime di Sistema", "days": "Giorni", "wan": "WAN", "lan_users": "Utenti LAN", @@ -209,16 +209,16 @@ "wait": "Attendere prego" }, "changedetectionio": { - "totalObserved": "Total Observed", - "diffsDetected": "Diffs Detected" + "totalObserved": "Totale Osservato", + "diffsDetected": "Differenze Rilevate" }, "wmo": { - "65-day": "Heavy Rain", + "65-day": "Pioggia Intensa", "2-night": "Parzialmente Nuvoloso", "0-day": "Solleggiato", - "0-night": "Clear", - "1-day": "Mainly Sunny", - "1-night": "Mainly Clear", + "0-night": "Pulisci", + "1-day": "Principalmente Soleggiato", + "1-night": "Principalmente Sereno", "2-day": "Parzialmente Nuvoloso", "3-day": "Nuvoloso", "3-night": "Nuvoloso", @@ -232,37 +232,37 @@ "53-night": "Pioggerella", "55-day": "Pioggerella Pesante", "55-night": "Pioggerella Pesante", - "56-day": "Light Freezing Drizzle", - "56-night": "Light Freezing Drizzle", - "57-day": "Freezing Drizzle", - "57-night": "Freezing Drizzle", + "56-day": "Leggera Pioggia Gelata", + "56-night": "Leggera Pioggia Gelata", + "57-day": "Pioggerella Gelata", + "57-night": "Pioggerella Gelata", "61-day": "Pioggia Leggera", "61-night": "Pioggia Leggera", "63-day": "Pioggia", "63-night": "Pioggia", - "65-night": "Heavy Rain", + "65-night": "Pioggia Intensa", "66-day": "Grandine", "66-night": "Grandine", "67-day": "Grandine", "67-night": "Grandine", - "71-day": "Light Snow", - "71-night": "Light Snow", + "71-day": "Leggera Nevicata", + "71-night": "Leggera Nevicata", "73-day": "Neve", "73-night": "Neve", - "75-day": "Heavy Snow", - "75-night": "Heavy Snow", - "77-day": "Snow Grains", - "77-night": "Snow Grains", - "80-day": "Light Showers", - "80-night": "Light Showers", - "81-day": "Showers", - "81-night": "Showers", - "82-day": "Heavy Showers", - "82-night": "Heavy Showers", - "85-day": "Snow Showers", - "85-night": "Snow Showers", - "86-day": "Snow Showers", - "86-night": "Snow Showers", + "75-day": "Nevicata Intensa", + "75-night": "Nevicata Intensa", + "77-day": "Fiocchi di Neve", + "77-night": "Fiocchi di Neve", + "80-day": "Leggeri Rovesci", + "80-night": "Leggeri Rovesci", + "81-day": "Rovesci", + "81-night": "Rovesci", + "82-day": "Intensi Rovesci", + "82-night": "Intensi Rovesci", + "85-day": "Rovesci di Neve", + "85-night": "Rovesci di Neve", + "86-day": "Rovesci di Neve", + "86-night": "Rovesci di Neve", "95-day": "Temporale", "95-night": "Temporale", "96-day": "Temporale con grandine", @@ -271,48 +271,48 @@ "99-night": "Temporale con grandine" }, "quicklaunch": { - "bookmark": "Bookmark", + "bookmark": "Segnalibro", "service": "Servizio" }, "homebridge": { - "available_update": "System", - "updates": "Updates", - "update_available": "Update Available", - "up_to_date": "Up to Date", + "available_update": "Sistema", + "updates": "Aggiornamenti", + "update_available": "Aggiornamento Disponibile", + "up_to_date": "Aggiornato", "child_bridges": "Child Bridges", "child_bridges_status": "{{ok}}/{{total}}" }, "autobrr": { - "approvedPushes": "Approved", - "rejectedPushes": "Rejected", - "filters": "Filters", - "indexers": "Indexers" + "approvedPushes": "Approvato", + "rejectedPushes": "Rifiutato", + "filters": "Filtri", + "indexers": "Indicizzatori" }, "watchtower": { - "containers_scanned": "Scanned", - "containers_updated": "Updated", - "containers_failed": "Failed" + "containers_scanned": "Scansionato", + "containers_updated": "Aggiornato", + "containers_failed": "Fallito" }, "tubearchivist": { - "downloads": "Queue", - "videos": "Videos", - "channels": "Channels", + "downloads": "Coda", + "videos": "Video", + "channels": "Canali", "playlists": "Playlists" }, "truenas": { - "load": "System Load", + "load": "Carico di Sistema", "uptime": "Uptime", "alerts": "Alerts", "time": "{{value, number(style: unit; unitDisplay: long;)}}" }, "navidrome": { - "nothing_streaming": "No Active Streams", - "please_wait": "Please Wait" + "nothing_streaming": "Nessun Sistema Attivo", + "please_wait": "Attendere, Prego" }, "pyload": { - "speed": "Speed", - "active": "Active", - "queue": "Queue", - "total": "Total" + "speed": "Velocità", + "active": "Attivo", + "queue": "Coda", + "total": "Totale" } } From a23429d1439df3d7c38f3f25abd21026fa4568d5 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 18 Nov 2022 17:03:59 +0000 Subject: [PATCH 258/668] Translated using Weblate (German) Currently translated at 96.1% (225 of 234 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/de/ --- public/locales/de/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/de/common.json b/public/locales/de/common.json index 9135e64f..f8c59567 100644 --- a/public/locales/de/common.json +++ b/public/locales/de/common.json @@ -314,5 +314,10 @@ "active": "Active", "queue": "Queue", "total": "Total" + }, + "gluetun": { + "public_ip": "Public IP", + "region": "Region", + "country": "Country" } } From 13e664ad0573d586e1ceebfe576b14affece9aa3 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 18 Nov 2022 17:04:00 +0000 Subject: [PATCH 259/668] Translated using Weblate (Spanish) Currently translated at 98.7% (231 of 234 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/ --- public/locales/es/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/es/common.json b/public/locales/es/common.json index b78fd956..4e98e30e 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -314,5 +314,10 @@ "active": "Activo", "queue": "Cola", "total": "Total" + }, + "gluetun": { + "public_ip": "Public IP", + "region": "Region", + "country": "Country" } } From c5cf7fa1a9b3cae4a119b6f0a490bc8a2412b714 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 18 Nov 2022 17:04:00 +0000 Subject: [PATCH 260/668] Translated using Weblate (French) Currently translated at 98.7% (231 of 234 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/ --- public/locales/fr/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/fr/common.json b/public/locales/fr/common.json index a9d761b9..b9b61611 100644 --- a/public/locales/fr/common.json +++ b/public/locales/fr/common.json @@ -314,5 +314,10 @@ "active": "Actif", "queue": "Queue", "total": "Total" + }, + "gluetun": { + "public_ip": "Public IP", + "region": "Region", + "country": "Country" } } From 049ea23eb993e2f739d0f6970fce58026bc24051 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 18 Nov 2022 17:04:00 +0000 Subject: [PATCH 261/668] Translated using Weblate (Portuguese) Currently translated at 49.1% (115 of 234 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt/ --- public/locales/pt/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/pt/common.json b/public/locales/pt/common.json index 8e5d160c..5f22a5b8 100644 --- a/public/locales/pt/common.json +++ b/public/locales/pt/common.json @@ -325,5 +325,10 @@ "total": "Total", "speed": "Speed", "active": "Active" + }, + "gluetun": { + "region": "Region", + "country": "Country", + "public_ip": "Public IP" } } From de34abc8acb578652aad3b4e94aeb8c43babb30d Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 18 Nov 2022 17:04:00 +0000 Subject: [PATCH 262/668] Translated using Weblate (Russian) Currently translated at 9.8% (23 of 234 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ru/ --- public/locales/ru/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/ru/common.json b/public/locales/ru/common.json index 7d91a34a..762b3e90 100644 --- a/public/locales/ru/common.json +++ b/public/locales/ru/common.json @@ -314,5 +314,10 @@ "active": "Active", "queue": "Queue", "total": "Total" + }, + "gluetun": { + "public_ip": "Public IP", + "region": "Region", + "country": "Country" } } From 992fe49b6df636acd5a6ce382e11f19ad72c3354 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 18 Nov 2022 17:04:00 +0000 Subject: [PATCH 263/668] Translated using Weblate (Chinese (Simplified)) Currently translated at 70.5% (165 of 234 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hans/ --- public/locales/zh-CN/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/zh-CN/common.json b/public/locales/zh-CN/common.json index 810b9f10..5459d7c6 100644 --- a/public/locales/zh-CN/common.json +++ b/public/locales/zh-CN/common.json @@ -314,5 +314,10 @@ "active": "Active", "queue": "Queue", "total": "Total" + }, + "gluetun": { + "public_ip": "Public IP", + "region": "Region", + "country": "Country" } } From 3fcb6b50a31ef1bec46dba1a964ff47b4aabf46f Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 18 Nov 2022 17:04:00 +0000 Subject: [PATCH 264/668] Translated using Weblate (Italian) Currently translated at 97.8% (229 of 234 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/it/ --- public/locales/it/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/it/common.json b/public/locales/it/common.json index bde8491b..9478d420 100644 --- a/public/locales/it/common.json +++ b/public/locales/it/common.json @@ -314,5 +314,10 @@ "active": "Attivo", "queue": "Coda", "total": "Totale" + }, + "gluetun": { + "public_ip": "Public IP", + "region": "Region", + "country": "Country" } } From cede5053a476f269751c38d29aaa2245249648aa Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 18 Nov 2022 17:03:59 +0000 Subject: [PATCH 265/668] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegi?= =?UTF-8?q?an=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 33.7% (79 of 234 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nb_NO/ --- public/locales/nb-NO/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/nb-NO/common.json b/public/locales/nb-NO/common.json index 85c895f2..0f7680f7 100644 --- a/public/locales/nb-NO/common.json +++ b/public/locales/nb-NO/common.json @@ -314,5 +314,10 @@ "active": "Active", "queue": "Queue", "total": "Total" + }, + "gluetun": { + "public_ip": "Public IP", + "region": "Region", + "country": "Country" } } From f20d59c6a8c6e1e41fc4d24b58ad955f5c15e23d Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 18 Nov 2022 17:04:00 +0000 Subject: [PATCH 266/668] Translated using Weblate (Vietnamese) Currently translated at 18.8% (44 of 234 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/vi/ --- public/locales/vi/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/vi/common.json b/public/locales/vi/common.json index 299cd1df..cf3db360 100644 --- a/public/locales/vi/common.json +++ b/public/locales/vi/common.json @@ -314,5 +314,10 @@ "active": "Active", "queue": "Queue", "total": "Total" + }, + "gluetun": { + "public_ip": "Public IP", + "region": "Region", + "country": "Country" } } From 61c89a0683946bdccd1d7fbe94a00c0226369790 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 18 Nov 2022 17:04:00 +0000 Subject: [PATCH 267/668] Translated using Weblate (Dutch) Currently translated at 26.9% (63 of 234 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nl/ --- public/locales/nl/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/nl/common.json b/public/locales/nl/common.json index d51e5430..ae5cd06e 100644 --- a/public/locales/nl/common.json +++ b/public/locales/nl/common.json @@ -314,5 +314,10 @@ "active": "Active", "total": "Total", "queue": "Queue" + }, + "gluetun": { + "public_ip": "Public IP", + "region": "Region", + "country": "Country" } } From 40232fc73e6e6d45c6134f68fa2d99bc6f87853b Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 18 Nov 2022 17:04:01 +0000 Subject: [PATCH 268/668] Translated using Weblate (Chinese (Traditional)) Currently translated at 3.8% (9 of 234 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hant/ --- public/locales/zh-Hant/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/zh-Hant/common.json b/public/locales/zh-Hant/common.json index 3b83eef9..c4673c32 100644 --- a/public/locales/zh-Hant/common.json +++ b/public/locales/zh-Hant/common.json @@ -314,5 +314,10 @@ "active": "Active", "queue": "Queue", "total": "Total" + }, + "gluetun": { + "public_ip": "Public IP", + "region": "Region", + "country": "Country" } } From bbd06bc7df6ff310910bb0f134dd50314bb8dc50 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 18 Nov 2022 17:03:58 +0000 Subject: [PATCH 269/668] Translated using Weblate (Catalan) Currently translated at 55.9% (131 of 234 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ca/ --- public/locales/ca/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/ca/common.json b/public/locales/ca/common.json index c62351f3..fac4a04c 100644 --- a/public/locales/ca/common.json +++ b/public/locales/ca/common.json @@ -314,5 +314,10 @@ "active": "Active", "queue": "Queue", "total": "Total" + }, + "gluetun": { + "public_ip": "Public IP", + "region": "Region", + "country": "Country" } } From d9f279d1c0b5b6ea234840fcb54d1cf8211192ef Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 18 Nov 2022 17:03:59 +0000 Subject: [PATCH 270/668] Translated using Weblate (Polish) Currently translated at 73.9% (173 of 234 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pl/ --- public/locales/pl/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/pl/common.json b/public/locales/pl/common.json index da520fd7..41495b3e 100644 --- a/public/locales/pl/common.json +++ b/public/locales/pl/common.json @@ -314,5 +314,10 @@ "active": "Active", "queue": "Queue", "total": "Total" + }, + "gluetun": { + "public_ip": "Public IP", + "region": "Region", + "country": "Country" } } From 6767aef3c00007b3db9a8ff1078f263ca8fe31e9 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 18 Nov 2022 17:03:57 +0000 Subject: [PATCH 271/668] Translated using Weblate (Swedish) Currently translated at 55.5% (130 of 234 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sv/ --- public/locales/sv/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/sv/common.json b/public/locales/sv/common.json index 5056f0cb..87f2061f 100644 --- a/public/locales/sv/common.json +++ b/public/locales/sv/common.json @@ -314,5 +314,10 @@ "active": "Active", "queue": "Queue", "total": "Total" + }, + "gluetun": { + "public_ip": "Public IP", + "region": "Region", + "country": "Country" } } From 8a44f7d2150f402ff33736fef661acc5d33866cd Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 18 Nov 2022 17:03:57 +0000 Subject: [PATCH 272/668] Translated using Weblate (Croatian) Currently translated at 98.7% (231 of 234 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hr/ --- public/locales/hr/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/hr/common.json b/public/locales/hr/common.json index 0bb24296..12c97262 100644 --- a/public/locales/hr/common.json +++ b/public/locales/hr/common.json @@ -314,5 +314,10 @@ "active": "Aktivno", "queue": "Red čekanja", "total": "Ukupno" + }, + "gluetun": { + "public_ip": "Public IP", + "region": "Region", + "country": "Country" } } From 59a0cfac7b2c0560559a6cf56bacfae577a03ce5 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 18 Nov 2022 17:03:58 +0000 Subject: [PATCH 273/668] Translated using Weblate (Hungarian) Currently translated at 46.1% (108 of 234 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hu/ --- public/locales/hu/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/hu/common.json b/public/locales/hu/common.json index 70a73764..f00dc975 100644 --- a/public/locales/hu/common.json +++ b/public/locales/hu/common.json @@ -314,5 +314,10 @@ "active": "Active", "queue": "Queue", "total": "Total" + }, + "gluetun": { + "public_ip": "Public IP", + "region": "Region", + "country": "Country" } } From 9869ba5c269ee3099e10c2adca9c7c3b19294a1b Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 18 Nov 2022 17:03:57 +0000 Subject: [PATCH 274/668] Translated using Weblate (Hebrew) Currently translated at 43.1% (101 of 234 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/he/ --- public/locales/he/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/he/common.json b/public/locales/he/common.json index 4f83714a..296bfc4e 100644 --- a/public/locales/he/common.json +++ b/public/locales/he/common.json @@ -314,5 +314,10 @@ "active": "Active", "queue": "Queue", "total": "Total" + }, + "gluetun": { + "public_ip": "Public IP", + "region": "Region", + "country": "Country" } } From d091993410c39d32c0571cc70c332439cd5acafa Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 18 Nov 2022 17:03:58 +0000 Subject: [PATCH 275/668] Translated using Weblate (Romanian) Currently translated at 58.5% (137 of 234 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ro/ --- public/locales/ro/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/ro/common.json b/public/locales/ro/common.json index d0bb85b0..a57ea01b 100644 --- a/public/locales/ro/common.json +++ b/public/locales/ro/common.json @@ -314,5 +314,10 @@ "active": "Active", "queue": "Queue", "total": "Total" + }, + "gluetun": { + "public_ip": "Public IP", + "region": "Region", + "country": "Country" } } From 3b5db74f9b8b3d8152926c7040d1b0329c5da0c7 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 18 Nov 2022 17:03:58 +0000 Subject: [PATCH 276/668] Translated using Weblate (Portuguese (Brazil)) Currently translated at 50.0% (117 of 234 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt_BR/ --- public/locales/pt-BR/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/pt-BR/common.json b/public/locales/pt-BR/common.json index e2651ea8..a73d6b48 100644 --- a/public/locales/pt-BR/common.json +++ b/public/locales/pt-BR/common.json @@ -314,5 +314,10 @@ "active": "Active", "queue": "Queue", "total": "Total" + }, + "gluetun": { + "public_ip": "Public IP", + "region": "Region", + "country": "Country" } } From f2daf92c6040c8d98bedd5cacd12846e02a95521 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 18 Nov 2022 17:03:58 +0000 Subject: [PATCH 277/668] Translated using Weblate (Yue) Currently translated at 50.4% (118 of 234 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/yue/ --- public/locales/yue/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/yue/common.json b/public/locales/yue/common.json index 7c25ef52..7932f908 100644 --- a/public/locales/yue/common.json +++ b/public/locales/yue/common.json @@ -314,5 +314,10 @@ "active": "Active", "queue": "Queue", "total": "Total" + }, + "gluetun": { + "public_ip": "Public IP", + "region": "Region", + "country": "Country" } } From 0903c541f1612d40aa6b861cd996665b10fcb993 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 18 Nov 2022 17:03:59 +0000 Subject: [PATCH 278/668] Translated using Weblate (Finnish) Currently translated at 52.5% (123 of 234 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fi/ --- public/locales/fi/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/fi/common.json b/public/locales/fi/common.json index bae6266a..07b480f0 100644 --- a/public/locales/fi/common.json +++ b/public/locales/fi/common.json @@ -314,5 +314,10 @@ "active": "Active", "queue": "Queue", "total": "Total" + }, + "gluetun": { + "public_ip": "Public IP", + "region": "Region", + "country": "Country" } } From 5ec2b1a1b55279d69add39a08c46d7ecbbec49c7 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 18 Nov 2022 17:03:59 +0000 Subject: [PATCH 279/668] Translated using Weblate (Telugu) Currently translated at 92.7% (217 of 234 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/te/ --- public/locales/te/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/te/common.json b/public/locales/te/common.json index c22aadd9..7ad2dace 100644 --- a/public/locales/te/common.json +++ b/public/locales/te/common.json @@ -314,5 +314,10 @@ "active": "Active", "queue": "Queue", "total": "Total" + }, + "gluetun": { + "public_ip": "Public IP", + "region": "Region", + "country": "Country" } } From 1ff56bf19874ff6eb0656969ffc4a500a4af5c38 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 18 Nov 2022 17:03:59 +0000 Subject: [PATCH 280/668] Translated using Weblate (Bulgarian) Currently translated at 19.6% (46 of 234 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/bg/ --- public/locales/bg/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/bg/common.json b/public/locales/bg/common.json index 2e9a65e2..0365e329 100644 --- a/public/locales/bg/common.json +++ b/public/locales/bg/common.json @@ -314,5 +314,10 @@ "active": "Active", "queue": "Queue", "total": "Total" + }, + "gluetun": { + "public_ip": "Public IP", + "region": "Region", + "country": "Country" } } From cdc98b831f7ad97bfd8fc4ac5717c30ffb7938dc Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 18 Nov 2022 17:03:58 +0000 Subject: [PATCH 281/668] Translated using Weblate (Turkish) Currently translated at 98.7% (231 of 234 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/tr/ --- public/locales/tr/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/tr/common.json b/public/locales/tr/common.json index da103966..f431239d 100644 --- a/public/locales/tr/common.json +++ b/public/locales/tr/common.json @@ -314,5 +314,10 @@ "active": "Geçerli", "queue": "Kuyruk", "total": "Toplam" + }, + "gluetun": { + "public_ip": "Public IP", + "region": "Region", + "country": "Country" } } From 70fa2f58365650755ab448ec121ae7ab2204ed6d Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 18 Nov 2022 17:03:58 +0000 Subject: [PATCH 282/668] Translated using Weblate (Serbian) Currently translated at 3.8% (9 of 234 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sr/ --- public/locales/sr/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/sr/common.json b/public/locales/sr/common.json index 0805c1ab..8fe0a6e0 100644 --- a/public/locales/sr/common.json +++ b/public/locales/sr/common.json @@ -314,5 +314,10 @@ "active": "Active", "queue": "Queue", "total": "Total" + }, + "gluetun": { + "public_ip": "Public IP", + "region": "Region", + "country": "Country" } } From 48bbd9c095fa9119d54fe1b7924369ce8e46a5e7 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 18 Nov 2022 17:03:58 +0000 Subject: [PATCH 283/668] Translated using Weblate (Arabic) Currently translated at 18.8% (44 of 234 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ar/ --- public/locales/ar/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/ar/common.json b/public/locales/ar/common.json index d6c91938..6d565287 100644 --- a/public/locales/ar/common.json +++ b/public/locales/ar/common.json @@ -314,5 +314,10 @@ "active": "Active", "queue": "Queue", "total": "Total" + }, + "gluetun": { + "public_ip": "Public IP", + "region": "Region", + "country": "Country" } } From 27966678a3e85da47ebe32a7f46321805462d8c7 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 18 Nov 2022 17:03:59 +0000 Subject: [PATCH 284/668] Translated using Weblate (Czech) Currently translated at 96.1% (225 of 234 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/cs/ --- public/locales/cs/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/cs/common.json b/public/locales/cs/common.json index 20966b0c..7e9da1b5 100644 --- a/public/locales/cs/common.json +++ b/public/locales/cs/common.json @@ -314,5 +314,10 @@ "active": "Active", "queue": "Queue", "total": "Total" + }, + "gluetun": { + "public_ip": "Public IP", + "region": "Region", + "country": "Country" } } From 68b86d95271a9496153941c5983fed5647e0589d Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 18 Nov 2022 17:03:59 +0000 Subject: [PATCH 285/668] Translated using Weblate (Danish) Currently translated at 84.6% (198 of 234 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/da/ --- public/locales/da/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/da/common.json b/public/locales/da/common.json index 02e14a18..99db4725 100644 --- a/public/locales/da/common.json +++ b/public/locales/da/common.json @@ -314,5 +314,10 @@ "active": "Aktive", "queue": "Kø", "total": "Total" + }, + "gluetun": { + "public_ip": "Public IP", + "region": "Region", + "country": "Country" } } From a58f1cb09310257376bc7324a79c5d0cec0e647d Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 18 Nov 2022 17:04:00 +0000 Subject: [PATCH 286/668] Translated using Weblate (Malay) Currently translated at 98.7% (231 of 234 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ms/ --- public/locales/ms/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/ms/common.json b/public/locales/ms/common.json index bc930db8..761d85e9 100644 --- a/public/locales/ms/common.json +++ b/public/locales/ms/common.json @@ -314,5 +314,10 @@ "active": "Aktif", "queue": "Baris Gilir", "total": "Jumlah" + }, + "gluetun": { + "public_ip": "Public IP", + "region": "Region", + "country": "Country" } } From e24b534843047282b513c6b754430efc633cd298 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 18 Nov 2022 17:03:57 +0000 Subject: [PATCH 287/668] Translated using Weblate (Hindi) Currently translated at 3.8% (9 of 234 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hi/ --- public/locales/hi/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/hi/common.json b/public/locales/hi/common.json index 5e765797..d3075aba 100644 --- a/public/locales/hi/common.json +++ b/public/locales/hi/common.json @@ -314,5 +314,10 @@ "active": "Active", "queue": "Queue", "total": "Total" + }, + "gluetun": { + "public_ip": "Public IP", + "region": "Region", + "country": "Country" } } From 7b7740563eb471092b9e2b3e7830f02c54866012 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Sat, 22 Oct 2022 22:48:25 -0700 Subject: [PATCH 288/668] Basic widget data validation --- public/locales/en/common.json | 6 ++- src/components/services/widget/error.jsx | 48 ++++++++++++++++++++++++ src/utils/proxy/handlers/credentialed.js | 5 +++ src/utils/proxy/handlers/generic.js | 7 ++++ src/utils/proxy/http.js | 2 +- src/utils/proxy/validate-widget-data.js | 22 +++++++++++ 6 files changed, 88 insertions(+), 2 deletions(-) create mode 100644 src/components/services/widget/error.jsx create mode 100644 src/utils/proxy/validate-widget-data.js diff --git a/public/locales/en/common.json b/public/locales/en/common.json index cc946e78..c4b41f05 100644 --- a/public/locales/en/common.json +++ b/public/locales/en/common.json @@ -13,7 +13,11 @@ "widget": { "missing_type": "Missing Widget Type: {{type}}", "api_error": "API Error", - "status": "Status" + "status": "Status", + "debug_info": "Debug Information", + "url": "URL", + "raw_error": "Raw Error", + "response_data": "Response Data" }, "weather": { "current": "Current Location", diff --git a/src/components/services/widget/error.jsx b/src/components/services/widget/error.jsx new file mode 100644 index 00000000..a6d400e8 --- /dev/null +++ b/src/components/services/widget/error.jsx @@ -0,0 +1,48 @@ +import { useTranslation } from "react-i18next"; + +function displayError(error) { + return JSON.stringify(error[1] ? error[1] : error, null, 4); +} + +function displayData(data) { + return (data.type === 'Buffer') ? Buffer.from(data).toString() : JSON.stringify(data, 4); +} + +export default function Error({ error }) { + const { t } = useTranslation(); + + if (error?.data?.error) { + error = error.data.error; // eslint-disable-line no-param-reassign + } + + return ( +
+
Something went wrong.
+
+ {t("widget.debug_info")} +
+
    +
  • + {t("widget.api_error")}: {error.message} +
  • + {error.url &&
  • + {t("widget.url")}: {error.url} +
  • } + {error.rawError &&
  • + {t("widget.raw_error")}: +
    + {displayError(error.rawError)} +
    +
  • } + {error.data &&
  • + {t("widget.response_data")}: +
    + {displayData(error.data)} +
    +
  • } +
+
+
+
+ ); +} diff --git a/src/utils/proxy/handlers/credentialed.js b/src/utils/proxy/handlers/credentialed.js index 54c393b1..f1436d51 100644 --- a/src/utils/proxy/handlers/credentialed.js +++ b/src/utils/proxy/handlers/credentialed.js @@ -1,5 +1,6 @@ import getServiceWidget from "utils/config/service-helpers"; import { formatApiCall } from "utils/proxy/api-helpers"; +import validateWidgetData from "utils/proxy/validate-widget-data"; import { httpProxy } from "utils/proxy/http"; import createLogger from "utils/logger"; import widgets from "widgets/widgets"; @@ -54,6 +55,10 @@ export default async function credentialedProxyHandler(req, res) { logger.debug("HTTP Error %d calling %s//%s%s...", status, url.protocol, url.hostname, url.pathname); } + if (!validateWidgetData(widget, endpoint, data)) { + return res.status(500).json({error: {message: "Invalid data", url, data}}); + } + if (contentType) res.setHeader("Content-Type", contentType); return res.status(status).send(data); } diff --git a/src/utils/proxy/handlers/generic.js b/src/utils/proxy/handlers/generic.js index f93c83f2..02c3d4c3 100644 --- a/src/utils/proxy/handlers/generic.js +++ b/src/utils/proxy/handlers/generic.js @@ -1,5 +1,6 @@ import getServiceWidget from "utils/config/service-helpers"; import { formatApiCall } from "utils/proxy/api-helpers"; +import validateWidgetData from "utils/proxy/validate-widget-data"; import { httpProxy } from "utils/proxy/http"; import createLogger from "utils/logger"; import widgets from "widgets/widgets"; @@ -32,6 +33,11 @@ export default async function genericProxyHandler(req, res, map) { }); let resultData = data; + + if (!validateWidgetData(widget, endpoint, resultData)) { + return res.status(status).json({error: {message: "Invalid data", url, data: resultData}}); + } + if (status === 200 && map) { resultData = map(data); } @@ -44,6 +50,7 @@ export default async function genericProxyHandler(req, res, map) { if (status >= 400) { logger.debug("HTTP Error %d calling %s//%s%s...", status, url.protocol, url.hostname, url.pathname); + return res.status(status).json({error: {message: "HTTP Error", url, data}}); } return res.status(status).send(resultData); diff --git a/src/utils/proxy/http.js b/src/utils/proxy/http.js index 4eba83f3..93538202 100644 --- a/src/utils/proxy/http.js +++ b/src/utils/proxy/http.js @@ -98,6 +98,6 @@ export async function httpProxy(url, params = {}) { catch (err) { logger.error("Error calling %s//%s%s...", url.protocol, url.hostname, url.pathname); logger.error(err); - return [500, "application/json", { error: "Unexpected error" }, null]; + return [500, "application/json", { error: {message: err?.message ?? "Unknown error", url, rawError: err} }, null]; } } diff --git a/src/utils/proxy/validate-widget-data.js b/src/utils/proxy/validate-widget-data.js new file mode 100644 index 00000000..a9664363 --- /dev/null +++ b/src/utils/proxy/validate-widget-data.js @@ -0,0 +1,22 @@ +import widgets from "widgets/widgets"; + +export default function validateWidgetData(widget, endpoint, data) { + let valid = true; + let dataParsed; + try { + dataParsed = JSON.parse(data); + } catch (e) { + valid = false; + } + + if (dataParsed) { + const validate = widgets[widget.type]?.mappings?.[endpoint]?.validate; + validate.forEach(key => { + if (dataParsed[key] === undefined) { + valid = false; + } + }); + } + + return valid; +} From 21017e4716b1b79fcfa39ac0e60703731cb473ba Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Sat, 22 Oct 2022 23:00:51 -0700 Subject: [PATCH 289/668] Add detailed Error component for service widgets --- src/components/services/widget/container.jsx | 8 +++----- src/widgets/adguard/component.jsx | 6 +++--- src/widgets/authentik/component.jsx | 5 +++-- src/widgets/bazarr/component.jsx | 5 +++-- src/widgets/changedetectionio/component.jsx | 8 ++++---- src/widgets/coinmarketcap/component.jsx | 5 +++-- src/widgets/docker/component.jsx | 5 +++-- src/widgets/emby/component.jsx | 5 +++-- src/widgets/gotify/component.jsx | 9 +++------ src/widgets/jackett/component.jsx | 5 +++-- src/widgets/jellyseerr/component.jsx | 9 +++------ src/widgets/lidarr/component.jsx | 5 +++-- src/widgets/mastodon/component.jsx | 5 +++-- src/widgets/npm/component.jsx | 8 ++------ src/widgets/nzbget/component.jsx | 5 +++-- src/widgets/ombi/component.jsx | 9 +++------ src/widgets/overseerr/component.jsx | 9 +++------ src/widgets/pihole/component.jsx | 5 +++-- src/widgets/plex/component.jsx | 5 +++-- src/widgets/plex/proxy.js | 7 ++++++- src/widgets/portainer/component.jsx | 5 +++-- src/widgets/prowlarr/component.jsx | 9 +++------ src/widgets/proxmox/component.jsx | 5 +++-- src/widgets/qbittorrent/component.jsx | 5 +++-- src/widgets/radarr/component.jsx | 9 +++------ src/widgets/readarr/component.jsx | 5 +++-- src/widgets/rutorrent/component.jsx | 5 +++-- src/widgets/sabnzbd/component.jsx | 5 +++-- src/widgets/sonarr/component.jsx | 9 +++------ src/widgets/speedtest/component.jsx | 5 +++-- src/widgets/strelaysrv/component.jsx | 5 +++-- src/widgets/tautulli/component.jsx | 7 ++++--- src/widgets/traefik/component.jsx | 9 +++------ src/widgets/transmission/component.jsx | 5 +++-- src/widgets/transmission/proxy.js | 1 + src/widgets/unifi/component.jsx | 3 ++- src/widgets/unifi/proxy.js | 6 ++++-- 37 files changed, 113 insertions(+), 113 deletions(-) diff --git a/src/components/services/widget/container.jsx b/src/components/services/widget/container.jsx index 60536e86..945b8f6f 100644 --- a/src/components/services/widget/container.jsx +++ b/src/components/services/widget/container.jsx @@ -1,10 +1,8 @@ +import Error from "./error"; + export default function Container({ error = false, children, service }) { if (error) { - return ( -
-
{error}
-
- ); + return } let visibleChildren = children; diff --git a/src/widgets/adguard/component.jsx b/src/widgets/adguard/component.jsx index 0c78113d..3147ffcf 100644 --- a/src/widgets/adguard/component.jsx +++ b/src/widgets/adguard/component.jsx @@ -11,10 +11,10 @@ export default function Component({ service }) { const { data: adguardData, error: adguardError } = useWidgetAPI(widget, "stats"); - if (adguardError) { - return ; + if (adguardError || adguardData?.error) { + const finalError = adguardError ?? adguardData.error; + return ; } - if (!adguardData) { return ( diff --git a/src/widgets/authentik/component.jsx b/src/widgets/authentik/component.jsx index 31f864d1..d4aa8dba 100644 --- a/src/widgets/authentik/component.jsx +++ b/src/widgets/authentik/component.jsx @@ -13,8 +13,9 @@ export default function Component({ service }) { const { data: loginsData, error: loginsError } = useWidgetAPI(widget, "login"); const { data: failedLoginsData, error: failedLoginsError } = useWidgetAPI(widget, "login_failed"); - if (usersError || loginsError || failedLoginsError) { - return ; + if (usersError || usersData?.error || loginsError || loginsData?.error || failedLoginsError || failedLoginsData?.error) { + const finalError = usersError ?? usersData?.error ?? loginsError ?? loginsData?.error ?? failedLoginsError ?? failedLoginsData?.error; + return ; } if (!usersData || !loginsData || !failedLoginsData) { diff --git a/src/widgets/bazarr/component.jsx b/src/widgets/bazarr/component.jsx index 24fef1ce..070f8232 100644 --- a/src/widgets/bazarr/component.jsx +++ b/src/widgets/bazarr/component.jsx @@ -12,8 +12,9 @@ export default function Component({ service }) { const { data: episodesData, error: episodesError } = useWidgetAPI(widget, "episodes"); const { data: moviesData, error: moviesError } = useWidgetAPI(widget, "movies"); - if (episodesError || moviesError) { - return ; + if (moviesError || moviesData?.error || episodesError || episodesData?.error) { + const finalError = moviesError ?? moviesData?.error ?? episodesError ?? episodesData?.error; + return ; } if (!episodesData || !moviesData) { diff --git a/src/widgets/changedetectionio/component.jsx b/src/widgets/changedetectionio/component.jsx index 70936489..ce29691f 100644 --- a/src/widgets/changedetectionio/component.jsx +++ b/src/widgets/changedetectionio/component.jsx @@ -9,12 +9,12 @@ export default function Component({ service }) { const { widget } = service; - const { data } = useWidgetAPI(widget, "info"); + const { data, error } = useWidgetAPI(widget, "info"); - if (!data) { - return ; + if (error || data?.error) { + const finalError = error ?? data.error; + return ; } - const totalObserved = Object.keys(data).length; let diffsDetected = 0; diff --git a/src/widgets/coinmarketcap/component.jsx b/src/widgets/coinmarketcap/component.jsx index 0b970b31..fa5844bd 100644 --- a/src/widgets/coinmarketcap/component.jsx +++ b/src/widgets/coinmarketcap/component.jsx @@ -36,8 +36,9 @@ export default function Component({ service }) { ); } - if (statsError) { - return ; + if (statsError || statsData?.error) { + const finalError = statsError ?? statsData.error; + return ; } if (!statsData || !dateRange) { diff --git a/src/widgets/docker/component.jsx b/src/widgets/docker/component.jsx index 542fbde7..bdc49be3 100644 --- a/src/widgets/docker/component.jsx +++ b/src/widgets/docker/component.jsx @@ -17,8 +17,9 @@ export default function Component({ service }) { const { data: statsData, error: statsError } = useSWR(`/api/docker/stats/${widget.container}/${widget.server || ""}`); - if (statsError || statusError) { - return ; + if (statsError || statsData?.error || statusError || statusData?.error) { + const finalError = statsError ?? statsData?.error ?? statusError ?? statusData?.error; + return ; } if (statusData && statusData.status !== "running") { diff --git a/src/widgets/emby/component.jsx b/src/widgets/emby/component.jsx index 59d66c05..26371c81 100644 --- a/src/widgets/emby/component.jsx +++ b/src/widgets/emby/component.jsx @@ -3,8 +3,8 @@ import { useTranslation } from "next-i18next"; import { BsVolumeMuteFill, BsFillPlayFill, BsPauseFill, BsCpu, BsFillCpuFill } from "react-icons/bs"; import { MdOutlineSmartDisplay } from "react-icons/md"; -import Container from "components/services/widget/container"; import { formatProxyUrl, formatProxyUrlWithSegments } from "utils/proxy/api-helpers"; +import Container from "components/services/widget/container"; function ticksToTime(ticks) { const milliseconds = ticks / 10000; @@ -172,7 +172,8 @@ export default function Component({ service }) { } if (sessionsError || sessionsData?.error) { - return ; + const finalError = sessionsError ?? sessionsData.error; + return ; } if (!sessionsData) { diff --git a/src/widgets/gotify/component.jsx b/src/widgets/gotify/component.jsx index 40f5793b..cedc3f84 100644 --- a/src/widgets/gotify/component.jsx +++ b/src/widgets/gotify/component.jsx @@ -1,20 +1,17 @@ -import { useTranslation } from "next-i18next"; - import Container from "components/services/widget/container"; import Block from "components/services/widget/block"; import useWidgetAPI from "utils/proxy/use-widget-api"; export default function Component({ service }) { - const { t } = useTranslation(); - const { widget } = service; const { data: appsData, error: appsError } = useWidgetAPI(widget, "application"); const { data: messagesData, error: messagesError } = useWidgetAPI(widget, "message"); const { data: clientsData, error: clientsError } = useWidgetAPI(widget, "client"); - if (appsError || messagesError || clientsError) { - return ; + if (appsError || appsData?.error || messagesError || messagesData?.error || clientsError || clientsData?.error) { + const finalError = appsError ?? appsData?.error ?? messagesError ?? messagesData?.error ?? clientsError ?? clientsData?.error; + return ; } diff --git a/src/widgets/jackett/component.jsx b/src/widgets/jackett/component.jsx index 9629e266..e9fcd95a 100644 --- a/src/widgets/jackett/component.jsx +++ b/src/widgets/jackett/component.jsx @@ -11,8 +11,9 @@ export default function Component({ service }) { const { data: indexersData, error: indexersError } = useWidgetAPI(widget, "indexers"); - if (indexersError) { - return ; + if (indexersError || indexersData?.error) { + const finalError = indexersError ?? indexersData.error; + return ; } if (!indexersData) { diff --git a/src/widgets/jellyseerr/component.jsx b/src/widgets/jellyseerr/component.jsx index 217e406e..aece8560 100644 --- a/src/widgets/jellyseerr/component.jsx +++ b/src/widgets/jellyseerr/component.jsx @@ -1,18 +1,15 @@ -import { useTranslation } from "next-i18next"; - import Container from "components/services/widget/container"; import Block from "components/services/widget/block"; import useWidgetAPI from "utils/proxy/use-widget-api"; export default function Component({ service }) { - const { t } = useTranslation(); - const { widget } = service; const { data: statsData, error: statsError } = useWidgetAPI(widget, "request/count"); - if (statsError) { - return ; + if (statsError || statsData?.error) { + const finalError = statsError ?? statsData.error; + return ; } if (!statsData) { diff --git a/src/widgets/lidarr/component.jsx b/src/widgets/lidarr/component.jsx index 343760e7..5951e094 100644 --- a/src/widgets/lidarr/component.jsx +++ b/src/widgets/lidarr/component.jsx @@ -13,8 +13,9 @@ export default function Component({ service }) { const { data: wantedData, error: wantedError } = useWidgetAPI(widget, "wanted/missing"); const { data: queueData, error: queueError } = useWidgetAPI(widget, "queue/status"); - if (albumsError || wantedError || queueError) { - return ; + if (albumsError || albumsData?.error || wantedError || wantedData?.error || queueError || queueData?.error) { + const finalError = albumsError ?? albumsData?.error ?? wantedError ?? wantedData?.error ?? queueError ?? queueData?.error; + return ; } if (!albumsData || !wantedData || !queueData) { diff --git a/src/widgets/mastodon/component.jsx b/src/widgets/mastodon/component.jsx index ec12fca1..477d648e 100644 --- a/src/widgets/mastodon/component.jsx +++ b/src/widgets/mastodon/component.jsx @@ -11,8 +11,9 @@ export default function Component({ service }) { const { data: statsData, error: statsError } = useWidgetAPI(widget, "instance"); - if (statsError) { - return ; + if (statsError || statsData?.error) { + const finalError = statsError ?? statsData.error; + return ; } if (!statsData) { diff --git a/src/widgets/npm/component.jsx b/src/widgets/npm/component.jsx index 92aef035..b6d42ad9 100644 --- a/src/widgets/npm/component.jsx +++ b/src/widgets/npm/component.jsx @@ -1,18 +1,14 @@ -import { useTranslation } from "next-i18next"; - import Container from "components/services/widget/container"; import Block from "components/services/widget/block"; import useWidgetAPI from "utils/proxy/use-widget-api"; export default function Component({ service }) { - const { t } = useTranslation(); - const { widget } = service; const { data: infoData, error: infoError } = useWidgetAPI(widget, "nginx/proxy-hosts"); - if (infoError || infoData?.error) { - return ; + if (infoError) { + return ; } if (!infoData) { diff --git a/src/widgets/nzbget/component.jsx b/src/widgets/nzbget/component.jsx index f9ace707..92408982 100644 --- a/src/widgets/nzbget/component.jsx +++ b/src/widgets/nzbget/component.jsx @@ -11,8 +11,9 @@ export default function Component({ service }) { const { data: statusData, error: statusError } = useWidgetAPI(widget, "status"); - if (statusError) { - return ; + if (statusError || statusData?.error) { + const finalError = statusError ?? statusData.error; + return ; } if (!statusData) { diff --git a/src/widgets/ombi/component.jsx b/src/widgets/ombi/component.jsx index 60128c37..a5a0a0b7 100644 --- a/src/widgets/ombi/component.jsx +++ b/src/widgets/ombi/component.jsx @@ -1,18 +1,15 @@ -import { useTranslation } from "next-i18next"; - import Container from "components/services/widget/container"; import Block from "components/services/widget/block"; import useWidgetAPI from "utils/proxy/use-widget-api"; export default function Component({ service }) { - const { t } = useTranslation(); - const { widget } = service; const { data: statsData, error: statsError } = useWidgetAPI(widget, "Request/count"); - if (statsError) { - return ; + if (statsError || statsData?.error) { + const finalError = statsError ?? statsData.error; + return ; } if (!statsData) { diff --git a/src/widgets/overseerr/component.jsx b/src/widgets/overseerr/component.jsx index 47131f6e..f0269b4f 100644 --- a/src/widgets/overseerr/component.jsx +++ b/src/widgets/overseerr/component.jsx @@ -1,18 +1,15 @@ -import { useTranslation } from "next-i18next"; - import Container from "components/services/widget/container"; import Block from "components/services/widget/block"; import useWidgetAPI from "utils/proxy/use-widget-api"; export default function Component({ service }) { - const { t } = useTranslation(); - const { widget } = service; const { data: statsData, error: statsError } = useWidgetAPI(widget, "request/count"); - if (statsError) { - return ; + if (statsError || statsData?.error) { + const finalError = statsError ?? statsData.error; + return ; } if (!statsData) { diff --git a/src/widgets/pihole/component.jsx b/src/widgets/pihole/component.jsx index 17a18627..cb77cc2b 100644 --- a/src/widgets/pihole/component.jsx +++ b/src/widgets/pihole/component.jsx @@ -11,8 +11,9 @@ export default function Component({ service }) { const { data: piholeData, error: piholeError } = useWidgetAPI(widget, "api.php"); - if (piholeError) { - return ; + if (piholeError || piholeData?.error) { + const finalError = piholeError ?? piholeData.error; + return ; } if (!piholeData) { diff --git a/src/widgets/plex/component.jsx b/src/widgets/plex/component.jsx index 9de60fd1..cf6d705c 100644 --- a/src/widgets/plex/component.jsx +++ b/src/widgets/plex/component.jsx @@ -14,8 +14,9 @@ export default function Component({ service }) { refreshInterval: 5000, }); - if (plexAPIError) { - return ; + if (plexAPIError || plexData?.error) { + const finalError = plexAPIError ?? plexData.error; + return ; } if (!plexData) { diff --git a/src/widgets/plex/proxy.js b/src/widgets/plex/proxy.js index 46ebb27c..c016023d 100644 --- a/src/widgets/plex/proxy.js +++ b/src/widgets/plex/proxy.js @@ -44,7 +44,7 @@ async function fetchFromPlexAPI(endpoint, widget) { if (status !== 200) { logger.error("HTTP %d communicating with Plex. Data: %s", status, data.toString()); - return [status, data.toString()]; + return [status, data]; } try { @@ -65,6 +65,11 @@ export default async function plexProxyHandler(req, res) { logger.debug("Getting streams from Plex API"); let streams; let [status, apiData] = await fetchFromPlexAPI("/status/sessions", widget); + + if (status !== 200) { + return res.status(status).json({error: {message: "HTTP error communicating with Plex API", data: apiData}}); + } + if (apiData && apiData.MediaContainer) { streams = apiData.MediaContainer._attributes.size; } diff --git a/src/widgets/portainer/component.jsx b/src/widgets/portainer/component.jsx index bd44d77e..87c173dd 100644 --- a/src/widgets/portainer/component.jsx +++ b/src/widgets/portainer/component.jsx @@ -13,8 +13,9 @@ export default function Component({ service }) { all: 1, }); - if (containersError) { - return ; + if (containersError || containersData?.error) { + const finalError = containersError ?? containersData.error; + return ; } if (!containersData) { diff --git a/src/widgets/prowlarr/component.jsx b/src/widgets/prowlarr/component.jsx index bb082519..6649fdef 100644 --- a/src/widgets/prowlarr/component.jsx +++ b/src/widgets/prowlarr/component.jsx @@ -1,19 +1,16 @@ -import { useTranslation } from "next-i18next"; - import Container from "components/services/widget/container"; import Block from "components/services/widget/block"; import useWidgetAPI from "utils/proxy/use-widget-api"; export default function Component({ service }) { - const { t } = useTranslation(); - const { widget } = service; const { data: indexersData, error: indexersError } = useWidgetAPI(widget, "indexer"); const { data: grabsData, error: grabsError } = useWidgetAPI(widget, "indexerstats"); - if (indexersError || grabsError) { - return ; + if (indexersError || indexersData?.error || grabsError || grabsData?.error) { + const finalError = indexersError ?? indexersData?.error ?? grabsError ?? grabsData?.error; + return ; } if (!indexersData || !grabsData) { diff --git a/src/widgets/proxmox/component.jsx b/src/widgets/proxmox/component.jsx index 9cdb26f7..79d2d881 100644 --- a/src/widgets/proxmox/component.jsx +++ b/src/widgets/proxmox/component.jsx @@ -15,8 +15,9 @@ export default function Component({ service }) { const { data: clusterData, error: clusterError } = useWidgetAPI(widget, "cluster/resources"); - if (clusterError) { - return ; + if (clusterError || clusterData?.error) { + const finalError = clusterError ?? clusterData.error; + return ; } if (!clusterData || !clusterData.data) { diff --git a/src/widgets/qbittorrent/component.jsx b/src/widgets/qbittorrent/component.jsx index 4d3a3585..541032a1 100644 --- a/src/widgets/qbittorrent/component.jsx +++ b/src/widgets/qbittorrent/component.jsx @@ -11,8 +11,9 @@ export default function Component({ service }) { const { data: torrentData, error: torrentError } = useWidgetAPI(widget, "torrents/info"); - if (torrentError) { - return ; + if (torrentError || torrentData?.error) { + const finalError = torrentError ?? torrentData.error; + return ; } if (!torrentData) { diff --git a/src/widgets/radarr/component.jsx b/src/widgets/radarr/component.jsx index fe5a6968..679ce4fd 100644 --- a/src/widgets/radarr/component.jsx +++ b/src/widgets/radarr/component.jsx @@ -1,19 +1,16 @@ -import { useTranslation } from "next-i18next"; - import Container from "components/services/widget/container"; import Block from "components/services/widget/block"; import useWidgetAPI from "utils/proxy/use-widget-api"; export default function Component({ service }) { - const { t } = useTranslation(); - const { widget } = service; const { data: moviesData, error: moviesError } = useWidgetAPI(widget, "movie"); const { data: queuedData, error: queuedError } = useWidgetAPI(widget, "queue/status"); - if (moviesError || queuedError) { - return ; + if (moviesError || moviesData?.error || queuedError || queuedData?.error) { + const finalError = moviesError ?? moviesData?.error ?? queuedError ?? queuedData?.error; + return ; } if (!moviesData || !queuedData) { diff --git a/src/widgets/readarr/component.jsx b/src/widgets/readarr/component.jsx index 1e55d7cd..ddf2dfd7 100644 --- a/src/widgets/readarr/component.jsx +++ b/src/widgets/readarr/component.jsx @@ -13,8 +13,9 @@ export default function Component({ service }) { const { data: wantedData, error: wantedError } = useWidgetAPI(widget, "wanted/missing"); const { data: queueData, error: queueError } = useWidgetAPI(widget, "queue/status"); - if (booksError || wantedError || queueError) { - return ; + if (booksError || booksData?.error || wantedError || wantedData?.error || queueError || queueData?.error) { + const finalError = booksError ?? booksData?.error ?? wantedError ?? wantedData?.error ?? queueError ?? queueData?.error; + return ; } if (!booksData || !wantedData || !queueData) { diff --git a/src/widgets/rutorrent/component.jsx b/src/widgets/rutorrent/component.jsx index 279bdf0e..4f7340f5 100644 --- a/src/widgets/rutorrent/component.jsx +++ b/src/widgets/rutorrent/component.jsx @@ -11,8 +11,9 @@ export default function Component({ service }) { const { data: statusData, error: statusError } = useWidgetAPI(widget); - if (statusError) { - return ; + if (statusError || statusData?.error) { + const finalError = statusError ?? statusData.error; + return ; } if (!statusData) { diff --git a/src/widgets/sabnzbd/component.jsx b/src/widgets/sabnzbd/component.jsx index c4e64c9a..db49160b 100644 --- a/src/widgets/sabnzbd/component.jsx +++ b/src/widgets/sabnzbd/component.jsx @@ -21,8 +21,9 @@ export default function Component({ service }) { const { data: queueData, error: queueError } = useWidgetAPI(widget, "queue"); - if (queueError) { - return ; + if (queueError || queueData?.error) { + const finalError = queueError ?? queueData.error; + return ; } if (!queueData) { diff --git a/src/widgets/sonarr/component.jsx b/src/widgets/sonarr/component.jsx index 8618b512..28751eb6 100644 --- a/src/widgets/sonarr/component.jsx +++ b/src/widgets/sonarr/component.jsx @@ -1,20 +1,17 @@ -import { useTranslation } from "next-i18next"; - import Container from "components/services/widget/container"; import Block from "components/services/widget/block"; import useWidgetAPI from "utils/proxy/use-widget-api"; export default function Component({ service }) { - const { t } = useTranslation(); - const { widget } = service; const { data: wantedData, error: wantedError } = useWidgetAPI(widget, "wanted/missing"); const { data: queuedData, error: queuedError } = useWidgetAPI(widget, "queue"); const { data: seriesData, error: seriesError } = useWidgetAPI(widget, "series"); - if (wantedError || queuedError || seriesError) { - return ; + if (wantedError || wantedData?.error || queuedError || queuedData?.error || seriesError || seriesData?.error) { + const finalError = wantedError ?? wantedData?.error ?? queuedError ?? queuedData?.error ?? seriesError ?? seriesData?.error; + return ; } if (!wantedData || !queuedData || !seriesData) { diff --git a/src/widgets/speedtest/component.jsx b/src/widgets/speedtest/component.jsx index e93c6963..b8bc7fdd 100644 --- a/src/widgets/speedtest/component.jsx +++ b/src/widgets/speedtest/component.jsx @@ -11,8 +11,9 @@ export default function Component({ service }) { const { data: speedtestData, error: speedtestError } = useWidgetAPI(widget, "speedtest/latest"); - if (speedtestError || (speedtestData && !speedtestData.data)) { - return ; + if (speedtestError || speedtestData?.error) { + const finalError = speedtestError ?? speedtestData.error; + return ; } if (!speedtestData) { diff --git a/src/widgets/strelaysrv/component.jsx b/src/widgets/strelaysrv/component.jsx index c7b887db..3366ffc2 100644 --- a/src/widgets/strelaysrv/component.jsx +++ b/src/widgets/strelaysrv/component.jsx @@ -11,8 +11,9 @@ export default function Component({ service }) { const { data: statsData, error: statsError } = useWidgetAPI(widget, "status"); - if (statsError) { - return ; + if (statsError || statsData?.error) { + const finalError = statsError ?? statsData.error; + return ; } if (!statsData) { diff --git a/src/widgets/tautulli/component.jsx b/src/widgets/tautulli/component.jsx index 98207c43..d77f2b1e 100644 --- a/src/widgets/tautulli/component.jsx +++ b/src/widgets/tautulli/component.jsx @@ -4,8 +4,8 @@ import { useTranslation } from "next-i18next"; import { BsFillPlayFill, BsPauseFill, BsCpu, BsFillCpuFill } from "react-icons/bs"; import { MdOutlineSmartDisplay, MdSmartDisplay } from "react-icons/md"; -import Container from "components/services/widget/container"; import { formatProxyUrl } from "utils/proxy/api-helpers"; +import Container from "components/services/widget/container"; function millisecondsToTime(milliseconds) { const seconds = Math.floor((milliseconds / 1000) % 60); @@ -123,8 +123,9 @@ export default function Component({ service }) { refreshInterval: 5000, }); - if (activityError) { - return ; + if (activityError || activityData?.error) { + const finalError = activityError ?? activityData.error; + return ; } if (!activityData) { diff --git a/src/widgets/traefik/component.jsx b/src/widgets/traefik/component.jsx index d24edb9e..bee59c29 100644 --- a/src/widgets/traefik/component.jsx +++ b/src/widgets/traefik/component.jsx @@ -1,18 +1,15 @@ -import { useTranslation } from "next-i18next"; - import Container from "components/services/widget/container"; import Block from "components/services/widget/block"; import useWidgetAPI from "utils/proxy/use-widget-api"; export default function Component({ service }) { - const { t } = useTranslation(); - const { widget } = service; const { data: traefikData, error: traefikError } = useWidgetAPI(widget, "overview"); - if (traefikError) { - return ; + if (traefikError || traefikData?.error) { + const finalError = traefikError ?? traefikData.error; + return ; } if (!traefikData) { diff --git a/src/widgets/transmission/component.jsx b/src/widgets/transmission/component.jsx index 3c2f38ef..6cc8efe6 100644 --- a/src/widgets/transmission/component.jsx +++ b/src/widgets/transmission/component.jsx @@ -11,8 +11,9 @@ export default function Component({ service }) { const { data: torrentData, error: torrentError } = useWidgetAPI(widget); - if (torrentError) { - return ; + if (torrentError || torrentData?.error) { + const finalError = torrentError ?? torrentData.error; + return ; } if (!torrentData) { diff --git a/src/widgets/transmission/proxy.js b/src/widgets/transmission/proxy.js index 34bbd480..cdc1e9c9 100644 --- a/src/widgets/transmission/proxy.js +++ b/src/widgets/transmission/proxy.js @@ -68,6 +68,7 @@ export default async function transmissionProxyHandler(req, res) { if (status !== 200) { logger.error("Error getting data from Transmission: %d. Data: %s", status, data); + return res.status(500).send({error: {message:"Error getting data from Transmission", url, data}}); } if (contentType) res.setHeader("Content-Type", contentType); diff --git a/src/widgets/unifi/component.jsx b/src/widgets/unifi/component.jsx index 9a323259..ea161d67 100644 --- a/src/widgets/unifi/component.jsx +++ b/src/widgets/unifi/component.jsx @@ -12,7 +12,8 @@ export default function Component({ service }) { const { data: statsData, error: statsError } = useWidgetAPI(widget, "stat/sites"); if (statsError || statsData?.error) { - return ; + const finalError = statsError ?? statsData.error; + return ; } const defaultSite = statsData?.data?.find(s => s.name === "default"); diff --git a/src/widgets/unifi/proxy.js b/src/widgets/unifi/proxy.js index 95ac331e..abb5986f 100644 --- a/src/widgets/unifi/proxy.js +++ b/src/widgets/unifi/proxy.js @@ -74,7 +74,7 @@ export default async function unifiProxyHandler(req, res) { // don't make two requests each time data from Unifi is required [status, contentType, data, responseHeaders] = await httpProxy(widget.url); prefix = ""; - if (responseHeaders["x-csrf-token"]) { + if (responseHeaders?.["x-csrf-token"]) { prefix = udmpPrefix; } cache.put(prefixCacheKey, prefix); @@ -88,13 +88,14 @@ export default async function unifiProxyHandler(req, res) { setCookieHeader(url, params); [status, contentType, data, responseHeaders] = await httpProxy(url, params); + if (status === 401) { logger.debug("Unifi isn't logged in or rejected the reqeust, attempting login."); [status, contentType, data, responseHeaders] = await login(widget); if (status !== 200) { logger.error("HTTP %d logging in to Unifi. Data: %s", status, data); - return res.status(status).end(data); + return res.status(status).json({error: {message: `HTTP Error ${status}`, url, data}}); } const json = JSON.parse(data.toString()); @@ -112,6 +113,7 @@ export default async function unifiProxyHandler(req, res) { if (status !== 200) { logger.error("HTTP %d getting data from Unifi endpoint %s. Data: %s", status, url.href, data); + return res.status(status).json({error: {message: `HTTP Error ${status}`, url, data}}); } if (contentType) res.setHeader("Content-Type", contentType); From 1695fd5bee86bdc0c776a118e6c127f0161b5046 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Sat, 22 Oct 2022 23:11:08 -0700 Subject: [PATCH 290/668] Add field validation for some widgets --- src/widgets/jellyseerr/widget.js | 5 +++++ src/widgets/overseerr/widget.js | 5 +++++ src/widgets/pihole/widget.js | 5 +++++ src/widgets/radarr/widget.js | 3 +++ src/widgets/sabnzbd/widget.js | 3 +++ src/widgets/sonarr/widget.js | 9 +++++++++ src/widgets/speedtest/widget.js | 3 +++ src/widgets/strelaysrv/widget.js | 5 +++++ src/widgets/traefik/widget.js | 3 +++ 9 files changed, 41 insertions(+) diff --git a/src/widgets/jellyseerr/widget.js b/src/widgets/jellyseerr/widget.js index d752e339..3895d2c5 100644 --- a/src/widgets/jellyseerr/widget.js +++ b/src/widgets/jellyseerr/widget.js @@ -7,6 +7,11 @@ const widget = { mappings: { "request/count": { endpoint: "request/count", + validate: [ + "pending", + "approved", + "available" + ] }, }, }; diff --git a/src/widgets/overseerr/widget.js b/src/widgets/overseerr/widget.js index d752e339..945af5ed 100644 --- a/src/widgets/overseerr/widget.js +++ b/src/widgets/overseerr/widget.js @@ -7,6 +7,11 @@ const widget = { mappings: { "request/count": { endpoint: "request/count", + validate: [ + "pending", + "approved", + "available", + ], }, }, }; diff --git a/src/widgets/pihole/widget.js b/src/widgets/pihole/widget.js index 2e20fe8a..b392cded 100644 --- a/src/widgets/pihole/widget.js +++ b/src/widgets/pihole/widget.js @@ -7,6 +7,11 @@ const widget = { mappings: { "api.php": { endpoint: "api.php", + validate: [ + "dns_queries_today", + "ads_blocked_today", + "domains_being_blocked" + ] }, }, }; diff --git a/src/widgets/radarr/widget.js b/src/widgets/radarr/widget.js index 5a457ea7..78054219 100644 --- a/src/widgets/radarr/widget.js +++ b/src/widgets/radarr/widget.js @@ -16,6 +16,9 @@ const widget = { }, "queue/status": { endpoint: "queue/status", + validate: [ + "totalCount" + ] }, }, }; diff --git a/src/widgets/sabnzbd/widget.js b/src/widgets/sabnzbd/widget.js index e3097376..0e7ea43a 100644 --- a/src/widgets/sabnzbd/widget.js +++ b/src/widgets/sabnzbd/widget.js @@ -7,6 +7,9 @@ const widget = { mappings: { queue: { endpoint: "queue", + validate: [ + "queue" + ] }, }, }; diff --git a/src/widgets/sonarr/widget.js b/src/widgets/sonarr/widget.js index 32780bda..2be11ffd 100644 --- a/src/widgets/sonarr/widget.js +++ b/src/widgets/sonarr/widget.js @@ -11,12 +11,21 @@ const widget = { map: (data) => ({ total: asJson(data).length, }), + validate: [ + "total" + ] }, queue: { endpoint: "queue", + validate: [ + "totalRecords" + ] }, "wanted/missing": { endpoint: "wanted/missing", + validate: [ + "totalRecords" + ] }, }, }; diff --git a/src/widgets/speedtest/widget.js b/src/widgets/speedtest/widget.js index b227848a..a5ba0634 100644 --- a/src/widgets/speedtest/widget.js +++ b/src/widgets/speedtest/widget.js @@ -7,6 +7,9 @@ const widget = { mappings: { "speedtest/latest": { endpoint: "speedtest/latest", + validate: [ + "data" + ] }, }, }; diff --git a/src/widgets/strelaysrv/widget.js b/src/widgets/strelaysrv/widget.js index 713f05b4..2141e2e2 100644 --- a/src/widgets/strelaysrv/widget.js +++ b/src/widgets/strelaysrv/widget.js @@ -7,6 +7,11 @@ const widget = { mappings: { status: { endpoint: "status", + validate: [ + "numActiveSessions", + "numConnections", + "bytesProxied" + ] }, }, }; diff --git a/src/widgets/traefik/widget.js b/src/widgets/traefik/widget.js index aa92fa1e..5811b1b9 100644 --- a/src/widgets/traefik/widget.js +++ b/src/widgets/traefik/widget.js @@ -7,6 +7,9 @@ const widget = { mappings: { overview: { endpoint: "overview", + validate: [ + "http" + ] }, }, }; From 7c4d8a77cf3915c18dc18034a53998b0cf3020bd Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Sun, 23 Oct 2022 01:48:46 -0700 Subject: [PATCH 291/668] Update error display styling --- public/locales/en/common.json | 2 +- src/components/services/widget/error.jsx | 57 +++++++++++++----------- 2 files changed, 31 insertions(+), 28 deletions(-) diff --git a/public/locales/en/common.json b/public/locales/en/common.json index c4b41f05..0afa4942 100644 --- a/public/locales/en/common.json +++ b/public/locales/en/common.json @@ -13,8 +13,8 @@ "widget": { "missing_type": "Missing Widget Type: {{type}}", "api_error": "API Error", + "information": "Information", "status": "Status", - "debug_info": "Debug Information", "url": "URL", "raw_error": "Raw Error", "response_data": "Response Data" diff --git a/src/components/services/widget/error.jsx b/src/components/services/widget/error.jsx index a6d400e8..d12aebf2 100644 --- a/src/components/services/widget/error.jsx +++ b/src/components/services/widget/error.jsx @@ -1,4 +1,6 @@ import { useTranslation } from "react-i18next"; +import { IoAlertCircle } from "react-icons/io5"; +import classNames from "classnames"; function displayError(error) { return JSON.stringify(error[1] ? error[1] : error, null, 4); @@ -16,33 +18,34 @@ export default function Error({ error }) { } return ( -
-
Something went wrong.
-
- {t("widget.debug_info")} -
-
    -
  • - {t("widget.api_error")}: {error.message} -
  • - {error.url &&
  • - {t("widget.url")}: {error.url} -
  • } - {error.rawError &&
  • - {t("widget.raw_error")}: -
    - {displayError(error.rawError)} -
    -
  • } - {error.data &&
  • - {t("widget.response_data")}: -
    - {displayData(error.data)} -
    -
  • } -
+
+ +
+ {t("widget.api_error")} {t("widget.information")}
-
-
+ +
+
    +
  • + {t("widget.api_error")}: {error.message} +
  • + {error.url &&
  • + {t("widget.url")}: {error.url} +
  • } + {error.rawError &&
  • + {t("widget.raw_error")}: +
    + {displayError(error.rawError)} +
    +
  • } + {error.data &&
  • + {t("widget.response_data")}: +
    + {displayData(error.data)} +
    +
  • } +
+
+
); } From f473d324dfd8e0afef16d9af1551398e8e513c5d Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Sun, 23 Oct 2022 23:45:43 -0700 Subject: [PATCH 292/668] Fix docker status error display --- src/components/services/item.jsx | 2 +- src/components/services/widget/error.jsx | 15 +++++++-------- src/pages/api/docker/stats/[...service].js | 2 +- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/src/components/services/item.jsx b/src/components/services/item.jsx index 56ed2b4b..aa8e8096 100644 --- a/src/components/services/item.jsx +++ b/src/components/services/item.jsx @@ -85,7 +85,7 @@ export default function Item({ service }) { {service.container && service.server && (
diff --git a/src/components/services/widget/error.jsx b/src/components/services/widget/error.jsx index d12aebf2..cf5e1366 100644 --- a/src/components/services/widget/error.jsx +++ b/src/components/services/widget/error.jsx @@ -1,6 +1,5 @@ import { useTranslation } from "react-i18next"; import { IoAlertCircle } from "react-icons/io5"; -import classNames from "classnames"; function displayError(error) { return JSON.stringify(error[1] ? error[1] : error, null, 4); @@ -12,7 +11,7 @@ function displayData(data) { export default function Error({ error }) { const { t } = useTranslation(); - + if (error?.data?.error) { error = error.data.error; // eslint-disable-line no-param-reassign } @@ -21,24 +20,24 @@ export default function Error({ error }) {
- {t("widget.api_error")} {t("widget.information")} + {t("widget.api_error")} {error.message && t("widget.information")}
    -
  • + {error.message &&
  • {t("widget.api_error")}: {error.message} -
  • - {error.url &&
  • +
  • } + {error.url &&
  • {t("widget.url")}: {error.url}
  • } - {error.rawError &&
  • + {error.rawError &&
  • {t("widget.raw_error")}:
    {displayError(error.rawError)}
  • } - {error.data &&
  • + {error.data &&
  • {t("widget.response_data")}:
    {displayData(error.data)} diff --git a/src/pages/api/docker/stats/[...service].js b/src/pages/api/docker/stats/[...service].js index ca8c8bd3..d214ffb2 100644 --- a/src/pages/api/docker/stats/[...service].js +++ b/src/pages/api/docker/stats/[...service].js @@ -46,7 +46,7 @@ export default async function handler(req, res) { }); } catch { res.status(500).send({ - error: "unknown error", + error: {message: "Unknown error"}, }); } } From 00163d2f44416eacb3f154810eaf94fc12755990 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Wed, 26 Oct 2022 08:35:38 -0700 Subject: [PATCH 293/668] Update homebridge, autobrr, truenas, tubearchivist, watchtower, pyload widgets --- src/widgets/autobrr/component.jsx | 5 +++-- src/widgets/autobrr/widget.js | 4 ++++ src/widgets/homebridge/component.jsx | 3 ++- src/widgets/pyload/proxy.js | 6 +++--- src/widgets/truenas/component.jsx | 5 +++-- src/widgets/truenas/widget.js | 4 ++++ src/widgets/tubearchivist/component.jsx | 5 +++-- src/widgets/tubearchivist/widget.js | 12 ++++++++++++ src/widgets/watchtower/component.jsx | 5 +++-- src/widgets/watchtower/proxy.js | 5 +++-- 10 files changed, 40 insertions(+), 14 deletions(-) diff --git a/src/widgets/autobrr/component.jsx b/src/widgets/autobrr/component.jsx index b78f48f6..d2769f0d 100644 --- a/src/widgets/autobrr/component.jsx +++ b/src/widgets/autobrr/component.jsx @@ -13,8 +13,9 @@ export default function Component({ service }) { const { data: filtersData, error: filtersError } = useWidgetAPI(widget, "filters"); const { data: indexersData, error: indexersError } = useWidgetAPI(widget, "indexers"); - if (statsError || filtersError || indexersError) { - return ; + if (statsError || statsData?.error || filtersError || filtersData?.error || indexersError || indexersData?.error) { + const finalError = statsError ?? statsData?.error ?? filtersError ?? filtersData?.error ?? indexersError ?? indexersData?.error; + return ; } if (!statsData || !filtersData || !indexersData) { diff --git a/src/widgets/autobrr/widget.js b/src/widgets/autobrr/widget.js index 0254029e..fb03f9d3 100644 --- a/src/widgets/autobrr/widget.js +++ b/src/widgets/autobrr/widget.js @@ -7,6 +7,10 @@ const widget = { mappings: { stats: { endpoint: "release/stats", + validate: [ + "push_approved_count", + "push_rejected_count" + ] }, filters: { endpoint: "filters", diff --git a/src/widgets/homebridge/component.jsx b/src/widgets/homebridge/component.jsx index 807cc49a..3f1dc5da 100644 --- a/src/widgets/homebridge/component.jsx +++ b/src/widgets/homebridge/component.jsx @@ -12,7 +12,8 @@ export default function Component({ service }) { const { data: homebridgeData, error: homebridgeError } = useWidgetAPI(widget, "info"); if (homebridgeError || homebridgeData?.error) { - return ; + const finalError = homebridgeError ?? homebridgeData.error; + return ; } if (!homebridgeData) { diff --git a/src/widgets/pyload/proxy.js b/src/widgets/pyload/proxy.js index 46b28684..4a866d9c 100644 --- a/src/widgets/pyload/proxy.js +++ b/src/widgets/pyload/proxy.js @@ -84,9 +84,9 @@ export default async function pyloadProxyHandler(req, res) { if (data?.error || status !== 200) { try { - return res.status(status).send(Buffer.from(data).toString()); + return res.status(status).send({error: {message: "HTTP error communicating with Plex API", data: Buffer.from(data).toString()}}); } catch (e) { - return res.status(status).send(data); + return res.status(status).send({error: {message: "HTTP error communicating with Plex API", data}}); } } @@ -95,7 +95,7 @@ export default async function pyloadProxyHandler(req, res) { } } catch (e) { logger.error(e); - return res.status(500).send(e.toString()); + return res.status(500).send({error: {message: `Error communicating with Plex API: ${e.toString()}`}}); } return res.status(400).json({ error: 'Invalid proxy service type' }); diff --git a/src/widgets/truenas/component.jsx b/src/widgets/truenas/component.jsx index 4244d833..fd2fdbe7 100644 --- a/src/widgets/truenas/component.jsx +++ b/src/widgets/truenas/component.jsx @@ -41,8 +41,9 @@ export default function Component({ service }) { const { data: alertData, error: alertError } = useWidgetAPI(widget, "alerts"); const { data: statusData, error: statusError } = useWidgetAPI(widget, "status"); - if (alertError || statusError) { - return ; + if (alertError || alertData?.error || statusError || statusData?.error) { + const finalError = alertError ?? alertData?.error ?? statusError ?? statusData?.error; + return ; } if (!alertData || !statusData) { diff --git a/src/widgets/truenas/widget.js b/src/widgets/truenas/widget.js index 7269e36a..4c479e9f 100644 --- a/src/widgets/truenas/widget.js +++ b/src/widgets/truenas/widget.js @@ -14,6 +14,10 @@ const widget = { }, status: { endpoint: "system/info", + validate: [ + "loadavg", + "uptime_seconds" + ] }, }, }; diff --git a/src/widgets/tubearchivist/component.jsx b/src/widgets/tubearchivist/component.jsx index 5b548443..503fb0fa 100644 --- a/src/widgets/tubearchivist/component.jsx +++ b/src/widgets/tubearchivist/component.jsx @@ -14,8 +14,9 @@ export default function Component({ service }) { const { data: channelsData, error: channelsError } = useWidgetAPI(widget, "channels"); const { data: playlistsData, error: playlistsError } = useWidgetAPI(widget, "playlists"); - if (downloadsError || videosError || channelsError || playlistsError) { - return ; + if (downloadsError || downloadsData?.error || videosError || videosData?.error || channelsError || channelsData?.error || playlistsError || playlistsData?.error) { + const finalError = downloadsError ?? downloadsData?.error ?? videosError ?? videosData?.error ?? channelsError ?? channelsData?.error ?? playlistsError ?? playlistsData?.error; + return ; } if (!downloadsData || !videosData || !channelsData || !playlistsData) { diff --git a/src/widgets/tubearchivist/widget.js b/src/widgets/tubearchivist/widget.js index c73070f0..6610bf12 100644 --- a/src/widgets/tubearchivist/widget.js +++ b/src/widgets/tubearchivist/widget.js @@ -7,15 +7,27 @@ const widget = { mappings: { downloads: { endpoint: "download", + validate: [ + "paginate", + ] }, videos: { endpoint: "video", + validate: [ + "paginate", + ] }, channels: { endpoint: "channel", + validate: [ + "paginate", + ] }, playlists: { endpoint: "playlist", + validate: [ + "paginate", + ] }, }, }; diff --git a/src/widgets/watchtower/component.jsx b/src/widgets/watchtower/component.jsx index 68c5531f..2f683c1d 100644 --- a/src/widgets/watchtower/component.jsx +++ b/src/widgets/watchtower/component.jsx @@ -12,8 +12,9 @@ export default function Component({ service }) { const { data: watchData, error: watchError } = useWidgetAPI(widget, "watchtower"); - if (watchError || !watchData) { - return ; + if (watchError || watchData?.error) { + const finalError = watchError ?? watchData?.error; + return ; } if (!watchData) { diff --git a/src/widgets/watchtower/proxy.js b/src/widgets/watchtower/proxy.js index 2d54928c..b37fc5f8 100644 --- a/src/widgets/watchtower/proxy.js +++ b/src/widgets/watchtower/proxy.js @@ -33,15 +33,16 @@ export default async function watchtowerProxyHandler(req, res) { if (status !== 200 || !data) { logger.error("Error getting data from WatchTower: %d. Data: %s", status, data); + return res.status(status).json({error: {message: `HTTP Error ${status}`, url, data}}); } - const cleanData = data.toString().split("\n").filter(s => s.startsWith("watchtower")) + const cleanData = data.toString().split("\n").filter(s => s.startsWith("watchtower")); const jsonRes = {} cleanData.map(e => e.split(" ")).forEach(strArray => { const [key, value] = strArray jsonRes[key] = value - }) + }); if (contentType) res.setHeader("Content-Type", contentType); return res.status(status).send(jsonRes); From 8a783ba9f6c1e034f74ff1d4a71dedfe49e2f30b Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Mon, 7 Nov 2022 09:24:15 -0800 Subject: [PATCH 294/668] Simplify error catching --- .../widgets/unifi_console/unifi_console.jsx | 2 +- src/utils/proxy/use-widget-api.js | 8 +++++++- src/widgets/adguard/component.jsx | 6 +++--- src/widgets/authentik/component.jsx | 4 ++-- src/widgets/autobrr/component.jsx | 4 ++-- src/widgets/bazarr/component.jsx | 4 ++-- src/widgets/changedetectionio/component.jsx | 5 ++--- src/widgets/coinmarketcap/component.jsx | 5 ++--- src/widgets/emby/component.jsx | 11 +++++------ src/widgets/gotify/component.jsx | 4 ++-- src/widgets/homebridge/component.jsx | 5 ++--- src/widgets/jackett/component.jsx | 5 ++--- src/widgets/jellyseerr/component.jsx | 5 ++--- src/widgets/lidarr/component.jsx | 4 ++-- src/widgets/mastodon/component.jsx | 5 ++--- src/widgets/navidrome/component.jsx | 4 ++-- src/widgets/nzbget/component.jsx | 5 ++--- src/widgets/ombi/component.jsx | 5 ++--- src/widgets/overseerr/component.jsx | 5 ++--- src/widgets/pihole/component.jsx | 5 ++--- src/widgets/plex/component.jsx | 10 ++++------ src/widgets/plex/proxy.js | 2 +- src/widgets/portainer/component.jsx | 5 ++--- src/widgets/prowlarr/component.jsx | 4 ++-- src/widgets/proxmox/component.jsx | 5 ++--- src/widgets/pyload/component.jsx | 4 ++-- src/widgets/qbittorrent/component.jsx | 5 ++--- src/widgets/radarr/component.jsx | 4 ++-- src/widgets/readarr/component.jsx | 4 ++-- src/widgets/rutorrent/component.jsx | 5 ++--- src/widgets/sabnzbd/component.jsx | 5 ++--- src/widgets/sonarr/component.jsx | 4 ++-- src/widgets/speedtest/component.jsx | 5 ++--- src/widgets/strelaysrv/component.jsx | 5 ++--- src/widgets/tautulli/component.jsx | 10 ++++------ src/widgets/traefik/component.jsx | 5 ++--- src/widgets/transmission/component.jsx | 5 ++--- src/widgets/truenas/component.jsx | 4 ++-- src/widgets/tubearchivist/component.jsx | 4 ++-- src/widgets/unifi/component.jsx | 5 ++--- src/widgets/watchtower/component.jsx | 5 ++--- 41 files changed, 93 insertions(+), 113 deletions(-) diff --git a/src/components/widgets/unifi_console/unifi_console.jsx b/src/components/widgets/unifi_console/unifi_console.jsx index 3e3e135e..af8fd458 100644 --- a/src/components/widgets/unifi_console/unifi_console.jsx +++ b/src/components/widgets/unifi_console/unifi_console.jsx @@ -12,7 +12,7 @@ export default function Widget({ options }) { options.type = "unifi_console"; const { data: statsData, error: statsError } = useWidgetAPI(options, "stat/sites", { index: options.index }); - if (statsError || statsData?.error) { + if (statsError) { return (
    diff --git a/src/utils/proxy/use-widget-api.js b/src/utils/proxy/use-widget-api.js index b196e62c..05eb220e 100644 --- a/src/utils/proxy/use-widget-api.js +++ b/src/utils/proxy/use-widget-api.js @@ -3,5 +3,11 @@ import useSWR from "swr"; import { formatProxyUrl } from "./api-helpers"; export default function useWidgetAPI(widget, ...options) { - return useSWR(formatProxyUrl(widget, ...options)); + const config = {}; + if (options?.refreshInterval) { + config.refreshInterval = options.refreshInterval; + } + const { data, error } = useSWR(formatProxyUrl(widget, ...options), config); + // make the data error the top-level error + return { data, error: data?.error ?? error } } diff --git a/src/widgets/adguard/component.jsx b/src/widgets/adguard/component.jsx index 3147ffcf..bab969ad 100644 --- a/src/widgets/adguard/component.jsx +++ b/src/widgets/adguard/component.jsx @@ -11,10 +11,10 @@ export default function Component({ service }) { const { data: adguardData, error: adguardError } = useWidgetAPI(widget, "stats"); - if (adguardError || adguardData?.error) { - const finalError = adguardError ?? adguardData.error; - return ; + if (adguardError) { + return ; } + if (!adguardData) { return ( diff --git a/src/widgets/authentik/component.jsx b/src/widgets/authentik/component.jsx index d4aa8dba..84498db4 100644 --- a/src/widgets/authentik/component.jsx +++ b/src/widgets/authentik/component.jsx @@ -13,8 +13,8 @@ export default function Component({ service }) { const { data: loginsData, error: loginsError } = useWidgetAPI(widget, "login"); const { data: failedLoginsData, error: failedLoginsError } = useWidgetAPI(widget, "login_failed"); - if (usersError || usersData?.error || loginsError || loginsData?.error || failedLoginsError || failedLoginsData?.error) { - const finalError = usersError ?? usersData?.error ?? loginsError ?? loginsData?.error ?? failedLoginsError ?? failedLoginsData?.error; + if (usersError || loginsError || failedLoginsError) { + const finalError = usersError ?? loginsError ?? failedLoginsError; return ; } diff --git a/src/widgets/autobrr/component.jsx b/src/widgets/autobrr/component.jsx index d2769f0d..3c170243 100644 --- a/src/widgets/autobrr/component.jsx +++ b/src/widgets/autobrr/component.jsx @@ -13,8 +13,8 @@ export default function Component({ service }) { const { data: filtersData, error: filtersError } = useWidgetAPI(widget, "filters"); const { data: indexersData, error: indexersError } = useWidgetAPI(widget, "indexers"); - if (statsError || statsData?.error || filtersError || filtersData?.error || indexersError || indexersData?.error) { - const finalError = statsError ?? statsData?.error ?? filtersError ?? filtersData?.error ?? indexersError ?? indexersData?.error; + if (statsError || filtersError || indexersError) { + const finalError = statsError ?? filtersError ?? indexersError; return ; } diff --git a/src/widgets/bazarr/component.jsx b/src/widgets/bazarr/component.jsx index 070f8232..0537c180 100644 --- a/src/widgets/bazarr/component.jsx +++ b/src/widgets/bazarr/component.jsx @@ -12,8 +12,8 @@ export default function Component({ service }) { const { data: episodesData, error: episodesError } = useWidgetAPI(widget, "episodes"); const { data: moviesData, error: moviesError } = useWidgetAPI(widget, "movies"); - if (moviesError || moviesData?.error || episodesError || episodesData?.error) { - const finalError = moviesError ?? moviesData?.error ?? episodesError ?? episodesData?.error; + if (moviesError || episodesError) { + const finalError = moviesError ?? episodesError; return ; } diff --git a/src/widgets/changedetectionio/component.jsx b/src/widgets/changedetectionio/component.jsx index ce29691f..0a4ce8d2 100644 --- a/src/widgets/changedetectionio/component.jsx +++ b/src/widgets/changedetectionio/component.jsx @@ -11,9 +11,8 @@ export default function Component({ service }) { const { data, error } = useWidgetAPI(widget, "info"); - if (error || data?.error) { - const finalError = error ?? data.error; - return ; + if (error) { + return ; } const totalObserved = Object.keys(data).length; let diffsDetected = 0; diff --git a/src/widgets/coinmarketcap/component.jsx b/src/widgets/coinmarketcap/component.jsx index fa5844bd..90b91a5e 100644 --- a/src/widgets/coinmarketcap/component.jsx +++ b/src/widgets/coinmarketcap/component.jsx @@ -36,9 +36,8 @@ export default function Component({ service }) { ); } - if (statsError || statsData?.error) { - const finalError = statsError ?? statsData.error; - return ; + if (statsError) { + return ; } if (!statsData || !dateRange) { diff --git a/src/widgets/emby/component.jsx b/src/widgets/emby/component.jsx index 26371c81..a61cd7aa 100644 --- a/src/widgets/emby/component.jsx +++ b/src/widgets/emby/component.jsx @@ -1,10 +1,10 @@ -import useSWR from "swr"; import { useTranslation } from "next-i18next"; import { BsVolumeMuteFill, BsFillPlayFill, BsPauseFill, BsCpu, BsFillCpuFill } from "react-icons/bs"; import { MdOutlineSmartDisplay } from "react-icons/md"; -import { formatProxyUrl, formatProxyUrlWithSegments } from "utils/proxy/api-helpers"; import Container from "components/services/widget/container"; +import { formatProxyUrlWithSegments } from "utils/proxy/api-helpers"; +import useWidgetAPI from "utils/proxy/use-widget-api"; function ticksToTime(ticks) { const milliseconds = ticks / 10000; @@ -157,7 +157,7 @@ export default function Component({ service }) { data: sessionsData, error: sessionsError, mutate: sessionMutate, - } = useSWR(formatProxyUrl(widget, "Sessions"), { + } = useWidgetAPI(widget, "Sessions", { refreshInterval: 5000, }); @@ -171,9 +171,8 @@ export default function Component({ service }) { }); } - if (sessionsError || sessionsData?.error) { - const finalError = sessionsError ?? sessionsData.error; - return ; + if (sessionsError) { + return ; } if (!sessionsData) { diff --git a/src/widgets/gotify/component.jsx b/src/widgets/gotify/component.jsx index cedc3f84..7cd5c135 100644 --- a/src/widgets/gotify/component.jsx +++ b/src/widgets/gotify/component.jsx @@ -9,8 +9,8 @@ export default function Component({ service }) { const { data: messagesData, error: messagesError } = useWidgetAPI(widget, "message"); const { data: clientsData, error: clientsError } = useWidgetAPI(widget, "client"); - if (appsError || appsData?.error || messagesError || messagesData?.error || clientsError || clientsData?.error) { - const finalError = appsError ?? appsData?.error ?? messagesError ?? messagesData?.error ?? clientsError ?? clientsData?.error; + if (appsError || messagesError || clientsError) { + const finalError = appsError ?? messagesError ?? clientsError; return ; } diff --git a/src/widgets/homebridge/component.jsx b/src/widgets/homebridge/component.jsx index 3f1dc5da..a1e2f2e1 100644 --- a/src/widgets/homebridge/component.jsx +++ b/src/widgets/homebridge/component.jsx @@ -11,9 +11,8 @@ export default function Component({ service }) { const { data: homebridgeData, error: homebridgeError } = useWidgetAPI(widget, "info"); - if (homebridgeError || homebridgeData?.error) { - const finalError = homebridgeError ?? homebridgeData.error; - return ; + if (homebridgeError) { + return ; } if (!homebridgeData) { diff --git a/src/widgets/jackett/component.jsx b/src/widgets/jackett/component.jsx index e9fcd95a..b70cbd95 100644 --- a/src/widgets/jackett/component.jsx +++ b/src/widgets/jackett/component.jsx @@ -11,9 +11,8 @@ export default function Component({ service }) { const { data: indexersData, error: indexersError } = useWidgetAPI(widget, "indexers"); - if (indexersError || indexersData?.error) { - const finalError = indexersError ?? indexersData.error; - return ; + if (indexersError) { + return ; } if (!indexersData) { diff --git a/src/widgets/jellyseerr/component.jsx b/src/widgets/jellyseerr/component.jsx index aece8560..a129909e 100644 --- a/src/widgets/jellyseerr/component.jsx +++ b/src/widgets/jellyseerr/component.jsx @@ -7,9 +7,8 @@ export default function Component({ service }) { const { data: statsData, error: statsError } = useWidgetAPI(widget, "request/count"); - if (statsError || statsData?.error) { - const finalError = statsError ?? statsData.error; - return ; + if (statsError) { + return ; } if (!statsData) { diff --git a/src/widgets/lidarr/component.jsx b/src/widgets/lidarr/component.jsx index 5951e094..b612ae32 100644 --- a/src/widgets/lidarr/component.jsx +++ b/src/widgets/lidarr/component.jsx @@ -13,8 +13,8 @@ export default function Component({ service }) { const { data: wantedData, error: wantedError } = useWidgetAPI(widget, "wanted/missing"); const { data: queueData, error: queueError } = useWidgetAPI(widget, "queue/status"); - if (albumsError || albumsData?.error || wantedError || wantedData?.error || queueError || queueData?.error) { - const finalError = albumsError ?? albumsData?.error ?? wantedError ?? wantedData?.error ?? queueError ?? queueData?.error; + if (albumsError || wantedError || queueError) { + const finalError = albumsError ?? wantedError ?? queueError; return ; } diff --git a/src/widgets/mastodon/component.jsx b/src/widgets/mastodon/component.jsx index 477d648e..fd4f0ece 100644 --- a/src/widgets/mastodon/component.jsx +++ b/src/widgets/mastodon/component.jsx @@ -11,9 +11,8 @@ export default function Component({ service }) { const { data: statsData, error: statsError } = useWidgetAPI(widget, "instance"); - if (statsError || statsData?.error) { - const finalError = statsError ?? statsData.error; - return ; + if (statsError) { + return ; } if (!statsData) { diff --git a/src/widgets/navidrome/component.jsx b/src/widgets/navidrome/component.jsx index f4f3e672..e45ac655 100644 --- a/src/widgets/navidrome/component.jsx +++ b/src/widgets/navidrome/component.jsx @@ -26,8 +26,8 @@ export default function Component({ service }) { const { data: navidromeData, error: navidromeError } = useWidgetAPI(widget, "getNowPlaying"); - if (navidromeError || navidromeData?.error || navidromeData?.["subsonic-response"]?.error) { - return ; + if (navidromeError || navidromeData?.["subsonic-response"]?.error) { + return ; } if (!navidromeData) { diff --git a/src/widgets/nzbget/component.jsx b/src/widgets/nzbget/component.jsx index 92408982..b33e0830 100644 --- a/src/widgets/nzbget/component.jsx +++ b/src/widgets/nzbget/component.jsx @@ -11,9 +11,8 @@ export default function Component({ service }) { const { data: statusData, error: statusError } = useWidgetAPI(widget, "status"); - if (statusError || statusData?.error) { - const finalError = statusError ?? statusData.error; - return ; + if (statusError) { + return ; } if (!statusData) { diff --git a/src/widgets/ombi/component.jsx b/src/widgets/ombi/component.jsx index a5a0a0b7..722d5c45 100644 --- a/src/widgets/ombi/component.jsx +++ b/src/widgets/ombi/component.jsx @@ -7,9 +7,8 @@ export default function Component({ service }) { const { data: statsData, error: statsError } = useWidgetAPI(widget, "Request/count"); - if (statsError || statsData?.error) { - const finalError = statsError ?? statsData.error; - return ; + if (statsError) { + return ; } if (!statsData) { diff --git a/src/widgets/overseerr/component.jsx b/src/widgets/overseerr/component.jsx index f0269b4f..6f5ae8ff 100644 --- a/src/widgets/overseerr/component.jsx +++ b/src/widgets/overseerr/component.jsx @@ -7,9 +7,8 @@ export default function Component({ service }) { const { data: statsData, error: statsError } = useWidgetAPI(widget, "request/count"); - if (statsError || statsData?.error) { - const finalError = statsError ?? statsData.error; - return ; + if (statsError) { + return ; } if (!statsData) { diff --git a/src/widgets/pihole/component.jsx b/src/widgets/pihole/component.jsx index cb77cc2b..f213ac6d 100644 --- a/src/widgets/pihole/component.jsx +++ b/src/widgets/pihole/component.jsx @@ -11,9 +11,8 @@ export default function Component({ service }) { const { data: piholeData, error: piholeError } = useWidgetAPI(widget, "api.php"); - if (piholeError || piholeData?.error) { - const finalError = piholeError ?? piholeData.error; - return ; + if (piholeError) { + return ; } if (!piholeData) { diff --git a/src/widgets/plex/component.jsx b/src/widgets/plex/component.jsx index cf6d705c..6fe15bd5 100644 --- a/src/widgets/plex/component.jsx +++ b/src/widgets/plex/component.jsx @@ -1,22 +1,20 @@ -import useSWR from "swr"; import { useTranslation } from "next-i18next"; import Block from "components/services/widget/block"; import Container from "components/services/widget/container"; -import { formatProxyUrl } from "utils/proxy/api-helpers"; +import useWidgetAPI from "utils/proxy/use-widget-api"; export default function Component({ service }) { const { t } = useTranslation(); const { widget } = service; - const { data: plexData, error: plexAPIError } = useSWR(formatProxyUrl(widget, "unified"), { + const { data: plexData, error: plexAPIError } = useWidgetAPI(widget, "unified", { refreshInterval: 5000, }); - if (plexAPIError || plexData?.error) { - const finalError = plexAPIError ?? plexData.error; - return ; + if (plexAPIError) { + return ; } if (!plexData) { diff --git a/src/widgets/plex/proxy.js b/src/widgets/plex/proxy.js index c016023d..36b7a268 100644 --- a/src/widgets/plex/proxy.js +++ b/src/widgets/plex/proxy.js @@ -67,7 +67,7 @@ export default async function plexProxyHandler(req, res) { let [status, apiData] = await fetchFromPlexAPI("/status/sessions", widget); if (status !== 200) { - return res.status(status).json({error: {message: "HTTP error communicating with Plex API", data: apiData}}); + return res.status(status).json({error: {message: "HTTP error communicating with Plex API", data: Buffer.from(apiData).toString()}}); } if (apiData && apiData.MediaContainer) { diff --git a/src/widgets/portainer/component.jsx b/src/widgets/portainer/component.jsx index 87c173dd..ccc26b7f 100644 --- a/src/widgets/portainer/component.jsx +++ b/src/widgets/portainer/component.jsx @@ -13,9 +13,8 @@ export default function Component({ service }) { all: 1, }); - if (containersError || containersData?.error) { - const finalError = containersError ?? containersData.error; - return ; + if (containersError) { + return ; } if (!containersData) { diff --git a/src/widgets/prowlarr/component.jsx b/src/widgets/prowlarr/component.jsx index 6649fdef..890679e5 100644 --- a/src/widgets/prowlarr/component.jsx +++ b/src/widgets/prowlarr/component.jsx @@ -8,8 +8,8 @@ export default function Component({ service }) { const { data: indexersData, error: indexersError } = useWidgetAPI(widget, "indexer"); const { data: grabsData, error: grabsError } = useWidgetAPI(widget, "indexerstats"); - if (indexersError || indexersData?.error || grabsError || grabsData?.error) { - const finalError = indexersError ?? indexersData?.error ?? grabsError ?? grabsData?.error; + if (indexersError || grabsError) { + const finalError = indexersError ?? grabsError; return ; } diff --git a/src/widgets/proxmox/component.jsx b/src/widgets/proxmox/component.jsx index 79d2d881..1d384b54 100644 --- a/src/widgets/proxmox/component.jsx +++ b/src/widgets/proxmox/component.jsx @@ -15,9 +15,8 @@ export default function Component({ service }) { const { data: clusterData, error: clusterError } = useWidgetAPI(widget, "cluster/resources"); - if (clusterError || clusterData?.error) { - const finalError = clusterError ?? clusterData.error; - return ; + if (clusterError) { + return ; } if (!clusterData || !clusterData.data) { diff --git a/src/widgets/pyload/component.jsx b/src/widgets/pyload/component.jsx index 958733c3..3bb4b0c4 100644 --- a/src/widgets/pyload/component.jsx +++ b/src/widgets/pyload/component.jsx @@ -9,8 +9,8 @@ export default function Component({ service }) { const { widget } = service; const { data: pyloadData, error: pyloadError } = useWidgetAPI(widget, "status"); - if (pyloadError || pyloadData?.error) { - return ; + if (pyloadError) { + return ; } if (!pyloadData) { diff --git a/src/widgets/qbittorrent/component.jsx b/src/widgets/qbittorrent/component.jsx index 541032a1..3abc933d 100644 --- a/src/widgets/qbittorrent/component.jsx +++ b/src/widgets/qbittorrent/component.jsx @@ -11,9 +11,8 @@ export default function Component({ service }) { const { data: torrentData, error: torrentError } = useWidgetAPI(widget, "torrents/info"); - if (torrentError || torrentData?.error) { - const finalError = torrentError ?? torrentData.error; - return ; + if (torrentError) { + return ; } if (!torrentData) { diff --git a/src/widgets/radarr/component.jsx b/src/widgets/radarr/component.jsx index 679ce4fd..f2620b78 100644 --- a/src/widgets/radarr/component.jsx +++ b/src/widgets/radarr/component.jsx @@ -8,8 +8,8 @@ export default function Component({ service }) { const { data: moviesData, error: moviesError } = useWidgetAPI(widget, "movie"); const { data: queuedData, error: queuedError } = useWidgetAPI(widget, "queue/status"); - if (moviesError || moviesData?.error || queuedError || queuedData?.error) { - const finalError = moviesError ?? moviesData?.error ?? queuedError ?? queuedData?.error; + if (moviesError || queuedError) { + const finalError = moviesError ?? queuedError; return ; } diff --git a/src/widgets/readarr/component.jsx b/src/widgets/readarr/component.jsx index ddf2dfd7..4eee11f4 100644 --- a/src/widgets/readarr/component.jsx +++ b/src/widgets/readarr/component.jsx @@ -13,8 +13,8 @@ export default function Component({ service }) { const { data: wantedData, error: wantedError } = useWidgetAPI(widget, "wanted/missing"); const { data: queueData, error: queueError } = useWidgetAPI(widget, "queue/status"); - if (booksError || booksData?.error || wantedError || wantedData?.error || queueError || queueData?.error) { - const finalError = booksError ?? booksData?.error ?? wantedError ?? wantedData?.error ?? queueError ?? queueData?.error; + if (booksError || wantedError || queueError) { + const finalError = booksError ?? wantedError ?? queueError; return ; } diff --git a/src/widgets/rutorrent/component.jsx b/src/widgets/rutorrent/component.jsx index 4f7340f5..ef3a278f 100644 --- a/src/widgets/rutorrent/component.jsx +++ b/src/widgets/rutorrent/component.jsx @@ -11,9 +11,8 @@ export default function Component({ service }) { const { data: statusData, error: statusError } = useWidgetAPI(widget); - if (statusError || statusData?.error) { - const finalError = statusError ?? statusData.error; - return ; + if (statusError) { + return ; } if (!statusData) { diff --git a/src/widgets/sabnzbd/component.jsx b/src/widgets/sabnzbd/component.jsx index db49160b..b0cdb951 100644 --- a/src/widgets/sabnzbd/component.jsx +++ b/src/widgets/sabnzbd/component.jsx @@ -21,9 +21,8 @@ export default function Component({ service }) { const { data: queueData, error: queueError } = useWidgetAPI(widget, "queue"); - if (queueError || queueData?.error) { - const finalError = queueError ?? queueData.error; - return ; + if (queueError) { + return ; } if (!queueData) { diff --git a/src/widgets/sonarr/component.jsx b/src/widgets/sonarr/component.jsx index 28751eb6..14dd3328 100644 --- a/src/widgets/sonarr/component.jsx +++ b/src/widgets/sonarr/component.jsx @@ -9,8 +9,8 @@ export default function Component({ service }) { const { data: queuedData, error: queuedError } = useWidgetAPI(widget, "queue"); const { data: seriesData, error: seriesError } = useWidgetAPI(widget, "series"); - if (wantedError || wantedData?.error || queuedError || queuedData?.error || seriesError || seriesData?.error) { - const finalError = wantedError ?? wantedData?.error ?? queuedError ?? queuedData?.error ?? seriesError ?? seriesData?.error; + if (wantedError || queuedError || seriesError) { + const finalError = wantedError ?? queuedError ?? seriesError; return ; } diff --git a/src/widgets/speedtest/component.jsx b/src/widgets/speedtest/component.jsx index b8bc7fdd..3067dbf3 100644 --- a/src/widgets/speedtest/component.jsx +++ b/src/widgets/speedtest/component.jsx @@ -11,9 +11,8 @@ export default function Component({ service }) { const { data: speedtestData, error: speedtestError } = useWidgetAPI(widget, "speedtest/latest"); - if (speedtestError || speedtestData?.error) { - const finalError = speedtestError ?? speedtestData.error; - return ; + if (speedtestError) { + return ; } if (!speedtestData) { diff --git a/src/widgets/strelaysrv/component.jsx b/src/widgets/strelaysrv/component.jsx index 3366ffc2..f58f8830 100644 --- a/src/widgets/strelaysrv/component.jsx +++ b/src/widgets/strelaysrv/component.jsx @@ -11,9 +11,8 @@ export default function Component({ service }) { const { data: statsData, error: statsError } = useWidgetAPI(widget, "status"); - if (statsError || statsData?.error) { - const finalError = statsError ?? statsData.error; - return ; + if (statsError) { + return ; } if (!statsData) { diff --git a/src/widgets/tautulli/component.jsx b/src/widgets/tautulli/component.jsx index d77f2b1e..44b1eb6d 100644 --- a/src/widgets/tautulli/component.jsx +++ b/src/widgets/tautulli/component.jsx @@ -1,11 +1,10 @@ /* eslint-disable camelcase */ -import useSWR from "swr"; import { useTranslation } from "next-i18next"; import { BsFillPlayFill, BsPauseFill, BsCpu, BsFillCpuFill } from "react-icons/bs"; import { MdOutlineSmartDisplay, MdSmartDisplay } from "react-icons/md"; -import { formatProxyUrl } from "utils/proxy/api-helpers"; import Container from "components/services/widget/container"; +import useWidgetAPI from "utils/proxy/use-widget-api"; function millisecondsToTime(milliseconds) { const seconds = Math.floor((milliseconds / 1000) % 60); @@ -119,13 +118,12 @@ export default function Component({ service }) { const { widget } = service; - const { data: activityData, error: activityError } = useSWR(formatProxyUrl(widget, "get_activity"), { + const { data: activityData, error: activityError } = useWidgetAPI(widget, "get_activity", { refreshInterval: 5000, }); - if (activityError || activityData?.error) { - const finalError = activityError ?? activityData.error; - return ; + if (activityError) { + return ; } if (!activityData) { diff --git a/src/widgets/traefik/component.jsx b/src/widgets/traefik/component.jsx index bee59c29..7739e62a 100644 --- a/src/widgets/traefik/component.jsx +++ b/src/widgets/traefik/component.jsx @@ -7,9 +7,8 @@ export default function Component({ service }) { const { data: traefikData, error: traefikError } = useWidgetAPI(widget, "overview"); - if (traefikError || traefikData?.error) { - const finalError = traefikError ?? traefikData.error; - return ; + if (traefikError) { + return ; } if (!traefikData) { diff --git a/src/widgets/transmission/component.jsx b/src/widgets/transmission/component.jsx index 6cc8efe6..7de276c2 100644 --- a/src/widgets/transmission/component.jsx +++ b/src/widgets/transmission/component.jsx @@ -11,9 +11,8 @@ export default function Component({ service }) { const { data: torrentData, error: torrentError } = useWidgetAPI(widget); - if (torrentError || torrentData?.error) { - const finalError = torrentError ?? torrentData.error; - return ; + if (torrentError) { + return ; } if (!torrentData) { diff --git a/src/widgets/truenas/component.jsx b/src/widgets/truenas/component.jsx index fd2fdbe7..70f917ab 100644 --- a/src/widgets/truenas/component.jsx +++ b/src/widgets/truenas/component.jsx @@ -41,8 +41,8 @@ export default function Component({ service }) { const { data: alertData, error: alertError } = useWidgetAPI(widget, "alerts"); const { data: statusData, error: statusError } = useWidgetAPI(widget, "status"); - if (alertError || alertData?.error || statusError || statusData?.error) { - const finalError = alertError ?? alertData?.error ?? statusError ?? statusData?.error; + if (alertError || statusError) { + const finalError = alertError ?? statusError; return ; } diff --git a/src/widgets/tubearchivist/component.jsx b/src/widgets/tubearchivist/component.jsx index 503fb0fa..b1b310d7 100644 --- a/src/widgets/tubearchivist/component.jsx +++ b/src/widgets/tubearchivist/component.jsx @@ -14,8 +14,8 @@ export default function Component({ service }) { const { data: channelsData, error: channelsError } = useWidgetAPI(widget, "channels"); const { data: playlistsData, error: playlistsError } = useWidgetAPI(widget, "playlists"); - if (downloadsError || downloadsData?.error || videosError || videosData?.error || channelsError || channelsData?.error || playlistsError || playlistsData?.error) { - const finalError = downloadsError ?? downloadsData?.error ?? videosError ?? videosData?.error ?? channelsError ?? channelsData?.error ?? playlistsError ?? playlistsData?.error; + if (downloadsError || videosError || channelsError || playlistsError) { + const finalError = downloadsError ?? videosError ?? channelsError ?? playlistsError; return ; } diff --git a/src/widgets/unifi/component.jsx b/src/widgets/unifi/component.jsx index ea161d67..6df43dfd 100644 --- a/src/widgets/unifi/component.jsx +++ b/src/widgets/unifi/component.jsx @@ -11,9 +11,8 @@ export default function Component({ service }) { const { data: statsData, error: statsError } = useWidgetAPI(widget, "stat/sites"); - if (statsError || statsData?.error) { - const finalError = statsError ?? statsData.error; - return ; + if (statsError) { + return ; } const defaultSite = statsData?.data?.find(s => s.name === "default"); diff --git a/src/widgets/watchtower/component.jsx b/src/widgets/watchtower/component.jsx index 2f683c1d..3550e3f4 100644 --- a/src/widgets/watchtower/component.jsx +++ b/src/widgets/watchtower/component.jsx @@ -12,9 +12,8 @@ export default function Component({ service }) { const { data: watchData, error: watchError } = useWidgetAPI(widget, "watchtower"); - if (watchError || watchData?.error) { - const finalError = watchError ?? watchData?.error; - return ; + if (watchError) { + return ; } if (!watchData) { From 1215808dd49addfa44e8446ab0995b0956741277 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Fri, 18 Nov 2022 09:11:25 -0800 Subject: [PATCH 295/668] Add validation, error display for gluetun --- src/widgets/gluetun/component.jsx | 6 +----- src/widgets/gluetun/widget.js | 5 +++++ 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/widgets/gluetun/component.jsx b/src/widgets/gluetun/component.jsx index f20c400b..59e490ce 100644 --- a/src/widgets/gluetun/component.jsx +++ b/src/widgets/gluetun/component.jsx @@ -1,18 +1,14 @@ -import { useTranslation } from "next-i18next"; - import Container from "components/services/widget/container"; import Block from "components/services/widget/block"; import useWidgetAPI from "utils/proxy/use-widget-api"; export default function Component({ service }) { - const { t } = useTranslation(); - const { widget } = service; const { data: gluetunData, error: gluetunError } = useWidgetAPI(widget, "ip"); if (gluetunError) { - return ; + return ; } if (!gluetunData) { diff --git a/src/widgets/gluetun/widget.js b/src/widgets/gluetun/widget.js index 59aa39ef..009adbf3 100644 --- a/src/widgets/gluetun/widget.js +++ b/src/widgets/gluetun/widget.js @@ -7,6 +7,11 @@ const widget = { mappings: { ip: { endpoint: "publicip/ip", + validate: [ + "public_ip", + "region", + "country" + ] }, }, }; From 83a3a06386672ee5125b36fa8ffc582ed8071632 Mon Sep 17 00:00:00 2001 From: Rat Date: Fri, 18 Nov 2022 15:32:59 -0800 Subject: [PATCH 296/668] Added configurable setting for log folder, falls back to config path if not set --- src/utils/logger.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/utils/logger.js b/src/utils/logger.js index 5ad93546..19c6a71e 100644 --- a/src/utils/logger.js +++ b/src/utils/logger.js @@ -1,6 +1,7 @@ /* eslint-disable no-console */ import { join } from "path"; import { format as utilFormat } from "node:util"; +import checkAndCopyConfig, { getSettings } from "utils/config/config"; import winston from "winston"; @@ -8,6 +9,9 @@ let winstonLogger; function init() { const configPath = join(process.cwd(), "config"); + checkAndCopyConfig("settings.yaml"); + const settings = getSettings(); + const logpath = settings.logpath || configPath; function combineMessageAndSplat() { return { @@ -57,7 +61,7 @@ function init() { winston.format.timestamp(), winston.format.printf(messageFormatter) ), - filename: `${configPath}/logs/homepage.log`, + filename: `${logpath}/logs/homepage.log`, handleExceptions: true, handleRejections: true, }), From 15d7c70a40ebb1f7db61d2e362de996764419697 Mon Sep 17 00:00:00 2001 From: gallegonovato Date: Fri, 18 Nov 2022 17:06:13 +0000 Subject: [PATCH 297/668] Translated using Weblate (Spanish) Currently translated at 100.0% (234 of 234 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/ --- public/locales/es/common.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/public/locales/es/common.json b/public/locales/es/common.json index 4e98e30e..967f2543 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -316,8 +316,8 @@ "total": "Total" }, "gluetun": { - "public_ip": "Public IP", - "region": "Region", - "country": "Country" + "public_ip": "IP pública", + "region": "Región", + "country": "País" } } From 292bfd1b76d5754e91587002536f0cfd97d5a94f Mon Sep 17 00:00:00 2001 From: Nonoss117 Date: Fri, 18 Nov 2022 18:00:17 +0000 Subject: [PATCH 298/668] Translated using Weblate (French) Currently translated at 100.0% (234 of 234 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/ --- public/locales/fr/common.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/public/locales/fr/common.json b/public/locales/fr/common.json index b9b61611..e4089ba0 100644 --- a/public/locales/fr/common.json +++ b/public/locales/fr/common.json @@ -316,8 +316,8 @@ "total": "Total" }, "gluetun": { - "public_ip": "Public IP", - "region": "Region", - "country": "Country" + "public_ip": "IP Publique", + "region": "Région", + "country": "Pays" } } From 1eee0d93a9a49bb169287a88ca950a6774cc1a40 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:15:51 +0000 Subject: [PATCH 299/668] Translated using Weblate (German) Currently translated at 94.5% (225 of 238 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/de/ --- public/locales/de/common.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/public/locales/de/common.json b/public/locales/de/common.json index f8c59567..6a82e798 100644 --- a/public/locales/de/common.json +++ b/public/locales/de/common.json @@ -2,7 +2,11 @@ "widget": { "missing_type": "Fehlender Widget-Typ: {{type}}", "api_error": "API-Fehler", - "status": "Status" + "status": "Status", + "url": "URL", + "information": "Information", + "raw_error": "Raw Error", + "response_data": "Response Data" }, "search": { "placeholder": "Suche…" From 52adaca439a25e1e70c3fa04d01509d0c008c1bc Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:15:51 +0000 Subject: [PATCH 300/668] Translated using Weblate (Spanish) Currently translated at 98.3% (234 of 238 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/ --- public/locales/es/common.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/public/locales/es/common.json b/public/locales/es/common.json index 967f2543..d2e65a5b 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -2,7 +2,11 @@ "widget": { "missing_type": "Falta el tipo de widget: {{type}}", "api_error": "Error de API", - "status": "Estado" + "status": "Estado", + "information": "Information", + "url": "URL", + "raw_error": "Raw Error", + "response_data": "Response Data" }, "search": { "placeholder": "Buscar…" From 83a3a8c2d0f3fdc16df3de4a9a0c9e2c62111885 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:15:51 +0000 Subject: [PATCH 301/668] Translated using Weblate (French) Currently translated at 98.3% (234 of 238 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/ --- public/locales/fr/common.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/public/locales/fr/common.json b/public/locales/fr/common.json index e4089ba0..16c1b8ce 100644 --- a/public/locales/fr/common.json +++ b/public/locales/fr/common.json @@ -2,7 +2,11 @@ "widget": { "missing_type": "Type de widget manquant: {{type}}", "api_error": "Erreur de l'API", - "status": "Statut" + "status": "Statut", + "information": "Information", + "url": "URL", + "raw_error": "Raw Error", + "response_data": "Response Data" }, "search": { "placeholder": "Recherche…" From 6df21b8d02a76d145225770edec8f2d260fcc905 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:15:51 +0000 Subject: [PATCH 302/668] Translated using Weblate (Portuguese) Currently translated at 48.3% (115 of 238 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt/ --- public/locales/pt/common.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/public/locales/pt/common.json b/public/locales/pt/common.json index 5f22a5b8..fde864df 100644 --- a/public/locales/pt/common.json +++ b/public/locales/pt/common.json @@ -2,7 +2,11 @@ "widget": { "missing_type": "Widget ausente: {{type}}", "api_error": "Erro da API", - "status": "Status" + "status": "Status", + "information": "Information", + "url": "URL", + "raw_error": "Raw Error", + "response_data": "Response Data" }, "search": { "placeholder": "Pesquisar…" From f20da2e273d7eeec9f14e166923ede1c409fcef1 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:15:52 +0000 Subject: [PATCH 303/668] Translated using Weblate (Russian) Currently translated at 9.6% (23 of 238 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ru/ --- public/locales/ru/common.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/public/locales/ru/common.json b/public/locales/ru/common.json index 762b3e90..4e8abbab 100644 --- a/public/locales/ru/common.json +++ b/public/locales/ru/common.json @@ -2,7 +2,11 @@ "widget": { "missing_type": "Отсутствует тип виджета: {{type}}", "api_error": "Ошибка API", - "status": "Статус" + "status": "Статус", + "information": "Information", + "url": "URL", + "raw_error": "Raw Error", + "response_data": "Response Data" }, "search": { "placeholder": "Поиск…" From 5a944602c2a463cd0808ad4d2988a73b94a622e8 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:15:52 +0000 Subject: [PATCH 304/668] Translated using Weblate (Chinese (Simplified)) Currently translated at 69.3% (165 of 238 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hans/ --- public/locales/zh-CN/common.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/public/locales/zh-CN/common.json b/public/locales/zh-CN/common.json index 5459d7c6..b7cafaa2 100644 --- a/public/locales/zh-CN/common.json +++ b/public/locales/zh-CN/common.json @@ -2,7 +2,11 @@ "widget": { "missing_type": "缺少小部件类型:{{type}}", "api_error": "API错误", - "status": "状态" + "status": "状态", + "information": "Information", + "url": "URL", + "raw_error": "Raw Error", + "response_data": "Response Data" }, "search": { "placeholder": "搜索…" From 489e114c0a04e5efb2d15d477696472457d77688 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:15:52 +0000 Subject: [PATCH 305/668] Translated using Weblate (Italian) Currently translated at 96.2% (229 of 238 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/it/ --- public/locales/it/common.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/public/locales/it/common.json b/public/locales/it/common.json index 9478d420..a8afc2a8 100644 --- a/public/locales/it/common.json +++ b/public/locales/it/common.json @@ -36,7 +36,11 @@ "widget": { "missing_type": "Tipo del Widget Mancante: {{type}}", "api_error": "Errore API", - "status": "Stato" + "status": "Stato", + "url": "URL", + "information": "Information", + "raw_error": "Raw Error", + "response_data": "Response Data" }, "search": { "placeholder": "Cerca…" From 3577168d2354ccf7ece7bb31a2955771e8badb2d Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:15:51 +0000 Subject: [PATCH 306/668] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegi?= =?UTF-8?q?an=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 33.1% (79 of 238 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nb_NO/ --- public/locales/nb-NO/common.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/public/locales/nb-NO/common.json b/public/locales/nb-NO/common.json index 0f7680f7..fdb700a0 100644 --- a/public/locales/nb-NO/common.json +++ b/public/locales/nb-NO/common.json @@ -2,7 +2,11 @@ "widget": { "missing_type": "Manglende miniprogramstype: {{type}}", "api_error": "API-feil", - "status": "Status" + "status": "Status", + "information": "Information", + "url": "URL", + "raw_error": "Raw Error", + "response_data": "Response Data" }, "search": { "placeholder": "Søk …" From 2d1f79eae8dab4cdca7b7f50b244bf169d45cefd Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:15:52 +0000 Subject: [PATCH 307/668] Translated using Weblate (Vietnamese) Currently translated at 18.4% (44 of 238 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/vi/ --- public/locales/vi/common.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/public/locales/vi/common.json b/public/locales/vi/common.json index cf3db360..423ce530 100644 --- a/public/locales/vi/common.json +++ b/public/locales/vi/common.json @@ -2,7 +2,11 @@ "widget": { "missing_type": "Thiếu loại Widget: {{type}}", "api_error": "Lỗi API", - "status": "Trạng thái" + "status": "Trạng thái", + "information": "Information", + "url": "URL", + "raw_error": "Raw Error", + "response_data": "Response Data" }, "search": { "placeholder": "Tìm kiếm…" From 70301c4adc4eb4c38de7e2078ed5a3814e808d90 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:15:52 +0000 Subject: [PATCH 308/668] Translated using Weblate (Dutch) Currently translated at 26.4% (63 of 238 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nl/ --- public/locales/nl/common.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/public/locales/nl/common.json b/public/locales/nl/common.json index ae5cd06e..d89dd95c 100644 --- a/public/locales/nl/common.json +++ b/public/locales/nl/common.json @@ -2,7 +2,11 @@ "widget": { "missing_type": "Missing Widget Type: {{type}}", "api_error": "API Error", - "status": "Status" + "status": "Status", + "information": "Information", + "url": "URL", + "raw_error": "Raw Error", + "response_data": "Response Data" }, "resources": { "total": "Totaal", From d297ce409ae1be8adf611b79fbb2217e45a28889 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:15:53 +0000 Subject: [PATCH 309/668] Translated using Weblate (Chinese (Traditional)) Currently translated at 3.7% (9 of 238 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hant/ --- public/locales/zh-Hant/common.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/public/locales/zh-Hant/common.json b/public/locales/zh-Hant/common.json index c4673c32..e29d5f39 100644 --- a/public/locales/zh-Hant/common.json +++ b/public/locales/zh-Hant/common.json @@ -2,7 +2,11 @@ "widget": { "missing_type": "Missing Widget Type: {{type}}", "api_error": "API Error", - "status": "Status" + "status": "Status", + "information": "Information", + "url": "URL", + "raw_error": "Raw Error", + "response_data": "Response Data" }, "weather": { "current": "Current Location", From 870055cea50b5b6489c383a97d0c42e6b1a41a6e Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:15:49 +0000 Subject: [PATCH 310/668] Translated using Weblate (Catalan) Currently translated at 55.0% (131 of 238 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ca/ --- public/locales/ca/common.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/public/locales/ca/common.json b/public/locales/ca/common.json index fac4a04c..582f19dd 100644 --- a/public/locales/ca/common.json +++ b/public/locales/ca/common.json @@ -2,7 +2,11 @@ "widget": { "missing_type": "Falta el tipus de widget: {{type}}", "api_error": "Error d'API", - "status": "Estat" + "status": "Estat", + "information": "Information", + "url": "URL", + "raw_error": "Raw Error", + "response_data": "Response Data" }, "weather": { "allow": "Feu clic per permetre", From 30066fb106ddacffb9647fcc1b29a73632b6554e Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:15:50 +0000 Subject: [PATCH 311/668] Translated using Weblate (Polish) Currently translated at 72.6% (173 of 238 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pl/ --- public/locales/pl/common.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/public/locales/pl/common.json b/public/locales/pl/common.json index 41495b3e..72d4b846 100644 --- a/public/locales/pl/common.json +++ b/public/locales/pl/common.json @@ -52,7 +52,11 @@ "widget": { "missing_type": "Brakujący typ widżetu: {{type}}", "api_error": "Błąd API", - "status": "Stan" + "status": "Stan", + "url": "URL", + "information": "Information", + "raw_error": "Raw Error", + "response_data": "Response Data" }, "docker": { "rx": "RX", From 4988a2539c380c13a6a147e11d7109a9ae8779a4 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:15:48 +0000 Subject: [PATCH 312/668] Translated using Weblate (Swedish) Currently translated at 54.6% (130 of 238 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sv/ --- public/locales/sv/common.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/public/locales/sv/common.json b/public/locales/sv/common.json index 87f2061f..0afd5735 100644 --- a/public/locales/sv/common.json +++ b/public/locales/sv/common.json @@ -2,7 +2,11 @@ "widget": { "missing_type": "Saknar Widget-typ: {{type}}", "api_error": "API-fel", - "status": "Status" + "status": "Status", + "information": "Information", + "url": "URL", + "raw_error": "Raw Error", + "response_data": "Response Data" }, "weather": { "current": "Nuvarande plats", From ea501ded2021bbaed14240d5351f4f784c486745 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:15:48 +0000 Subject: [PATCH 313/668] Translated using Weblate (Croatian) Currently translated at 97.0% (231 of 238 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hr/ --- public/locales/hr/common.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/public/locales/hr/common.json b/public/locales/hr/common.json index 12c97262..5c5948fd 100644 --- a/public/locales/hr/common.json +++ b/public/locales/hr/common.json @@ -58,7 +58,11 @@ "widget": { "missing_type": "Nedostajuća vrsta widgeta: {{type}}", "api_error": "API greška", - "status": "Stanje" + "status": "Stanje", + "information": "Information", + "url": "URL", + "raw_error": "Raw Error", + "response_data": "Response Data" }, "docker": { "rx": "RX", From 784f8d4e751d2feb16349b3f9b775679a43c0f50 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:15:49 +0000 Subject: [PATCH 314/668] Translated using Weblate (Hungarian) Currently translated at 45.3% (108 of 238 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hu/ --- public/locales/hu/common.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/public/locales/hu/common.json b/public/locales/hu/common.json index f00dc975..5db1b835 100644 --- a/public/locales/hu/common.json +++ b/public/locales/hu/common.json @@ -30,7 +30,11 @@ "widget": { "missing_type": "Hiányzó Widget Típus: {{type}}", "api_error": "API Hiba", - "status": "Státusz" + "status": "Státusz", + "information": "Information", + "url": "URL", + "raw_error": "Raw Error", + "response_data": "Response Data" }, "weather": { "current": "Aktuális hely", From 90c61da8e1cfd06dc48a50fa0b797741f43ba4f8 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:15:48 +0000 Subject: [PATCH 315/668] Translated using Weblate (Hebrew) Currently translated at 42.4% (101 of 238 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/he/ --- public/locales/he/common.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/public/locales/he/common.json b/public/locales/he/common.json index 296bfc4e..2062708f 100644 --- a/public/locales/he/common.json +++ b/public/locales/he/common.json @@ -2,7 +2,11 @@ "widget": { "missing_type": "סוג ווידג'ט חסר: {{type}}", "api_error": "שגיאת API", - "status": "סטטוס" + "status": "סטטוס", + "information": "Information", + "url": "URL", + "raw_error": "Raw Error", + "response_data": "Response Data" }, "weather": { "current": "מיקום נוכחי", From 1d95b563e7d5b2bdf005d58e5c2cc21a418385fd Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:15:49 +0000 Subject: [PATCH 316/668] Translated using Weblate (Romanian) Currently translated at 57.5% (137 of 238 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ro/ --- public/locales/ro/common.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/public/locales/ro/common.json b/public/locales/ro/common.json index a57ea01b..07c8d5ee 100644 --- a/public/locales/ro/common.json +++ b/public/locales/ro/common.json @@ -60,7 +60,11 @@ "widget": { "missing_type": "Lipsește Tipul de Widget: {{type}}", "api_error": "Eroare API", - "status": "Status" + "status": "Status", + "information": "Information", + "url": "URL", + "raw_error": "Raw Error", + "response_data": "Response Data" }, "search": { "placeholder": "Caută…" From 78549f2f595357ffe8564596e89886ca43ff6b22 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:15:49 +0000 Subject: [PATCH 317/668] Translated using Weblate (Portuguese (Brazil)) Currently translated at 49.1% (117 of 238 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt_BR/ --- public/locales/pt-BR/common.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/public/locales/pt-BR/common.json b/public/locales/pt-BR/common.json index a73d6b48..dd32f9f6 100644 --- a/public/locales/pt-BR/common.json +++ b/public/locales/pt-BR/common.json @@ -30,7 +30,11 @@ "widget": { "missing_type": "Tipo de Widget ausente: {{type}}", "api_error": "Erro da API", - "status": "Status" + "status": "Status", + "information": "Information", + "url": "URL", + "raw_error": "Raw Error", + "response_data": "Response Data" }, "weather": { "current": "Localização atual", From c94ec171c8919c36de0779b52e9384b6656514a7 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:15:49 +0000 Subject: [PATCH 318/668] Translated using Weblate (Yue) Currently translated at 49.5% (118 of 238 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/yue/ --- public/locales/yue/common.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/public/locales/yue/common.json b/public/locales/yue/common.json index 7932f908..a9c61765 100644 --- a/public/locales/yue/common.json +++ b/public/locales/yue/common.json @@ -20,7 +20,11 @@ "widget": { "missing_type": "缺少小部件類型:{{type}}", "api_error": "API 錯誤", - "status": "狀況" + "status": "狀況", + "url": "URL", + "information": "Information", + "raw_error": "Raw Error", + "response_data": "Response Data" }, "weather": { "current": "依家位置", From 64c338f424844543b27f279a0b13897e3a44175c Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:15:50 +0000 Subject: [PATCH 319/668] Translated using Weblate (Finnish) Currently translated at 51.6% (123 of 238 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fi/ --- public/locales/fi/common.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/public/locales/fi/common.json b/public/locales/fi/common.json index 07b480f0..770924ad 100644 --- a/public/locales/fi/common.json +++ b/public/locales/fi/common.json @@ -2,7 +2,11 @@ "widget": { "missing_type": "Puuttuva härpäkkeen tyyppi: {{type}}", "api_error": "API-virhe", - "status": "Tila" + "status": "Tila", + "information": "Information", + "url": "URL", + "raw_error": "Raw Error", + "response_data": "Response Data" }, "weather": { "current": "Nykyinen sijainti", From c31ebdc17f1296774546c817296c1df9d9730db9 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:15:50 +0000 Subject: [PATCH 320/668] Translated using Weblate (Telugu) Currently translated at 91.1% (217 of 238 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/te/ --- public/locales/te/common.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/public/locales/te/common.json b/public/locales/te/common.json index 7ad2dace..9a20bd5f 100644 --- a/public/locales/te/common.json +++ b/public/locales/te/common.json @@ -19,7 +19,11 @@ "widget": { "missing_type": "విడ్జెట్ లేదు: {{type}}", "api_error": "API లోపం", - "status": "హోదా" + "status": "హోదా", + "information": "Information", + "url": "URL", + "raw_error": "Raw Error", + "response_data": "Response Data" }, "weather": { "current": "ప్రస్తుత స్తలం", From 1d2b337677de674c67e35a228181ff82dc9962a4 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:15:50 +0000 Subject: [PATCH 321/668] Translated using Weblate (Bulgarian) Currently translated at 19.3% (46 of 238 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/bg/ --- public/locales/bg/common.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/public/locales/bg/common.json b/public/locales/bg/common.json index 0365e329..f34d73b9 100644 --- a/public/locales/bg/common.json +++ b/public/locales/bg/common.json @@ -12,7 +12,11 @@ "widget": { "missing_type": "Липсваща приставка: {{type}}", "api_error": "API Грешка", - "status": "Статус" + "status": "Статус", + "information": "Information", + "url": "URL", + "raw_error": "Raw Error", + "response_data": "Response Data" }, "weather": { "current": "Текущо местоположение", From 20bec2b3c5204a7f121408fc1cc0be51d501b622 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:15:49 +0000 Subject: [PATCH 322/668] Translated using Weblate (Turkish) Currently translated at 97.0% (231 of 238 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/tr/ --- public/locales/tr/common.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/public/locales/tr/common.json b/public/locales/tr/common.json index f431239d..9946c8da 100644 --- a/public/locales/tr/common.json +++ b/public/locales/tr/common.json @@ -2,7 +2,11 @@ "widget": { "missing_type": "Kayıp Araç Türü: {{type}}", "api_error": "API Hatası", - "status": "Durum" + "status": "Durum", + "information": "Information", + "url": "URL", + "raw_error": "Raw Error", + "response_data": "Response Data" }, "weather": { "current": "Mevcut Konum", From 6419fdb0d727802e325d95a1bbad534f872e2319 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:15:50 +0000 Subject: [PATCH 323/668] Translated using Weblate (Serbian) Currently translated at 3.7% (9 of 238 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sr/ --- public/locales/sr/common.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/public/locales/sr/common.json b/public/locales/sr/common.json index 8fe0a6e0..148f9a77 100644 --- a/public/locales/sr/common.json +++ b/public/locales/sr/common.json @@ -2,7 +2,11 @@ "widget": { "missing_type": "Missing Widget Type: {{type}}", "api_error": "API Error", - "status": "Status" + "status": "Status", + "information": "Information", + "url": "URL", + "raw_error": "Raw Error", + "response_data": "Response Data" }, "weather": { "current": "Current Location", From 1aca48b7421e7cac6e5a3839881eff0366253adc Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:15:50 +0000 Subject: [PATCH 324/668] Translated using Weblate (Arabic) Currently translated at 18.4% (44 of 238 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ar/ --- public/locales/ar/common.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/public/locales/ar/common.json b/public/locales/ar/common.json index 6d565287..d581d27d 100644 --- a/public/locales/ar/common.json +++ b/public/locales/ar/common.json @@ -2,7 +2,11 @@ "widget": { "missing_type": "نوع القطعة مفقود: {{type}}", "api_error": "API خطأ", - "status": "الحالة" + "status": "الحالة", + "information": "Information", + "url": "URL", + "raw_error": "Raw Error", + "response_data": "Response Data" }, "weather": { "current": "الموقع الحالي", From 4fb8f9064bc889a27509997c763afa5e303c4877 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:15:51 +0000 Subject: [PATCH 325/668] Translated using Weblate (Czech) Currently translated at 94.5% (225 of 238 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/cs/ --- public/locales/cs/common.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/public/locales/cs/common.json b/public/locales/cs/common.json index 7e9da1b5..e0eefd85 100644 --- a/public/locales/cs/common.json +++ b/public/locales/cs/common.json @@ -14,7 +14,11 @@ "widget": { "missing_type": "Chybí typ widgetu: {{type}}", "api_error": "Chyba API", - "status": "Status" + "status": "Status", + "information": "Information", + "url": "URL", + "raw_error": "Raw Error", + "response_data": "Response Data" }, "weather": { "current": "Aktuální poloha", From 7267989a5d2c04071bba066521bb3866104a92e7 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:15:51 +0000 Subject: [PATCH 326/668] Translated using Weblate (Danish) Currently translated at 83.1% (198 of 238 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/da/ --- public/locales/da/common.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/public/locales/da/common.json b/public/locales/da/common.json index 99db4725..4c5fa0b9 100644 --- a/public/locales/da/common.json +++ b/public/locales/da/common.json @@ -138,7 +138,11 @@ "widget": { "missing_type": "Manglende Widget Type: {{type}}", "api_error": "API fejl", - "status": "Status" + "status": "Status", + "information": "Information", + "url": "URL", + "raw_error": "Raw Error", + "response_data": "Response Data" }, "weather": { "current": "Nuværende lokation", From 10c65fa42de06f2e2c004c078a051b228c510101 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:15:52 +0000 Subject: [PATCH 327/668] Translated using Weblate (Malay) Currently translated at 97.0% (231 of 238 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ms/ --- public/locales/ms/common.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/public/locales/ms/common.json b/public/locales/ms/common.json index 761d85e9..9f4845c2 100644 --- a/public/locales/ms/common.json +++ b/public/locales/ms/common.json @@ -125,7 +125,11 @@ "widget": { "missing_type": "Jenis Widget Hilang: {{type}}", "api_error": "Masalah API", - "status": "Status" + "status": "Status", + "information": "Information", + "url": "URL", + "raw_error": "Raw Error", + "response_data": "Response Data" }, "weather": { "current": "Lokasi Sekarang", From 4ddcaeae824cc99d5a3fd47d5d8700a971fe5be9 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:15:48 +0000 Subject: [PATCH 328/668] Translated using Weblate (Hindi) Currently translated at 3.7% (9 of 238 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hi/ --- public/locales/hi/common.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/public/locales/hi/common.json b/public/locales/hi/common.json index d3075aba..c2bc9dfe 100644 --- a/public/locales/hi/common.json +++ b/public/locales/hi/common.json @@ -2,7 +2,11 @@ "widget": { "missing_type": "Missing Widget Type: {{type}}", "api_error": "API Error", - "status": "Status" + "status": "Status", + "information": "Information", + "url": "URL", + "raw_error": "Raw Error", + "response_data": "Response Data" }, "weather": { "current": "Current Location", From 1b00ac2e37b9c9be855921f65d71b8e69667d5f0 Mon Sep 17 00:00:00 2001 From: Don Reece Date: Fri, 4 Nov 2022 13:46:01 -0400 Subject: [PATCH 329/668] Add HDHomeRun widget - Tracking Channels, and HD Channels --- public/locales/en/common.json | 4 ++++ src/widgets/components.js | 1 + src/widgets/hdhomerun/component.jsx | 36 +++++++++++++++++++++++++++++ src/widgets/hdhomerun/widget.js | 15 ++++++++++++ src/widgets/widgets.js | 2 ++ 5 files changed, 58 insertions(+) create mode 100644 src/widgets/hdhomerun/component.jsx create mode 100644 src/widgets/hdhomerun/widget.js diff --git a/public/locales/en/common.json b/public/locales/en/common.json index 0afa4942..05c0fe5d 100644 --- a/public/locales/en/common.json +++ b/public/locales/en/common.json @@ -334,5 +334,9 @@ "public_ip": "Public IP", "region": "Region", "country": "Country" + }, + "hdhomerun": { + "channels": "Channels", + "hd": "HD" } } diff --git a/src/widgets/components.js b/src/widgets/components.js index a8a06e77..b781172b 100644 --- a/src/widgets/components.js +++ b/src/widgets/components.js @@ -11,6 +11,7 @@ const components = { emby: dynamic(() => import("./emby/component")), gluetun: dynamic(() => import("./gluetun/component")), gotify: dynamic(() => import("./gotify/component")), + hdhomerun: dynamic(() => import("./hdhomerun/component")), homebridge: dynamic(() => import("./homebridge/component")), jackett: dynamic(() => import("./jackett/component")), jellyfin: dynamic(() => import("./emby/component")), diff --git a/src/widgets/hdhomerun/component.jsx b/src/widgets/hdhomerun/component.jsx new file mode 100644 index 00000000..9af8ca33 --- /dev/null +++ b/src/widgets/hdhomerun/component.jsx @@ -0,0 +1,36 @@ +import { useTranslation } from "next-i18next"; + +import Container from "components/services/widget/container"; +import Block from "components/services/widget/block"; +import useWidgetAPI from "utils/proxy/use-widget-api"; + +export default function Component({ service }) { + const { t } = useTranslation(); + + const { widget } = service; + + const { data: channelsData, error: channelsError } = useWidgetAPI(widget, "lineup.json"); + + if (channelsError) { + return ; + } + + if (!channelsData) { + return ( + + + + + ); + } + +const hdChannels = channelsData?.filter((channel) => channel.HD === 1); + + return ( + + + + + + ); +} diff --git a/src/widgets/hdhomerun/widget.js b/src/widgets/hdhomerun/widget.js new file mode 100644 index 00000000..e94198a8 --- /dev/null +++ b/src/widgets/hdhomerun/widget.js @@ -0,0 +1,15 @@ +import genericProxyHandler from "utils/proxy/handlers/generic"; +import { jsonArrayFilter } from "utils/proxy/api-helpers"; + +const widget = { + api: "{url}/{endpoint}", + proxyHandler: genericProxyHandler, + + mappings: { + "lineup.json": { + endpoint: "lineup.json", + } + }, +}; + +export default widget; diff --git a/src/widgets/widgets.js b/src/widgets/widgets.js index 66e29086..fe432832 100644 --- a/src/widgets/widgets.js +++ b/src/widgets/widgets.js @@ -7,6 +7,7 @@ import coinmarketcap from "./coinmarketcap/widget"; import emby from "./emby/widget"; import gluetun from "./gluetun/widget"; import gotify from "./gotify/widget"; +import hdhomerun from "./hdhomerun/widget"; import homebridge from "./homebridge/widget"; import jackett from "./jackett/widget"; import jellyseerr from "./jellyseerr/widget"; @@ -49,6 +50,7 @@ const widgets = { emby, gluetun, gotify, + hdhomerun, homebridge, jackett, jellyfin: emby, From b5d5b7c552025a56feefcd100dd64494ae09ae46 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Fri, 4 Nov 2022 15:07:08 -0700 Subject: [PATCH 330/668] lint HDHomeRun widget --- src/widgets/hdhomerun/widget.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/widgets/hdhomerun/widget.js b/src/widgets/hdhomerun/widget.js index e94198a8..18204a81 100644 --- a/src/widgets/hdhomerun/widget.js +++ b/src/widgets/hdhomerun/widget.js @@ -1,5 +1,4 @@ import genericProxyHandler from "utils/proxy/handlers/generic"; -import { jsonArrayFilter } from "utils/proxy/api-helpers"; const widget = { api: "{url}/{endpoint}", From fe4a967a155edb82938efc1272c0e1263b7cc8f4 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Fri, 4 Nov 2022 15:25:48 -0700 Subject: [PATCH 331/668] rename hdhomerun lineup endpoint --- src/widgets/hdhomerun/component.jsx | 2 +- src/widgets/hdhomerun/widget.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/widgets/hdhomerun/component.jsx b/src/widgets/hdhomerun/component.jsx index 9af8ca33..bd1fb748 100644 --- a/src/widgets/hdhomerun/component.jsx +++ b/src/widgets/hdhomerun/component.jsx @@ -9,7 +9,7 @@ export default function Component({ service }) { const { widget } = service; - const { data: channelsData, error: channelsError } = useWidgetAPI(widget, "lineup.json"); + const { data: channelsData, error: channelsError } = useWidgetAPI(widget, "lineup"); if (channelsError) { return ; diff --git a/src/widgets/hdhomerun/widget.js b/src/widgets/hdhomerun/widget.js index 18204a81..b36b9b1c 100644 --- a/src/widgets/hdhomerun/widget.js +++ b/src/widgets/hdhomerun/widget.js @@ -5,7 +5,7 @@ const widget = { proxyHandler: genericProxyHandler, mappings: { - "lineup.json": { + "lineup": { endpoint: "lineup.json", } }, From 3393cbcfc1c4213c0f0ba2c8125094f73f131456 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Fri, 18 Nov 2022 22:22:41 -0800 Subject: [PATCH 332/668] update to new widgets API error handling --- src/widgets/hdhomerun/component.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/widgets/hdhomerun/component.jsx b/src/widgets/hdhomerun/component.jsx index bd1fb748..0ec91796 100644 --- a/src/widgets/hdhomerun/component.jsx +++ b/src/widgets/hdhomerun/component.jsx @@ -12,7 +12,7 @@ export default function Component({ service }) { const { data: channelsData, error: channelsError } = useWidgetAPI(widget, "lineup"); if (channelsError) { - return ; + return ; } if (!channelsData) { From 27855c50be62fc8915d2f30c2760b87aebb1e788 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:23:42 +0000 Subject: [PATCH 333/668] Translated using Weblate (German) Currently translated at 93.7% (225 of 240 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/de/ --- public/locales/de/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/de/common.json b/public/locales/de/common.json index 6a82e798..22402020 100644 --- a/public/locales/de/common.json +++ b/public/locales/de/common.json @@ -323,5 +323,9 @@ "public_ip": "Public IP", "region": "Region", "country": "Country" + }, + "hdhomerun": { + "channels": "Channels", + "hd": "HD" } } From 47f15a3724823ccbb185405453ae671d7dd4bd11 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:23:42 +0000 Subject: [PATCH 334/668] Translated using Weblate (Spanish) Currently translated at 97.5% (234 of 240 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/ --- public/locales/es/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/es/common.json b/public/locales/es/common.json index d2e65a5b..e348d534 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -323,5 +323,9 @@ "public_ip": "IP pública", "region": "Región", "country": "País" + }, + "hdhomerun": { + "channels": "Channels", + "hd": "HD" } } From be250bd84501e381a1bb7c95cd9a186fc06a7f61 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:23:42 +0000 Subject: [PATCH 335/668] Translated using Weblate (French) Currently translated at 97.5% (234 of 240 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/ --- public/locales/fr/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/fr/common.json b/public/locales/fr/common.json index 16c1b8ce..e56e056a 100644 --- a/public/locales/fr/common.json +++ b/public/locales/fr/common.json @@ -323,5 +323,9 @@ "public_ip": "IP Publique", "region": "Région", "country": "Pays" + }, + "hdhomerun": { + "channels": "Channels", + "hd": "HD" } } From 87c2b933555527b7f454622ff7dc271c884b24d1 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:23:42 +0000 Subject: [PATCH 336/668] Translated using Weblate (Portuguese) Currently translated at 47.9% (115 of 240 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt/ --- public/locales/pt/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/pt/common.json b/public/locales/pt/common.json index fde864df..1431ac43 100644 --- a/public/locales/pt/common.json +++ b/public/locales/pt/common.json @@ -334,5 +334,9 @@ "region": "Region", "country": "Country", "public_ip": "Public IP" + }, + "hdhomerun": { + "channels": "Channels", + "hd": "HD" } } From 728a528ee1432eae3dec5cf1a5974e8e39ffa5ac Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:23:43 +0000 Subject: [PATCH 337/668] Translated using Weblate (Russian) Currently translated at 9.5% (23 of 240 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ru/ --- public/locales/ru/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/ru/common.json b/public/locales/ru/common.json index 4e8abbab..ac9a9823 100644 --- a/public/locales/ru/common.json +++ b/public/locales/ru/common.json @@ -323,5 +323,9 @@ "public_ip": "Public IP", "region": "Region", "country": "Country" + }, + "hdhomerun": { + "channels": "Channels", + "hd": "HD" } } From 3af05d25c79593ad86865540692958c547d5b570 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:23:43 +0000 Subject: [PATCH 338/668] Translated using Weblate (Chinese (Simplified)) Currently translated at 68.7% (165 of 240 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hans/ --- public/locales/zh-CN/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/zh-CN/common.json b/public/locales/zh-CN/common.json index b7cafaa2..2337bb02 100644 --- a/public/locales/zh-CN/common.json +++ b/public/locales/zh-CN/common.json @@ -323,5 +323,9 @@ "public_ip": "Public IP", "region": "Region", "country": "Country" + }, + "hdhomerun": { + "channels": "Channels", + "hd": "HD" } } From dacee3055dd68246ee17560cb47b03b48e918f6e Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:23:43 +0000 Subject: [PATCH 339/668] Translated using Weblate (Italian) Currently translated at 95.4% (229 of 240 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/it/ --- public/locales/it/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/it/common.json b/public/locales/it/common.json index a8afc2a8..0bf60639 100644 --- a/public/locales/it/common.json +++ b/public/locales/it/common.json @@ -323,5 +323,9 @@ "public_ip": "Public IP", "region": "Region", "country": "Country" + }, + "hdhomerun": { + "channels": "Channels", + "hd": "HD" } } From 2a6c1382f7572c75625f306583051a6cadfd0f52 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:23:42 +0000 Subject: [PATCH 340/668] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegi?= =?UTF-8?q?an=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 32.9% (79 of 240 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nb_NO/ --- public/locales/nb-NO/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/nb-NO/common.json b/public/locales/nb-NO/common.json index fdb700a0..813422e2 100644 --- a/public/locales/nb-NO/common.json +++ b/public/locales/nb-NO/common.json @@ -323,5 +323,9 @@ "public_ip": "Public IP", "region": "Region", "country": "Country" + }, + "hdhomerun": { + "channels": "Channels", + "hd": "HD" } } From 4395a8299e3683de07ad2d1d088f8d62e813eac3 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:23:43 +0000 Subject: [PATCH 341/668] Translated using Weblate (Vietnamese) Currently translated at 18.3% (44 of 240 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/vi/ --- public/locales/vi/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/vi/common.json b/public/locales/vi/common.json index 423ce530..228e7d93 100644 --- a/public/locales/vi/common.json +++ b/public/locales/vi/common.json @@ -323,5 +323,9 @@ "public_ip": "Public IP", "region": "Region", "country": "Country" + }, + "hdhomerun": { + "channels": "Channels", + "hd": "HD" } } From adc3fe136e1a545dceb441b10b813ee42bfe9cde Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:23:43 +0000 Subject: [PATCH 342/668] Translated using Weblate (Dutch) Currently translated at 26.2% (63 of 240 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nl/ --- public/locales/nl/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/nl/common.json b/public/locales/nl/common.json index d89dd95c..5502dd8b 100644 --- a/public/locales/nl/common.json +++ b/public/locales/nl/common.json @@ -323,5 +323,9 @@ "public_ip": "Public IP", "region": "Region", "country": "Country" + }, + "hdhomerun": { + "channels": "Channels", + "hd": "HD" } } From a5da583bae10d6b9b97fd2f3ff91719bc7bfbba5 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:23:43 +0000 Subject: [PATCH 343/668] Translated using Weblate (Chinese (Traditional)) Currently translated at 3.7% (9 of 240 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hant/ --- public/locales/zh-Hant/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/zh-Hant/common.json b/public/locales/zh-Hant/common.json index e29d5f39..cd508662 100644 --- a/public/locales/zh-Hant/common.json +++ b/public/locales/zh-Hant/common.json @@ -323,5 +323,9 @@ "public_ip": "Public IP", "region": "Region", "country": "Country" + }, + "hdhomerun": { + "channels": "Channels", + "hd": "HD" } } From 69e54b4c27ddab435ed96a38471b6af6704d91f4 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:23:41 +0000 Subject: [PATCH 344/668] Translated using Weblate (Catalan) Currently translated at 54.5% (131 of 240 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ca/ --- public/locales/ca/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/ca/common.json b/public/locales/ca/common.json index 582f19dd..f9aa5969 100644 --- a/public/locales/ca/common.json +++ b/public/locales/ca/common.json @@ -323,5 +323,9 @@ "public_ip": "Public IP", "region": "Region", "country": "Country" + }, + "hdhomerun": { + "channels": "Channels", + "hd": "HD" } } From d4a0586e3551e935bbd72bb9c7907185c1b4a957 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:23:42 +0000 Subject: [PATCH 345/668] Translated using Weblate (Polish) Currently translated at 72.0% (173 of 240 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pl/ --- public/locales/pl/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/pl/common.json b/public/locales/pl/common.json index 72d4b846..6754fcda 100644 --- a/public/locales/pl/common.json +++ b/public/locales/pl/common.json @@ -323,5 +323,9 @@ "public_ip": "Public IP", "region": "Region", "country": "Country" + }, + "hdhomerun": { + "channels": "Channels", + "hd": "HD" } } From 37d32d36601279f041cb69f561b20a26095ce183 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:23:40 +0000 Subject: [PATCH 346/668] Translated using Weblate (Swedish) Currently translated at 54.1% (130 of 240 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sv/ --- public/locales/sv/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/sv/common.json b/public/locales/sv/common.json index 0afd5735..6bdc8ee0 100644 --- a/public/locales/sv/common.json +++ b/public/locales/sv/common.json @@ -323,5 +323,9 @@ "public_ip": "Public IP", "region": "Region", "country": "Country" + }, + "hdhomerun": { + "channels": "Channels", + "hd": "HD" } } From 16c77a7cd14169198a98d67f99eae1eecebe544e Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:23:41 +0000 Subject: [PATCH 347/668] Translated using Weblate (Croatian) Currently translated at 96.2% (231 of 240 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hr/ --- public/locales/hr/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/hr/common.json b/public/locales/hr/common.json index 5c5948fd..191a3d79 100644 --- a/public/locales/hr/common.json +++ b/public/locales/hr/common.json @@ -323,5 +323,9 @@ "public_ip": "Public IP", "region": "Region", "country": "Country" + }, + "hdhomerun": { + "channels": "Channels", + "hd": "HD" } } From 20df3a07254960909ec05479a4ba668bb4073899 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:23:41 +0000 Subject: [PATCH 348/668] Translated using Weblate (Hungarian) Currently translated at 45.0% (108 of 240 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hu/ --- public/locales/hu/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/hu/common.json b/public/locales/hu/common.json index 5db1b835..6ba895ae 100644 --- a/public/locales/hu/common.json +++ b/public/locales/hu/common.json @@ -323,5 +323,9 @@ "public_ip": "Public IP", "region": "Region", "country": "Country" + }, + "hdhomerun": { + "channels": "Channels", + "hd": "HD" } } From f8ae1864dea5997a53320cdd71e69fd874e62d8d Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:23:41 +0000 Subject: [PATCH 349/668] Translated using Weblate (Hebrew) Currently translated at 42.0% (101 of 240 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/he/ --- public/locales/he/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/he/common.json b/public/locales/he/common.json index 2062708f..5c89ac33 100644 --- a/public/locales/he/common.json +++ b/public/locales/he/common.json @@ -323,5 +323,9 @@ "public_ip": "Public IP", "region": "Region", "country": "Country" + }, + "hdhomerun": { + "channels": "Channels", + "hd": "HD" } } From 76216bd524d9422889771fd9c59ce4c27696db7e Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:23:41 +0000 Subject: [PATCH 350/668] Translated using Weblate (Romanian) Currently translated at 57.0% (137 of 240 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ro/ --- public/locales/ro/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/ro/common.json b/public/locales/ro/common.json index 07c8d5ee..c98705f2 100644 --- a/public/locales/ro/common.json +++ b/public/locales/ro/common.json @@ -323,5 +323,9 @@ "public_ip": "Public IP", "region": "Region", "country": "Country" + }, + "hdhomerun": { + "channels": "Channels", + "hd": "HD" } } From 6fcc6c74f8d6f764b7145ab4ad4ff888b3697cfa Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:23:41 +0000 Subject: [PATCH 351/668] Translated using Weblate (Portuguese (Brazil)) Currently translated at 48.7% (117 of 240 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt_BR/ --- public/locales/pt-BR/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/pt-BR/common.json b/public/locales/pt-BR/common.json index dd32f9f6..f6101ee0 100644 --- a/public/locales/pt-BR/common.json +++ b/public/locales/pt-BR/common.json @@ -323,5 +323,9 @@ "public_ip": "Public IP", "region": "Region", "country": "Country" + }, + "hdhomerun": { + "channels": "Channels", + "hd": "HD" } } From c7e33e2afaf008a2bd1f763e7e63fce86bb01f92 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:23:41 +0000 Subject: [PATCH 352/668] Translated using Weblate (Yue) Currently translated at 49.1% (118 of 240 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/yue/ --- public/locales/yue/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/yue/common.json b/public/locales/yue/common.json index a9c61765..6c7d84de 100644 --- a/public/locales/yue/common.json +++ b/public/locales/yue/common.json @@ -323,5 +323,9 @@ "public_ip": "Public IP", "region": "Region", "country": "Country" + }, + "hdhomerun": { + "channels": "Channels", + "hd": "HD" } } From 14ab5b446b29d7a9711983420008a99a0bee7c73 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:23:42 +0000 Subject: [PATCH 353/668] Translated using Weblate (Finnish) Currently translated at 51.2% (123 of 240 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fi/ --- public/locales/fi/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/fi/common.json b/public/locales/fi/common.json index 770924ad..d35449e8 100644 --- a/public/locales/fi/common.json +++ b/public/locales/fi/common.json @@ -323,5 +323,9 @@ "public_ip": "Public IP", "region": "Region", "country": "Country" + }, + "hdhomerun": { + "channels": "Channels", + "hd": "HD" } } From 7b72467f379e787abd5310a43455bedc1f7eda6b Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:23:42 +0000 Subject: [PATCH 354/668] Translated using Weblate (Telugu) Currently translated at 90.4% (217 of 240 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/te/ --- public/locales/te/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/te/common.json b/public/locales/te/common.json index 9a20bd5f..d6ab211f 100644 --- a/public/locales/te/common.json +++ b/public/locales/te/common.json @@ -323,5 +323,9 @@ "public_ip": "Public IP", "region": "Region", "country": "Country" + }, + "hdhomerun": { + "channels": "Channels", + "hd": "HD" } } From 3a24e6009960c6105ded745cd0f7abfb0e6198ee Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:23:42 +0000 Subject: [PATCH 355/668] Translated using Weblate (Bulgarian) Currently translated at 19.1% (46 of 240 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/bg/ --- public/locales/bg/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/bg/common.json b/public/locales/bg/common.json index f34d73b9..c7824518 100644 --- a/public/locales/bg/common.json +++ b/public/locales/bg/common.json @@ -323,5 +323,9 @@ "public_ip": "Public IP", "region": "Region", "country": "Country" + }, + "hdhomerun": { + "channels": "Channels", + "hd": "HD" } } From 96957d2e2a7505722e2f86b2f544f0b968854005 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:23:41 +0000 Subject: [PATCH 356/668] Translated using Weblate (Turkish) Currently translated at 96.2% (231 of 240 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/tr/ --- public/locales/tr/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/tr/common.json b/public/locales/tr/common.json index 9946c8da..053bd1b6 100644 --- a/public/locales/tr/common.json +++ b/public/locales/tr/common.json @@ -323,5 +323,9 @@ "public_ip": "Public IP", "region": "Region", "country": "Country" + }, + "hdhomerun": { + "channels": "Channels", + "hd": "HD" } } From 596ddd1604191f65954fa30d28fe700c62eaa60c Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:23:41 +0000 Subject: [PATCH 357/668] Translated using Weblate (Serbian) Currently translated at 3.7% (9 of 240 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sr/ --- public/locales/sr/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/sr/common.json b/public/locales/sr/common.json index 148f9a77..ed646d45 100644 --- a/public/locales/sr/common.json +++ b/public/locales/sr/common.json @@ -323,5 +323,9 @@ "public_ip": "Public IP", "region": "Region", "country": "Country" + }, + "hdhomerun": { + "channels": "Channels", + "hd": "HD" } } From 71592bb508b7ccc45e93b3209f42065dead9efb8 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:23:42 +0000 Subject: [PATCH 358/668] Translated using Weblate (Arabic) Currently translated at 18.3% (44 of 240 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ar/ --- public/locales/ar/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/ar/common.json b/public/locales/ar/common.json index d581d27d..b099cf51 100644 --- a/public/locales/ar/common.json +++ b/public/locales/ar/common.json @@ -323,5 +323,9 @@ "public_ip": "Public IP", "region": "Region", "country": "Country" + }, + "hdhomerun": { + "channels": "Channels", + "hd": "HD" } } From 57d71ac5282cb61afd9d3571d5f78ccc31e462c8 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:23:42 +0000 Subject: [PATCH 359/668] Translated using Weblate (Czech) Currently translated at 93.7% (225 of 240 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/cs/ --- public/locales/cs/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/cs/common.json b/public/locales/cs/common.json index e0eefd85..fd11ea9d 100644 --- a/public/locales/cs/common.json +++ b/public/locales/cs/common.json @@ -323,5 +323,9 @@ "public_ip": "Public IP", "region": "Region", "country": "Country" + }, + "hdhomerun": { + "channels": "Channels", + "hd": "HD" } } From 72fa0192e513edbf02681cb063f58a99218e776e Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:23:42 +0000 Subject: [PATCH 360/668] Translated using Weblate (Danish) Currently translated at 82.5% (198 of 240 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/da/ --- public/locales/da/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/da/common.json b/public/locales/da/common.json index 4c5fa0b9..de0ac1d2 100644 --- a/public/locales/da/common.json +++ b/public/locales/da/common.json @@ -323,5 +323,9 @@ "public_ip": "Public IP", "region": "Region", "country": "Country" + }, + "hdhomerun": { + "channels": "Channels", + "hd": "HD" } } From 11acfd8f65cf87241c73375504d93d779c9bdee1 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:23:43 +0000 Subject: [PATCH 361/668] Translated using Weblate (Malay) Currently translated at 96.2% (231 of 240 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ms/ --- public/locales/ms/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/ms/common.json b/public/locales/ms/common.json index 9f4845c2..cb6bbb2a 100644 --- a/public/locales/ms/common.json +++ b/public/locales/ms/common.json @@ -323,5 +323,9 @@ "public_ip": "Public IP", "region": "Region", "country": "Country" + }, + "hdhomerun": { + "channels": "Channels", + "hd": "HD" } } From b9f434418adfde9d2b8cda46534c328b1ea7ce1f Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 19 Nov 2022 06:23:41 +0000 Subject: [PATCH 362/668] Translated using Weblate (Hindi) Currently translated at 3.7% (9 of 240 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hi/ --- public/locales/hi/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/hi/common.json b/public/locales/hi/common.json index c2bc9dfe..7289852f 100644 --- a/public/locales/hi/common.json +++ b/public/locales/hi/common.json @@ -323,5 +323,9 @@ "public_ip": "Public IP", "region": "Region", "country": "Country" + }, + "hdhomerun": { + "channels": "Channels", + "hd": "HD" } } From a28253878295eaf68548967250621f9f888471b4 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Fri, 18 Nov 2022 22:32:26 -0800 Subject: [PATCH 363/668] Fix viewport tag location lost in merge --- src/pages/_document.jsx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/pages/_document.jsx b/src/pages/_document.jsx index 61f69656..8e34e2bc 100644 --- a/src/pages/_document.jsx +++ b/src/pages/_document.jsx @@ -9,7 +9,6 @@ export default function Document() { content="A highly customizable homepage (or startpage / application dashboard) with Docker and service API integrations." /> - From 9d5e401fe2202c0269cfe5fac3179a21afcb0530 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Fri, 18 Nov 2022 22:37:28 -0800 Subject: [PATCH 364/668] fix hdhomerun lint --- src/widgets/hdhomerun/component.jsx | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/widgets/hdhomerun/component.jsx b/src/widgets/hdhomerun/component.jsx index 0ec91796..79160dc3 100644 --- a/src/widgets/hdhomerun/component.jsx +++ b/src/widgets/hdhomerun/component.jsx @@ -1,12 +1,8 @@ -import { useTranslation } from "next-i18next"; - import Container from "components/services/widget/container"; import Block from "components/services/widget/block"; import useWidgetAPI from "utils/proxy/use-widget-api"; export default function Component({ service }) { - const { t } = useTranslation(); - const { widget } = service; const { data: channelsData, error: channelsError } = useWidgetAPI(widget, "lineup"); From 4ccf8eddaed44d375ad5aad3621c966b086ccf44 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Fri, 18 Nov 2022 23:07:25 -0800 Subject: [PATCH 365/668] fixes for widget validation --- src/utils/proxy/validate-widget-data.js | 4 ++-- src/widgets/sonarr/widget.js | 5 +---- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/src/utils/proxy/validate-widget-data.js b/src/utils/proxy/validate-widget-data.js index a9664363..c498357d 100644 --- a/src/utils/proxy/validate-widget-data.js +++ b/src/utils/proxy/validate-widget-data.js @@ -9,9 +9,9 @@ export default function validateWidgetData(widget, endpoint, data) { valid = false; } - if (dataParsed) { + if (dataParsed && Object.entries(dataParsed).length) { const validate = widgets[widget.type]?.mappings?.[endpoint]?.validate; - validate.forEach(key => { + validate?.forEach(key => { if (dataParsed[key] === undefined) { valid = false; } diff --git a/src/widgets/sonarr/widget.js b/src/widgets/sonarr/widget.js index 2be11ffd..c1413975 100644 --- a/src/widgets/sonarr/widget.js +++ b/src/widgets/sonarr/widget.js @@ -10,10 +10,7 @@ const widget = { endpoint: "series", map: (data) => ({ total: asJson(data).length, - }), - validate: [ - "total" - ] + }) }, queue: { endpoint: "queue", From f9c2f40ad146e1d1d31bd8f40b1ec969c2b1c0a5 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Sat, 19 Nov 2022 00:12:05 -0800 Subject: [PATCH 366/668] hide webkit details marker, logger url output --- src/styles/globals.css | 4 ++++ src/utils/proxy/handlers/credentialed.js | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/styles/globals.css b/src/styles/globals.css index c3779283..ea780576 100644 --- a/src/styles/globals.css +++ b/src/styles/globals.css @@ -54,3 +54,7 @@ body { background-color: var(--scrollbar-thumb); border-radius: 0.25em; } + +::-webkit-details-marker { + display: none; +} \ No newline at end of file diff --git a/src/utils/proxy/handlers/credentialed.js b/src/utils/proxy/handlers/credentialed.js index f1436d51..38d09ccb 100644 --- a/src/utils/proxy/handlers/credentialed.js +++ b/src/utils/proxy/handlers/credentialed.js @@ -52,7 +52,7 @@ export default async function credentialedProxyHandler(req, res) { } if (status >= 400) { - logger.debug("HTTP Error %d calling %s//%s%s...", status, url.protocol, url.hostname, url.pathname); + logger.error("HTTP Error %d calling %s", status, url.toString()); } if (!validateWidgetData(widget, endpoint, data)) { From c8806a87755157991462c0ffd33b26e2cbeb9140 Mon Sep 17 00:00:00 2001 From: Rat Date: Sat, 19 Nov 2022 12:10:29 -0800 Subject: [PATCH 367/668] lint fix --- src/utils/logger.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/utils/logger.js b/src/utils/logger.js index 19c6a71e..048c5356 100644 --- a/src/utils/logger.js +++ b/src/utils/logger.js @@ -1,10 +1,11 @@ /* eslint-disable no-console */ import { join } from "path"; import { format as utilFormat } from "node:util"; -import checkAndCopyConfig, { getSettings } from "utils/config/config"; import winston from "winston"; +import checkAndCopyConfig, { getSettings } from "utils/config/config"; + let winstonLogger; function init() { From b5bb9c027279c4880b48784132960ae2d7577200 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Sat, 19 Nov 2022 21:11:38 -0800 Subject: [PATCH 368/668] Fix rutorrent widget always uses port 80 Closes #538 --- src/widgets/rutorrent/proxy.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/widgets/rutorrent/proxy.js b/src/widgets/rutorrent/proxy.js index dae50c35..604b0896 100644 --- a/src/widgets/rutorrent/proxy.js +++ b/src/widgets/rutorrent/proxy.js @@ -13,7 +13,7 @@ export default async function rutorrentProxyHandler(req, res) { const rutorrent = new RuTorrent({ host: constructedUrl.hostname, - port: constructedUrl.port, + port: constructedUrl.port !== '' ? constructedUrl.port : (constructedUrl.protocol === "https:" ? 443 : 80), path: constructedUrl.pathname, ssl: constructedUrl.protocol === "https:", username: widget.username, From c57d980558794f3e708466d99d14e302094f4c66 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Sat, 19 Nov 2022 21:19:30 -0800 Subject: [PATCH 369/668] fix rutorrent lint --- src/widgets/rutorrent/proxy.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/widgets/rutorrent/proxy.js b/src/widgets/rutorrent/proxy.js index 604b0896..c7bb5d45 100644 --- a/src/widgets/rutorrent/proxy.js +++ b/src/widgets/rutorrent/proxy.js @@ -11,9 +11,14 @@ export default async function rutorrentProxyHandler(req, res) { if (widget) { const constructedUrl = new URL(widget.url); + let rtPort = constructedUrl.port; + if (rtPort === '') { + rtPort = constructedUrl.protocol === "https:" ? 443 : 80; + } + const rutorrent = new RuTorrent({ host: constructedUrl.hostname, - port: constructedUrl.port !== '' ? constructedUrl.port : (constructedUrl.protocol === "https:" ? 443 : 80), + port: rtPort, path: constructedUrl.pathname, ssl: constructedUrl.protocol === "https:", username: widget.username, From 0653b121042d1e79f46b62b0eadb9131863ff85e Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Sat, 19 Nov 2022 22:10:39 -0800 Subject: [PATCH 370/668] fix quicklaunch sometimes mislabels bookmarks --- src/components/quicklaunch.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/quicklaunch.jsx b/src/components/quicklaunch.jsx index 1836e9b7..f2c09db2 100644 --- a/src/components/quicklaunch.jsx +++ b/src/components/quicklaunch.jsx @@ -147,7 +147,7 @@ export default function QuickLaunch({servicesAndBookmarks, searchString, setSear }
    -
    {r.abbr ? t("quicklaunch.bookmark") : t("quicklaunch.service")}
    +
    {r.type === 'service' ? t("quicklaunch.service") : t("quicklaunch.bookmark")}
  • ))} From e3725b02c88c30273a6fadf95b6d57e318595f18 Mon Sep 17 00:00:00 2001 From: gallegonovato Date: Sat, 19 Nov 2022 10:27:38 +0000 Subject: [PATCH 371/668] Translated using Weblate (Spanish) Currently translated at 100.0% (240 of 240 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/ --- public/locales/es/common.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/public/locales/es/common.json b/public/locales/es/common.json index e348d534..b015c31f 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -3,10 +3,10 @@ "missing_type": "Falta el tipo de widget: {{type}}", "api_error": "Error de API", "status": "Estado", - "information": "Information", + "information": "Información", "url": "URL", - "raw_error": "Raw Error", - "response_data": "Response Data" + "raw_error": "Error sin procesar", + "response_data": "Datos de respuesta" }, "search": { "placeholder": "Buscar…" @@ -325,7 +325,7 @@ "country": "País" }, "hdhomerun": { - "channels": "Channels", - "hd": "HD" + "channels": "Canales", + "hd": "Alta definición" } } From ab0cb6145fe1449bf653bb6c78d1b0c88815d035 Mon Sep 17 00:00:00 2001 From: Nonoss117 Date: Sat, 19 Nov 2022 08:56:12 +0000 Subject: [PATCH 372/668] Translated using Weblate (French) Currently translated at 100.0% (240 of 240 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/ --- public/locales/fr/common.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/locales/fr/common.json b/public/locales/fr/common.json index e56e056a..6a211bc6 100644 --- a/public/locales/fr/common.json +++ b/public/locales/fr/common.json @@ -325,7 +325,7 @@ "country": "Pays" }, "hdhomerun": { - "channels": "Channels", + "channels": "Canaux", "hd": "HD" } } From 4a21ad647ff4bf385875ec0ce0c46f01c8f49e8b Mon Sep 17 00:00:00 2001 From: retmas-gh Date: Sat, 19 Nov 2022 14:50:32 +0000 Subject: [PATCH 373/668] Translated using Weblate (Polish) Currently translated at 97.5% (234 of 240 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pl/ --- public/locales/pl/common.json | 108 +++++++++++++++++----------------- 1 file changed, 54 insertions(+), 54 deletions(-) diff --git a/public/locales/pl/common.json b/public/locales/pl/common.json index 6754fcda..064aa016 100644 --- a/public/locales/pl/common.json +++ b/public/locales/pl/common.json @@ -53,16 +53,16 @@ "missing_type": "Brakujący typ widżetu: {{type}}", "api_error": "Błąd API", "status": "Stan", - "url": "URL", - "information": "Information", - "raw_error": "Raw Error", - "response_data": "Response Data" + "url": "Adres URL", + "information": "Informacje", + "raw_error": "Niesformatowany błąd", + "response_data": "Dane odpowiedzi" }, "docker": { - "rx": "RX", - "tx": "TX", - "mem": "MEM", - "cpu": "CPU", + "rx": "Rx", + "tx": "Tx", + "mem": "Pamięć", + "cpu": "Procesor", "offline": "Offline" }, "nzbget": { @@ -95,7 +95,7 @@ "wanted": "Poszukiwane", "queued": "W kolejce", "movies": "Filmy", - "missing": "Missing" + "missing": "Brakujące" }, "lidarr": { "wanted": "Poszukiwane", @@ -166,14 +166,14 @@ }, "mastodon": { "user_count": "Użytkownicy", - "status_count": "Posts", + "status_count": "Posty", "domain_count": "Domeny" }, "strelaysrv": { "numActiveSessions": "Sesje", "numConnections": "Połączenia", - "dataRelayed": "Relayed", - "transferRate": "Rate" + "dataRelayed": "Przekazane", + "transferRate": "Przesył" }, "authentik": { "users": "Użytkownicy", @@ -181,10 +181,10 @@ "failedLoginsLast24H": "Nieudane logowania (24h)" }, "proxmox": { - "mem": "MEM", - "cpu": "CPU", - "lxc": "LXC", - "vms": "VMs" + "mem": "Pamięć", + "cpu": "Procesor", + "lxc": "Kontenery LXC", + "vms": "Maszyn wirtualnych" }, "unifi": { "users": "Użytkownicy", @@ -203,25 +203,25 @@ "wlan_devices": "Urządzenia WLAN" }, "plex": { - "streams": "Active Streams", + "streams": "Aktywne strumienie", "movies": "Filmy", "tv": "Seriale" }, "glances": { - "cpu": "CPU", - "mem": "MEM", + "cpu": "Procesor", + "mem": "Pamięć", "wait": "Proszę czekać" }, "changedetectionio": { - "diffsDetected": "Diffs Detected", - "totalObserved": "Total Observed" + "diffsDetected": "Wykryto różnic", + "totalObserved": "Obserwowanych ogółem" }, "wmo": { - "77-day": "Snow Grains", + "77-day": "Ziarnisty śnieg", "0-day": "Słoneczny", - "0-night": "Clear", - "1-day": "Mainly Sunny", - "1-night": "Mainly Clear", + "0-night": "Bezchmurny", + "1-day": "Głównie słoneczny", + "1-night": "Głównie bezchmurny", "2-day": "Częściowo pochmurnie", "2-night": "Częściowo pochmurnie", "3-day": "Pochmurnie", @@ -236,10 +236,10 @@ "53-night": "Mżawka", "55-day": "Ciężka mżawka", "55-night": "Ciężka mżawka", - "56-day": "Light Freezing Drizzle", - "56-night": "Light Freezing Drizzle", - "57-day": "Freezing Drizzle", - "57-night": "Freezing Drizzle", + "56-day": "Lekko chłodna mżawka", + "56-night": "Lekko chłodna mżawka", + "57-day": "Chłodna mżawka", + "57-night": "Chłodna mżawka", "61-day": "Lekki deszcz", "61-night": "Lekki deszcz", "63-day": "Deszcz", @@ -256,7 +256,7 @@ "73-night": "Śnieg", "75-day": "Ciężki śnieg", "75-night": "Ciężki śnieg", - "77-night": "Snow Grains", + "77-night": "Ziarnisty śnieg", "80-day": "Lekkie opady", "80-night": "Lekkie opady", "81-day": "Opady", @@ -275,7 +275,7 @@ "99-night": "Burza z gradobiciem" }, "quicklaunch": { - "bookmark": "Bookmark", + "bookmark": "Zakładka", "service": "Usługi" }, "homebridge": { @@ -287,45 +287,45 @@ "child_bridges_status": "{{ok}}/{{total}}" }, "autobrr": { - "approvedPushes": "Approved", - "rejectedPushes": "Rejected", - "filters": "Filters", - "indexers": "Indexers" + "approvedPushes": "Zaakceptowane", + "rejectedPushes": "Odrzucone", + "filters": "Filtry", + "indexers": "Indeksery" }, "watchtower": { - "containers_scanned": "Scanned", - "containers_updated": "Updated", - "containers_failed": "Failed" + "containers_scanned": "Zeskanowane", + "containers_updated": "Zaktualizowane", + "containers_failed": "Niepowodzenie" }, "tubearchivist": { - "downloads": "Queue", - "videos": "Videos", - "channels": "Channels", - "playlists": "Playlists" + "downloads": "Kolejka", + "videos": "Pliki wideo", + "channels": "Kanały", + "playlists": "Playlisty" }, "truenas": { - "load": "System Load", - "uptime": "Uptime", - "alerts": "Alerts", + "load": "Obciążenie systemu", + "uptime": "Czas działania", + "alerts": "Ostrzeżenia", "time": "{{value, number(style: unit; unitDisplay: long;)}}" }, "navidrome": { - "please_wait": "Please Wait", - "nothing_streaming": "No Active Streams" + "please_wait": "Proszę czekać", + "nothing_streaming": "Brak aktywnych strumieni" }, "pyload": { - "speed": "Speed", - "active": "Active", - "queue": "Queue", - "total": "Total" + "speed": "Prędkość", + "active": "Aktywne", + "queue": "Kolejka", + "total": "Razem" }, "gluetun": { - "public_ip": "Public IP", + "public_ip": "Adres publiczny", "region": "Region", - "country": "Country" + "country": "Państwo" }, "hdhomerun": { - "channels": "Channels", + "channels": "Kanały", "hd": "HD" } } From eab2cce41f38d3cce64bcc084bbda342626efdae Mon Sep 17 00:00:00 2001 From: Milo Ivir Date: Sun, 20 Nov 2022 15:39:31 +0000 Subject: [PATCH 374/668] Translated using Weblate (Croatian) Currently translated at 100.0% (240 of 240 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hr/ --- public/locales/hr/common.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/public/locales/hr/common.json b/public/locales/hr/common.json index 191a3d79..2ac5c3fb 100644 --- a/public/locales/hr/common.json +++ b/public/locales/hr/common.json @@ -59,10 +59,10 @@ "missing_type": "Nedostajuća vrsta widgeta: {{type}}", "api_error": "API greška", "status": "Stanje", - "information": "Information", + "information": "Informacije", "url": "URL", - "raw_error": "Raw Error", - "response_data": "Response Data" + "raw_error": "Raw greška", + "response_data": "Podaci odgovora" }, "docker": { "rx": "RX", @@ -320,12 +320,12 @@ "total": "Ukupno" }, "gluetun": { - "public_ip": "Public IP", - "region": "Region", - "country": "Country" + "public_ip": "Javni IP", + "region": "Regija", + "country": "Zemlja" }, "hdhomerun": { - "channels": "Channels", + "channels": "Kanali", "hd": "HD" } } From 72374b3ae944fec2f611686cad302c3232178707 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sun, 20 Nov 2022 18:04:06 +0000 Subject: [PATCH 375/668] Translated using Weblate (German) Currently translated at 92.2% (225 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/de/ --- public/locales/de/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/de/common.json b/public/locales/de/common.json index 22402020..ecc4141c 100644 --- a/public/locales/de/common.json +++ b/public/locales/de/common.json @@ -23,7 +23,9 @@ "tx": "Tx", "mem": "Mem", "cpu": "Prozessor", - "offline": "Offline" + "offline": "Offline", + "error": "Error", + "unknown": "Unknown" }, "emby": { "playing": "Spielen", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "ping": { + "ping": "Ping", + "error": "Error" } } From ff6a6c17b1a644231fd82a94c36c2be6363b3198 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sun, 20 Nov 2022 18:04:06 +0000 Subject: [PATCH 376/668] Translated using Weblate (Spanish) Currently translated at 98.3% (240 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/ --- public/locales/es/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/es/common.json b/public/locales/es/common.json index b015c31f..5b9a7959 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -23,7 +23,9 @@ "tx": "Transmitido", "mem": "Memoria", "cpu": "Procesador", - "offline": "Desconectado" + "offline": "Desconectado", + "error": "Error", + "unknown": "Unknown" }, "emby": { "playing": "Reproduciendo", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Canales", "hd": "Alta definición" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From 1a8a2b67a15e3b7418aa74676e3c7bef5f7222e2 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sun, 20 Nov 2022 18:04:06 +0000 Subject: [PATCH 377/668] Translated using Weblate (French) Currently translated at 98.3% (240 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/ --- public/locales/fr/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/fr/common.json b/public/locales/fr/common.json index 6a211bc6..e170b8a9 100644 --- a/public/locales/fr/common.json +++ b/public/locales/fr/common.json @@ -23,7 +23,9 @@ "tx": "Tx", "mem": "Mém", "cpu": "Cpu", - "offline": "Hors ligne" + "offline": "Hors ligne", + "error": "Error", + "unknown": "Unknown" }, "emby": { "playing": "En lecture", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Canaux", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From cedd00c0548eb7741007a993bbdf343bca58b0b5 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sun, 20 Nov 2022 18:04:07 +0000 Subject: [PATCH 378/668] Translated using Weblate (Portuguese) Currently translated at 47.1% (115 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt/ --- public/locales/pt/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/pt/common.json b/public/locales/pt/common.json index 1431ac43..654cdb7f 100644 --- a/public/locales/pt/common.json +++ b/public/locales/pt/common.json @@ -23,7 +23,9 @@ "tx": "Tx", "mem": "Mem", "cpu": "CPU", - "offline": "Desligado" + "offline": "Desligado", + "error": "Error", + "unknown": "Unknown" }, "emby": { "playing": "A reproduzir", @@ -338,5 +340,9 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From 10b2772782d583a256298bb21b194159b73ba66d Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sun, 20 Nov 2022 18:04:07 +0000 Subject: [PATCH 379/668] Translated using Weblate (Russian) Currently translated at 9.4% (23 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ru/ --- public/locales/ru/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/ru/common.json b/public/locales/ru/common.json index ac9a9823..9e7fe526 100644 --- a/public/locales/ru/common.json +++ b/public/locales/ru/common.json @@ -23,7 +23,9 @@ "tx": "Тx", "mem": "Память", "cpu": "Процессор", - "offline": "Не в сети" + "offline": "Не в сети", + "error": "Error", + "unknown": "Unknown" }, "emby": { "playing": "Воспроизведение", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From 65d7bcd4682302e83ae8bc7d74bb50471e772e16 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sun, 20 Nov 2022 18:04:07 +0000 Subject: [PATCH 380/668] Translated using Weblate (Chinese (Simplified)) Currently translated at 67.6% (165 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hans/ --- public/locales/zh-CN/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/zh-CN/common.json b/public/locales/zh-CN/common.json index 2337bb02..1a25f9cd 100644 --- a/public/locales/zh-CN/common.json +++ b/public/locales/zh-CN/common.json @@ -23,7 +23,9 @@ "tx": "发送", "mem": "内存", "cpu": "处理器", - "offline": "离线" + "offline": "离线", + "error": "Error", + "unknown": "Unknown" }, "emby": { "playing": "播放中", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From 12300391e2e89676d1f216cc72e94e717ccffdf8 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sun, 20 Nov 2022 18:04:07 +0000 Subject: [PATCH 381/668] Translated using Weblate (Italian) Currently translated at 93.8% (229 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/it/ --- public/locales/it/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/it/common.json b/public/locales/it/common.json index 0bf60639..aa9c713a 100644 --- a/public/locales/it/common.json +++ b/public/locales/it/common.json @@ -4,7 +4,9 @@ "mem": "MEM", "cpu": "CPU", "offline": "Offline", - "rx": "RX" + "rx": "RX", + "error": "Error", + "unknown": "Unknown" }, "emby": { "playing": "In riproduzione", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From 3e126824ff13875840ea9d91bd619216dc5dc5d5 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sun, 20 Nov 2022 18:04:06 +0000 Subject: [PATCH 382/668] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegi?= =?UTF-8?q?an=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 32.3% (79 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nb_NO/ --- public/locales/nb-NO/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/nb-NO/common.json b/public/locales/nb-NO/common.json index 813422e2..5982f463 100644 --- a/public/locales/nb-NO/common.json +++ b/public/locales/nb-NO/common.json @@ -23,7 +23,9 @@ "tx": "Sendt", "mem": "Minne", "cpu": "Prosessor", - "offline": "Frakoblet" + "offline": "Frakoblet", + "error": "Error", + "unknown": "Unknown" }, "emby": { "playing": "Spiller", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From 4f0adea0da340a46879ff69e5b04cc64772ce9d7 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sun, 20 Nov 2022 18:04:07 +0000 Subject: [PATCH 383/668] Translated using Weblate (Vietnamese) Currently translated at 18.0% (44 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/vi/ --- public/locales/vi/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/vi/common.json b/public/locales/vi/common.json index 228e7d93..5ab0537e 100644 --- a/public/locales/vi/common.json +++ b/public/locales/vi/common.json @@ -23,7 +23,9 @@ "tx": "TX", "mem": "BỘ NHỚ", "cpu": "CPU", - "offline": "Ngoại tuyến" + "offline": "Ngoại tuyến", + "error": "Error", + "unknown": "Unknown" }, "emby": { "playing": "Đang chơi", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From e7c4254bb68c629adad253f8c6d6b01c2000e042 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sun, 20 Nov 2022 18:04:07 +0000 Subject: [PATCH 384/668] Translated using Weblate (Dutch) Currently translated at 25.8% (63 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nl/ --- public/locales/nl/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/nl/common.json b/public/locales/nl/common.json index 5502dd8b..172edfd2 100644 --- a/public/locales/nl/common.json +++ b/public/locales/nl/common.json @@ -20,7 +20,9 @@ "tx": "TX", "mem": "MEM", "cpu": "CPU", - "offline": "Offline" + "offline": "Offline", + "error": "Error", + "unknown": "Unknown" }, "speedtest": { "upload": "Upload", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From 17cb8ffd0b7fb007235373768ccd7a9751dedba8 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sun, 20 Nov 2022 18:04:08 +0000 Subject: [PATCH 385/668] Translated using Weblate (Chinese (Traditional)) Currently translated at 3.6% (9 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hant/ --- public/locales/zh-Hant/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/zh-Hant/common.json b/public/locales/zh-Hant/common.json index cd508662..3c61740a 100644 --- a/public/locales/zh-Hant/common.json +++ b/public/locales/zh-Hant/common.json @@ -19,7 +19,9 @@ "offline": "Offline", "tx": "TX", "mem": "MEM", - "cpu": "CPU" + "cpu": "CPU", + "error": "Error", + "unknown": "Unknown" }, "emby": { "playing": "Playing", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From 1843c588b8b872d96f9d7053bf78654148f8cd50 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sun, 20 Nov 2022 18:04:04 +0000 Subject: [PATCH 386/668] Translated using Weblate (Catalan) Currently translated at 53.6% (131 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ca/ --- public/locales/ca/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/ca/common.json b/public/locales/ca/common.json index f9aa5969..1656dcc8 100644 --- a/public/locales/ca/common.json +++ b/public/locales/ca/common.json @@ -45,7 +45,9 @@ "tx": "Transmès", "mem": "Memòria", "cpu": "Processador", - "offline": "Fora de línia" + "offline": "Fora de línia", + "error": "Error", + "unknown": "Unknown" }, "emby": { "playing": "Reproduint", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From 7b2b56ff0cc797a3cf82187bd0730f1131fd275c Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sun, 20 Nov 2022 18:04:05 +0000 Subject: [PATCH 387/668] Translated using Weblate (Polish) Currently translated at 95.9% (234 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pl/ --- public/locales/pl/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/pl/common.json b/public/locales/pl/common.json index 064aa016..809fc7c3 100644 --- a/public/locales/pl/common.json +++ b/public/locales/pl/common.json @@ -63,7 +63,9 @@ "tx": "Tx", "mem": "Pamięć", "cpu": "Procesor", - "offline": "Offline" + "offline": "Offline", + "error": "Error", + "unknown": "Unknown" }, "nzbget": { "rate": "Szybkość", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Kanały", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From b8c61f18ef8c306ec7b823724add6f9a8fe6cb50 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sun, 20 Nov 2022 18:04:03 +0000 Subject: [PATCH 388/668] Translated using Weblate (Swedish) Currently translated at 53.2% (130 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sv/ --- public/locales/sv/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/sv/common.json b/public/locales/sv/common.json index 6bdc8ee0..a151bf35 100644 --- a/public/locales/sv/common.json +++ b/public/locales/sv/common.json @@ -26,7 +26,9 @@ "tx": "TX", "mem": "MEM", "cpu": "CPU", - "offline": "Offline" + "offline": "Offline", + "error": "Error", + "unknown": "Unknown" }, "search": { "placeholder": "Sök…" @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From 44477a9e1c4872b2f265787f6769a970a17f199f Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sun, 20 Nov 2022 18:04:03 +0000 Subject: [PATCH 389/668] Translated using Weblate (Croatian) Currently translated at 98.3% (240 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hr/ --- public/locales/hr/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/hr/common.json b/public/locales/hr/common.json index 2ac5c3fb..adb84f37 100644 --- a/public/locales/hr/common.json +++ b/public/locales/hr/common.json @@ -69,7 +69,9 @@ "tx": "TX", "mem": "MEM", "cpu": "CPU", - "offline": "Nepovezan" + "offline": "Nepovezan", + "error": "Error", + "unknown": "Unknown" }, "emby": { "playing": "Reprodukcija", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Kanali", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From eb525e8ea57287e5f00cdefd003a8aecde4437bd Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sun, 20 Nov 2022 18:04:05 +0000 Subject: [PATCH 390/668] Translated using Weblate (Hungarian) Currently translated at 44.2% (108 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hu/ --- public/locales/hu/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/hu/common.json b/public/locales/hu/common.json index 6ba895ae..39f88a6e 100644 --- a/public/locales/hu/common.json +++ b/public/locales/hu/common.json @@ -11,7 +11,9 @@ "tx": "TX", "mem": "MEM", "cpu": "CPU", - "offline": "Offline" + "offline": "Offline", + "error": "Error", + "unknown": "Unknown" }, "lidarr": { "albums": "Albumok", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From 27542befdd965f64240aa2d3bccdbefd3fdc96a1 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sun, 20 Nov 2022 18:04:04 +0000 Subject: [PATCH 391/668] Translated using Weblate (Hebrew) Currently translated at 41.3% (101 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/he/ --- public/locales/he/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/he/common.json b/public/locales/he/common.json index 5c89ac33..cb61cc0e 100644 --- a/public/locales/he/common.json +++ b/public/locales/he/common.json @@ -29,7 +29,9 @@ "tx": "TX", "mem": "זיכרון", "cpu": "מעבד", - "offline": "כבוי" + "offline": "כבוי", + "error": "Error", + "unknown": "Unknown" }, "emby": { "playing": "מנגן", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From 36a153c6c3517bbb9dabd2a85bdc43206a2c5f17 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sun, 20 Nov 2022 18:04:04 +0000 Subject: [PATCH 392/668] Translated using Weblate (Romanian) Currently translated at 56.1% (137 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ro/ --- public/locales/ro/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/ro/common.json b/public/locales/ro/common.json index c98705f2..bd302227 100644 --- a/public/locales/ro/common.json +++ b/public/locales/ro/common.json @@ -11,7 +11,9 @@ "tx": "TX", "mem": "MEM", "cpu": "CPU", - "offline": "Offline" + "offline": "Offline", + "error": "Error", + "unknown": "Unknown" }, "jellyseerr": { "approved": "Aprobate", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From 45c6501dd5a78924f7ea288b359c7636b30afd5b Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sun, 20 Nov 2022 18:04:04 +0000 Subject: [PATCH 393/668] Translated using Weblate (Portuguese (Brazil)) Currently translated at 47.9% (117 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt_BR/ --- public/locales/pt-BR/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/pt-BR/common.json b/public/locales/pt-BR/common.json index f6101ee0..ca4f39ef 100644 --- a/public/locales/pt-BR/common.json +++ b/public/locales/pt-BR/common.json @@ -57,7 +57,9 @@ "tx": "Tx", "mem": "Mem", "cpu": "CPU", - "offline": "Desligado" + "offline": "Desligado", + "error": "Error", + "unknown": "Unknown" }, "emby": { "playing": "Reproduzindo", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From 4be7f15e7d3d29c84b1458ab055bef731009d069 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sun, 20 Nov 2022 18:04:04 +0000 Subject: [PATCH 394/668] Translated using Weblate (Yue) Currently translated at 48.3% (118 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/yue/ --- public/locales/yue/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/yue/common.json b/public/locales/yue/common.json index 6c7d84de..09f8ea7c 100644 --- a/public/locales/yue/common.json +++ b/public/locales/yue/common.json @@ -47,7 +47,9 @@ "tx": "發送", "mem": "內存", "cpu": "處理器", - "offline": "離線" + "offline": "離線", + "error": "Error", + "unknown": "Unknown" }, "nzbget": { "rate": "速度", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From 3f1890f32fae4c6c044b42f4dbee2e9a5bfcfece Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sun, 20 Nov 2022 18:04:05 +0000 Subject: [PATCH 395/668] Translated using Weblate (Finnish) Currently translated at 50.4% (123 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fi/ --- public/locales/fi/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/fi/common.json b/public/locales/fi/common.json index d35449e8..916b8bc5 100644 --- a/public/locales/fi/common.json +++ b/public/locales/fi/common.json @@ -29,7 +29,9 @@ "tx": "TX", "mem": "RAM", "cpu": "CPU", - "offline": "Offline" + "offline": "Offline", + "error": "Error", + "unknown": "Unknown" }, "emby": { "playing": "Toistaa", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From 8cfa6d6ef3b6487d47c1f3dacd8cb28cc62d6e43 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sun, 20 Nov 2022 18:04:05 +0000 Subject: [PATCH 396/668] Translated using Weblate (Telugu) Currently translated at 88.9% (217 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/te/ --- public/locales/te/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/te/common.json b/public/locales/te/common.json index d6ab211f..85fb5846 100644 --- a/public/locales/te/common.json +++ b/public/locales/te/common.json @@ -46,7 +46,9 @@ "tx": "TX", "mem": "MEM", "cpu": "సీపియూ", - "offline": "ఆఫ్‌లైన్" + "offline": "ఆఫ్‌లైన్", + "error": "Error", + "unknown": "Unknown" }, "emby": { "playing": "ఆడుతున్నారు", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From 9b4054f7cc4ebe05526f0d36d21c7f3672050e02 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sun, 20 Nov 2022 18:04:06 +0000 Subject: [PATCH 397/668] Translated using Weblate (Bulgarian) Currently translated at 18.8% (46 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/bg/ --- public/locales/bg/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/bg/common.json b/public/locales/bg/common.json index c7824518..5bdc7191 100644 --- a/public/locales/bg/common.json +++ b/public/locales/bg/common.json @@ -55,7 +55,9 @@ "rx": "RX", "tx": "TX", "mem": "MEM", - "cpu": "CPU" + "cpu": "CPU", + "error": "Error", + "unknown": "Unknown" }, "emby": { "playing": "Възпроизвежда", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "ping": { + "ping": "Ping", + "error": "Error" } } From 972210b184549cdd798e87a72ce7c48d9302013a Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sun, 20 Nov 2022 18:04:04 +0000 Subject: [PATCH 398/668] Translated using Weblate (Turkish) Currently translated at 94.6% (231 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/tr/ --- public/locales/tr/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/tr/common.json b/public/locales/tr/common.json index 053bd1b6..687ee14f 100644 --- a/public/locales/tr/common.json +++ b/public/locales/tr/common.json @@ -45,7 +45,9 @@ "tx": "Giden Veri", "mem": "Bellek", "cpu": "İşlemci", - "offline": "Çevrimdışı" + "offline": "Çevrimdışı", + "error": "Error", + "unknown": "Unknown" }, "emby": { "playing": "Oynatılıyor", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From 6af10c50c52c7dfdb4dfa4dbf5fb5a954f789d17 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sun, 20 Nov 2022 18:04:05 +0000 Subject: [PATCH 399/668] Translated using Weblate (Serbian) Currently translated at 3.6% (9 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sr/ --- public/locales/sr/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/sr/common.json b/public/locales/sr/common.json index ed646d45..94ab9462 100644 --- a/public/locales/sr/common.json +++ b/public/locales/sr/common.json @@ -45,7 +45,9 @@ "tx": "TX", "mem": "MEM", "cpu": "CPU", - "offline": "Offline" + "offline": "Offline", + "error": "Error", + "unknown": "Unknown" }, "emby": { "playing": "Playing", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From 6c986c7b32ecf3147bcf14fbf6724648e6c54e29 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sun, 20 Nov 2022 18:04:05 +0000 Subject: [PATCH 400/668] Translated using Weblate (Arabic) Currently translated at 18.0% (44 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ar/ --- public/locales/ar/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/ar/common.json b/public/locales/ar/common.json index b099cf51..06932fe8 100644 --- a/public/locales/ar/common.json +++ b/public/locales/ar/common.json @@ -103,7 +103,9 @@ "tx": "TX", "mem": "الرام", "cpu": "المعالج", - "offline": "غير متصل" + "offline": "غير متصل", + "error": "Error", + "unknown": "Unknown" }, "emby": { "playing": "يعمل الان", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From 411f6c31523d881566ae8bccdd375f0d2c8e2f10 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sun, 20 Nov 2022 18:04:06 +0000 Subject: [PATCH 401/668] Translated using Weblate (Czech) Currently translated at 92.2% (225 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/cs/ --- public/locales/cs/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/cs/common.json b/public/locales/cs/common.json index fd11ea9d..eaad12be 100644 --- a/public/locales/cs/common.json +++ b/public/locales/cs/common.json @@ -57,7 +57,9 @@ "tx": "TX", "mem": "RAM", "cpu": "CPU", - "offline": "Offline" + "offline": "Offline", + "error": "Error", + "unknown": "Unknown" }, "emby": { "playing": "Přehrává", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From d6e7451a13222bf544a40dcbacf2091a64b638c4 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sun, 20 Nov 2022 18:04:06 +0000 Subject: [PATCH 402/668] Translated using Weblate (Danish) Currently translated at 81.1% (198 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/da/ --- public/locales/da/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/da/common.json b/public/locales/da/common.json index de0ac1d2..0350d7a2 100644 --- a/public/locales/da/common.json +++ b/public/locales/da/common.json @@ -181,7 +181,9 @@ "rx": "RX", "tx": "TX", "mem": "RAM", - "offline": "Offline" + "offline": "Offline", + "error": "Error", + "unknown": "Unknown" }, "emby": { "playing": "Afspiller", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From 553e629ae9be98dc66abc467be655abd7efdabdd Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sun, 20 Nov 2022 18:04:07 +0000 Subject: [PATCH 403/668] Translated using Weblate (Malay) Currently translated at 94.6% (231 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ms/ --- public/locales/ms/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/ms/common.json b/public/locales/ms/common.json index cb6bbb2a..fa9cf98a 100644 --- a/public/locales/ms/common.json +++ b/public/locales/ms/common.json @@ -150,7 +150,9 @@ "tx": "TX", "mem": "MEM", "cpu": "CPU", - "offline": "Luar talian" + "offline": "Luar talian", + "error": "Error", + "unknown": "Unknown" }, "changedetectionio": { "totalObserved": "Jumlah Diperhatikan", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From 24814ec6e4b14ccc53dac697f11268860ff13484 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sun, 20 Nov 2022 18:04:04 +0000 Subject: [PATCH 404/668] Translated using Weblate (Hindi) Currently translated at 3.6% (9 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hi/ --- public/locales/hi/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/hi/common.json b/public/locales/hi/common.json index 7289852f..6b3ff4a9 100644 --- a/public/locales/hi/common.json +++ b/public/locales/hi/common.json @@ -79,7 +79,9 @@ "tx": "TX", "mem": "MEM", "cpu": "CPU", - "offline": "Offline" + "offline": "Offline", + "error": "Error", + "unknown": "Unknown" }, "emby": { "playing": "Playing", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From 44da4e93170349900a5ef2655076bd73945de71d Mon Sep 17 00:00:00 2001 From: Nonoss117 Date: Sun, 20 Nov 2022 18:17:29 +0000 Subject: [PATCH 405/668] Translated using Weblate (French) Currently translated at 100.0% (244 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/ --- public/locales/fr/common.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/public/locales/fr/common.json b/public/locales/fr/common.json index e170b8a9..fc1ab208 100644 --- a/public/locales/fr/common.json +++ b/public/locales/fr/common.json @@ -24,8 +24,8 @@ "mem": "Mém", "cpu": "Cpu", "offline": "Hors ligne", - "error": "Error", - "unknown": "Unknown" + "error": "Erreur", + "unknown": "Inconnu" }, "emby": { "playing": "En lecture", @@ -331,7 +331,7 @@ "hd": "HD" }, "ping": { - "error": "Error", + "error": "Erreur", "ping": "Ping" } } From 0c0bbe93170ce22379677e2f0cdb5eab69e5eaf2 Mon Sep 17 00:00:00 2001 From: retmas-gh Date: Sun, 20 Nov 2022 21:43:11 +0000 Subject: [PATCH 406/668] Translated using Weblate (Polish) Currently translated at 97.5% (238 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pl/ --- public/locales/pl/common.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/public/locales/pl/common.json b/public/locales/pl/common.json index 809fc7c3..c12e044c 100644 --- a/public/locales/pl/common.json +++ b/public/locales/pl/common.json @@ -64,8 +64,8 @@ "mem": "Pamięć", "cpu": "Procesor", "offline": "Offline", - "error": "Error", - "unknown": "Unknown" + "error": "Błąd", + "unknown": "Nieznany" }, "nzbget": { "rate": "Szybkość", @@ -331,7 +331,7 @@ "hd": "HD" }, "ping": { - "error": "Error", + "error": "Błąd", "ping": "Ping" } } From b393318084aecd8cd30b7a64ed4969e72aaaf824 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Sun, 20 Nov 2022 23:59:10 -0800 Subject: [PATCH 407/668] fix group sorting bug --- src/utils/config/api-response.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/utils/config/api-response.js b/src/utils/config/api-response.js index d3561a55..645f45c6 100644 --- a/src/utils/config/api-response.js +++ b/src/utils/config/api-response.js @@ -90,12 +90,12 @@ export async function servicesResponse() { if (definedLayouts) { const layoutIndex = definedLayouts.findIndex(layout => layout === mergedGroup.name); - if (layoutIndex > -1) mergedGroups.splice(layoutIndex, 0, mergedGroup); + if (layoutIndex > -1) mergedGroups[layoutIndex] = mergedGroup; else mergedGroups.push(mergedGroup); } else { mergedGroups.push(mergedGroup); } }); - return mergedGroups; + return mergedGroups.filter(g => g); } From 92d456dbf4fab4c5b19da9730da5560ff55fbbdc Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Mon, 21 Nov 2022 00:29:20 -0800 Subject: [PATCH 408/668] fix group sort to prevent possible loss --- src/utils/config/api-response.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/utils/config/api-response.js b/src/utils/config/api-response.js index 645f45c6..b8de959f 100644 --- a/src/utils/config/api-response.js +++ b/src/utils/config/api-response.js @@ -76,7 +76,8 @@ export async function servicesResponse() { ...new Set([discoveredServices.map((group) => group.name), configuredServices.map((group) => group.name)].flat()), ]; - const mergedGroups = []; + const sortedGroups = []; + const unsortedGroups = []; const definedLayouts = initialSettings.layout ? Object.keys(initialSettings.layout) : null; mergedGroupsNames.forEach((groupName) => { @@ -90,12 +91,12 @@ export async function servicesResponse() { if (definedLayouts) { const layoutIndex = definedLayouts.findIndex(layout => layout === mergedGroup.name); - if (layoutIndex > -1) mergedGroups[layoutIndex] = mergedGroup; - else mergedGroups.push(mergedGroup); + if (layoutIndex > -1) sortedGroups[layoutIndex] = mergedGroup; + else unsortedGroups.push(mergedGroup); } else { - mergedGroups.push(mergedGroup); + unsortedGroups.push(mergedGroup); } }); - return mergedGroups.filter(g => g); + return [...sortedGroups.filter(g => g), ...unsortedGroups]; } From 4584384bebbc275614a314989c0d5e84cd338725 Mon Sep 17 00:00:00 2001 From: Bruno Rossetto Date: Mon, 21 Nov 2022 17:06:11 -0300 Subject: [PATCH 409/668] Fix error on refresh sending DATA var undefined on first time --- src/widgets/changedetectionio/component.jsx | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/widgets/changedetectionio/component.jsx b/src/widgets/changedetectionio/component.jsx index 0a4ce8d2..6f98df6b 100644 --- a/src/widgets/changedetectionio/component.jsx +++ b/src/widgets/changedetectionio/component.jsx @@ -14,6 +14,11 @@ export default function Component({ service }) { if (error) { return ; } + + if (!data) { + return ; + } + const totalObserved = Object.keys(data).length; let diffsDetected = 0; From 8a2d00440b14af28a8a25de6e9e87d08133f970e Mon Sep 17 00:00:00 2001 From: John Hollowell Date: Tue, 22 Nov 2022 03:36:23 +0000 Subject: [PATCH 410/668] Add devcontainer configuration devcontainers can be used by IDEs like VSCode to build the whole development environment in a container. This allows you to keep dependencies, build, and all development aspects separated from any development. It also allows contributors to instantly have a working, standardized development environment. It also allows cloud development tools like GitHub Codespaces be automatically setup with the desired environment. See https://containers.dev/ for more details --- .devcontainer/Dockerfile | 6 ++++++ .devcontainer/devcontainer.json | 27 +++++++++++++++++++++++++++ .devcontainer/setup.sh | 11 +++++++++++ 3 files changed, 44 insertions(+) create mode 100644 .devcontainer/Dockerfile create mode 100644 .devcontainer/devcontainer.json create mode 100755 .devcontainer/setup.sh diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100644 index 00000000..9f20426f --- /dev/null +++ b/.devcontainer/Dockerfile @@ -0,0 +1,6 @@ +ARG VARIANT="16-buster" +FROM mcr.microsoft.com/vscode/devcontainers/javascript-node:${VARIANT} + +RUN npm install -g pnpm + +ENV PATH="${PATH}:./node_modules/.bin" diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 00000000..e547dd7e --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,27 @@ +{ + "name": "homepage", + "build": { + "dockerfile": "Dockerfile", + "args": { + "VARIANT": "18-buster" + } + }, + "customizations": { + "vscode": { + "extensions": [ + "dbaeumer.vscode-eslint", + "mhutchie.git-graph", + "streetsidesoftware.code-spell-checker", + ], + "settings": { + "eslint.format.enable": true, + "eslint.lintTask.enable": true, + "eslint.packageManager": "pnpm" + } + } + }, + "postCreateCommand": ".devcontainer/setup.sh", + "forwardPorts": [ + 3000 + ] +} diff --git a/.devcontainer/setup.sh b/.devcontainer/setup.sh new file mode 100755 index 00000000..70bf96cf --- /dev/null +++ b/.devcontainer/setup.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash + +# Install Node packages +pnpm install + +# Copy in skeleton configuration if there is no existing configuration +if [ ! -d "config/" ]; then + echo "Adding skeleton config" + mkdir config/ + cp -r src/skeleton/* config +fi From cadc1748198a594ccd27ebd0946650ed2c8bdcd3 Mon Sep 17 00:00:00 2001 From: gallegonovato Date: Mon, 21 Nov 2022 11:40:34 +0000 Subject: [PATCH 411/668] Translated using Weblate (Spanish) Currently translated at 100.0% (244 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/ --- public/locales/es/common.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/public/locales/es/common.json b/public/locales/es/common.json index 5b9a7959..90cbdc86 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -24,8 +24,8 @@ "mem": "Memoria", "cpu": "Procesador", "offline": "Desconectado", - "error": "Error", - "unknown": "Unknown" + "error": "Fallo", + "unknown": "Desconocido" }, "emby": { "playing": "Reproduciendo", From 451a2e17535e25c440326d5914e6df15e42244f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=98=D0=B3=D0=BE=D1=80=D1=8C=20=D0=91=D0=B5=D1=81=D1=87?= =?UTF-8?q?=D0=B0=D1=81=D1=82=D0=BD=D0=BE=D0=B2?= Date: Mon, 21 Nov 2022 16:27:51 +0000 Subject: [PATCH 412/668] Translated using Weblate (Russian) Currently translated at 13.9% (34 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ru/ --- public/locales/ru/common.json | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/public/locales/ru/common.json b/public/locales/ru/common.json index 9e7fe526..02266106 100644 --- a/public/locales/ru/common.json +++ b/public/locales/ru/common.json @@ -3,7 +3,7 @@ "missing_type": "Отсутствует тип виджета: {{type}}", "api_error": "Ошибка API", "status": "Статус", - "information": "Information", + "information": "Информация", "url": "URL", "raw_error": "Raw Error", "response_data": "Response Data" @@ -15,7 +15,7 @@ "total": "Всего", "free": "Свободно", "used": "Использовано", - "load": "Load", + "load": "Загрузка", "cpu": "CPU" }, "docker": { @@ -189,19 +189,19 @@ "vms": "VMs" }, "unifi": { - "users": "Users", - "uptime": "System Uptime", - "days": "Days", + "users": "Пользователи", + "uptime": "Время работы системы", + "days": "Дней", "wan": "WAN", - "lan_users": "LAN Users", - "wlan_users": "WLAN Users", + "lan_users": "Пользователи LAN", + "wlan_users": "Пользователи WLAN", "up": "UP", "down": "DOWN", "wait": "Please wait", "lan": "LAN", "wlan": "WLAN", - "devices": "Devices", - "lan_devices": "LAN Devices", + "devices": "Устройства", + "lan_devices": "Устройства подключённые по LAN", "wlan_devices": "WLAN Devices" }, "plex": { From c8d0b5ac4be232fc225252835f5c467ad0fc775a Mon Sep 17 00:00:00 2001 From: Milo Ivir Date: Tue, 22 Nov 2022 22:41:06 +0000 Subject: [PATCH 413/668] Translated using Weblate (Croatian) Currently translated at 100.0% (244 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hr/ --- public/locales/hr/common.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/public/locales/hr/common.json b/public/locales/hr/common.json index adb84f37..703f4e0a 100644 --- a/public/locales/hr/common.json +++ b/public/locales/hr/common.json @@ -70,8 +70,8 @@ "mem": "MEM", "cpu": "CPU", "offline": "Nepovezan", - "error": "Error", - "unknown": "Unknown" + "error": "Greška", + "unknown": "Nepoznato" }, "emby": { "playing": "Reprodukcija", @@ -331,7 +331,7 @@ "hd": "HD" }, "ping": { - "error": "Error", + "error": "Greška", "ping": "Ping" } } From 16561bac79e886a890fa2e36d2e85932dd7e5d9e Mon Sep 17 00:00:00 2001 From: Niklas Date: Wed, 23 Nov 2022 15:27:04 +0100 Subject: [PATCH 414/668] Add scrutiny widget --- public/locales/en/common.json | 5 ++++ src/widgets/components.js | 1 + src/widgets/scrutiny/component.jsx | 37 ++++++++++++++++++++++++++++++ src/widgets/scrutiny/widget.js | 17 ++++++++++++++ src/widgets/widgets.js | 2 ++ 5 files changed, 62 insertions(+) create mode 100644 src/widgets/scrutiny/component.jsx create mode 100644 src/widgets/scrutiny/widget.js diff --git a/public/locales/en/common.json b/public/locales/en/common.json index 4d1b5774..0d1368a6 100644 --- a/public/locales/en/common.json +++ b/public/locales/en/common.json @@ -344,5 +344,10 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } diff --git a/src/widgets/components.js b/src/widgets/components.js index b781172b..d645d80d 100644 --- a/src/widgets/components.js +++ b/src/widgets/components.js @@ -34,6 +34,7 @@ const components = { readarr: dynamic(() => import("./readarr/component")), rutorrent: dynamic(() => import("./rutorrent/component")), sabnzbd: dynamic(() => import("./sabnzbd/component")), + scrutiny: dynamic(() => import("./scrutiny/component")), sonarr: dynamic(() => import("./sonarr/component")), speedtest: dynamic(() => import("./speedtest/component")), strelaysrv: dynamic(() => import("./strelaysrv/component")), diff --git a/src/widgets/scrutiny/component.jsx b/src/widgets/scrutiny/component.jsx new file mode 100644 index 00000000..2e44d778 --- /dev/null +++ b/src/widgets/scrutiny/component.jsx @@ -0,0 +1,37 @@ +import Container from "components/services/widget/container"; +import Block from "components/services/widget/block"; +import useWidgetAPI from "utils/proxy/use-widget-api"; + +export default function Component({ service }) { + const { widget } = service; + + const { data: scrutinyData, error: scrutinyError } = useWidgetAPI(widget, "summary"); + + if (scrutinyError) { + return ; + } + + if (!scrutinyData) { + return ( + + + + + + ); + } + + const deviceIds = Object.values(scrutinyData.data.summary); + + const passed = deviceIds.filter(deviceId => deviceId.device.device_status === 0)?.length || 0; + const failed = deviceIds.filter(deviceId => deviceId.device.device_status > 0 && deviceId.device.device_status <= 3)?.length || 0; + const unknown = deviceIds.length - (passed + failed) || 0; + + return ( + + + + + + ); +} diff --git a/src/widgets/scrutiny/widget.js b/src/widgets/scrutiny/widget.js new file mode 100644 index 00000000..8af7e04e --- /dev/null +++ b/src/widgets/scrutiny/widget.js @@ -0,0 +1,17 @@ +import genericProxyHandler from "utils/proxy/handlers/generic"; + +const widget = { + api: "{url}/api/{endpoint}", + proxyHandler: genericProxyHandler, + + mappings: { + summary: { + endpoint: "summary", + validate: [ + "data", + ] + }, + }, +}; + +export default widget; diff --git a/src/widgets/widgets.js b/src/widgets/widgets.js index fe432832..3f1c6e08 100644 --- a/src/widgets/widgets.js +++ b/src/widgets/widgets.js @@ -29,6 +29,7 @@ import radarr from "./radarr/widget"; import readarr from "./readarr/widget"; import rutorrent from "./rutorrent/widget"; import sabnzbd from "./sabnzbd/widget"; +import scrutiny from "./scrutiny/widget"; import sonarr from "./sonarr/widget"; import speedtest from "./speedtest/widget"; import strelaysrv from "./strelaysrv/widget"; @@ -73,6 +74,7 @@ const widgets = { readarr, rutorrent, sabnzbd, + scrutiny, sonarr, speedtest, strelaysrv, From 88201cc11ac3ce2334be98a41fac2807dcc7647f Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 23 Nov 2022 15:43:24 +0000 Subject: [PATCH 415/668] Translated using Weblate (German) Currently translated at 91.0% (225 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/de/ --- public/locales/de/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/de/common.json b/public/locales/de/common.json index ecc4141c..ec57b3de 100644 --- a/public/locales/de/common.json +++ b/public/locales/de/common.json @@ -333,5 +333,10 @@ "ping": { "ping": "Ping", "error": "Error" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From 7c587a9708fa48f74e4b482ed30170fa4371b573 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 23 Nov 2022 15:43:24 +0000 Subject: [PATCH 416/668] Translated using Weblate (Spanish) Currently translated at 98.7% (244 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/ --- public/locales/es/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/es/common.json b/public/locales/es/common.json index 90cbdc86..06463aa9 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Error", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From 9a558749512fbb8a85be95e5fb0413ffdbdfcd0f Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 23 Nov 2022 15:43:24 +0000 Subject: [PATCH 417/668] Translated using Weblate (French) Currently translated at 98.7% (244 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/ --- public/locales/fr/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/fr/common.json b/public/locales/fr/common.json index fc1ab208..15271c37 100644 --- a/public/locales/fr/common.json +++ b/public/locales/fr/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Erreur", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From 3332ba34fcaad6c30ca0448ccce72c20855a55f9 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 23 Nov 2022 15:43:24 +0000 Subject: [PATCH 418/668] Translated using Weblate (Portuguese) Currently translated at 46.5% (115 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt/ --- public/locales/pt/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/pt/common.json b/public/locales/pt/common.json index 654cdb7f..637610dd 100644 --- a/public/locales/pt/common.json +++ b/public/locales/pt/common.json @@ -344,5 +344,10 @@ "ping": { "error": "Error", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From d6e6e57fa7664c92fad08e5b6d8f96a1ede3100c Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 23 Nov 2022 15:43:24 +0000 Subject: [PATCH 419/668] Translated using Weblate (Russian) Currently translated at 13.7% (34 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ru/ --- public/locales/ru/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/ru/common.json b/public/locales/ru/common.json index 02266106..ebc73fe0 100644 --- a/public/locales/ru/common.json +++ b/public/locales/ru/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Error", "ping": "Ping" + }, + "scrutiny": { + "failed": "Failed", + "unknown": "Unknown", + "passed": "Passed" } } From 4a885ec3a2e74bb0941e719c3fb1ff592fe97e54 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 23 Nov 2022 15:43:24 +0000 Subject: [PATCH 420/668] Translated using Weblate (Chinese (Simplified)) Currently translated at 66.8% (165 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hans/ --- public/locales/zh-CN/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/zh-CN/common.json b/public/locales/zh-CN/common.json index 1a25f9cd..b2438008 100644 --- a/public/locales/zh-CN/common.json +++ b/public/locales/zh-CN/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Error", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From 71d8fb63eb02d578376fa7e89acb3c295968c83b Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 23 Nov 2022 15:43:24 +0000 Subject: [PATCH 421/668] Translated using Weblate (Italian) Currently translated at 92.7% (229 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/it/ --- public/locales/it/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/it/common.json b/public/locales/it/common.json index aa9c713a..8d632da5 100644 --- a/public/locales/it/common.json +++ b/public/locales/it/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Error", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From c1d6653d227e66ed3dfd7f19a03568739d5db3b8 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 23 Nov 2022 15:43:23 +0000 Subject: [PATCH 422/668] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegi?= =?UTF-8?q?an=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 31.9% (79 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nb_NO/ --- public/locales/nb-NO/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/nb-NO/common.json b/public/locales/nb-NO/common.json index 5982f463..acdd7596 100644 --- a/public/locales/nb-NO/common.json +++ b/public/locales/nb-NO/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Error", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From 0c824dfb6783f8d29f57f31edf05c93e24795c5f Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 23 Nov 2022 15:43:25 +0000 Subject: [PATCH 423/668] Translated using Weblate (Vietnamese) Currently translated at 17.8% (44 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/vi/ --- public/locales/vi/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/vi/common.json b/public/locales/vi/common.json index 5ab0537e..19c0552b 100644 --- a/public/locales/vi/common.json +++ b/public/locales/vi/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Error", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From 0e5e7969234b2c80a26468df9aa4bea51f3a89f1 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 23 Nov 2022 15:43:25 +0000 Subject: [PATCH 424/668] Translated using Weblate (Dutch) Currently translated at 25.5% (63 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nl/ --- public/locales/nl/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/nl/common.json b/public/locales/nl/common.json index 172edfd2..59133e3c 100644 --- a/public/locales/nl/common.json +++ b/public/locales/nl/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Error", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From 889643156b7725646973453c5835ccfa802011b4 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 23 Nov 2022 15:43:25 +0000 Subject: [PATCH 425/668] Translated using Weblate (Chinese (Traditional)) Currently translated at 3.6% (9 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hant/ --- public/locales/zh-Hant/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/zh-Hant/common.json b/public/locales/zh-Hant/common.json index 3c61740a..db459342 100644 --- a/public/locales/zh-Hant/common.json +++ b/public/locales/zh-Hant/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Error", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From ce909fd152a8a0022b61a51a8fb809446a86011c Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 23 Nov 2022 15:43:22 +0000 Subject: [PATCH 426/668] Translated using Weblate (Catalan) Currently translated at 53.0% (131 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ca/ --- public/locales/ca/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/ca/common.json b/public/locales/ca/common.json index 1656dcc8..822b8e0c 100644 --- a/public/locales/ca/common.json +++ b/public/locales/ca/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Error", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From ea4cfbcb03c21d12e44b2fd0591850fdf40d89c0 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 23 Nov 2022 15:43:22 +0000 Subject: [PATCH 427/668] Translated using Weblate (Polish) Currently translated at 96.3% (238 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pl/ --- public/locales/pl/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/pl/common.json b/public/locales/pl/common.json index c12e044c..c4b86c3f 100644 --- a/public/locales/pl/common.json +++ b/public/locales/pl/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Błąd", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From 4dceb121aebe631b97a91d58ab787e88e6717704 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 23 Nov 2022 15:43:21 +0000 Subject: [PATCH 428/668] Translated using Weblate (Swedish) Currently translated at 52.6% (130 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sv/ --- public/locales/sv/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/sv/common.json b/public/locales/sv/common.json index a151bf35..0b12d73f 100644 --- a/public/locales/sv/common.json +++ b/public/locales/sv/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Error", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From 6166a3f7e222e47eb28202136b76af50ade646b4 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 23 Nov 2022 15:43:21 +0000 Subject: [PATCH 429/668] Translated using Weblate (Croatian) Currently translated at 98.7% (244 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hr/ --- public/locales/hr/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/hr/common.json b/public/locales/hr/common.json index 703f4e0a..7d1c1809 100644 --- a/public/locales/hr/common.json +++ b/public/locales/hr/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Greška", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From c6d28fb0e678d6af99b8e45daad416c1fd0daabd Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 23 Nov 2022 15:43:22 +0000 Subject: [PATCH 430/668] Translated using Weblate (Hungarian) Currently translated at 43.7% (108 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hu/ --- public/locales/hu/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/hu/common.json b/public/locales/hu/common.json index 39f88a6e..6c5a0b13 100644 --- a/public/locales/hu/common.json +++ b/public/locales/hu/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Error", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From 4889dc100ecce16ad0d6269e8c7a39bb5565ba1e Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 23 Nov 2022 15:43:21 +0000 Subject: [PATCH 431/668] Translated using Weblate (Hebrew) Currently translated at 40.8% (101 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/he/ --- public/locales/he/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/he/common.json b/public/locales/he/common.json index cb61cc0e..67feb2b5 100644 --- a/public/locales/he/common.json +++ b/public/locales/he/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Error", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From 4e92f0f55a784ed61c8285ab482402921b2c0617 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 23 Nov 2022 15:43:21 +0000 Subject: [PATCH 432/668] Translated using Weblate (Romanian) Currently translated at 55.4% (137 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ro/ --- public/locales/ro/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/ro/common.json b/public/locales/ro/common.json index bd302227..43c5d23e 100644 --- a/public/locales/ro/common.json +++ b/public/locales/ro/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Error", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From f90c543afa6d506c006093197f3d7a6c2bf9fe32 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 23 Nov 2022 15:43:21 +0000 Subject: [PATCH 433/668] Translated using Weblate (Portuguese (Brazil)) Currently translated at 47.3% (117 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt_BR/ --- public/locales/pt-BR/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/pt-BR/common.json b/public/locales/pt-BR/common.json index ca4f39ef..73c5dbd3 100644 --- a/public/locales/pt-BR/common.json +++ b/public/locales/pt-BR/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Error", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From 58c042249e377bccc8c73201c9e25c42b035eb03 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 23 Nov 2022 15:43:22 +0000 Subject: [PATCH 434/668] Translated using Weblate (Yue) Currently translated at 47.7% (118 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/yue/ --- public/locales/yue/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/yue/common.json b/public/locales/yue/common.json index 09f8ea7c..248abe21 100644 --- a/public/locales/yue/common.json +++ b/public/locales/yue/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Error", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From 8afb87aa6f27b533a39e0d24619cffc70fba6da6 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 23 Nov 2022 15:43:23 +0000 Subject: [PATCH 435/668] Translated using Weblate (Finnish) Currently translated at 49.7% (123 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fi/ --- public/locales/fi/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/fi/common.json b/public/locales/fi/common.json index 916b8bc5..dc902d28 100644 --- a/public/locales/fi/common.json +++ b/public/locales/fi/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Error", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From 722aa4cf04db04b5c63ae195b4b58f9c8a9144e8 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 23 Nov 2022 15:43:23 +0000 Subject: [PATCH 436/668] Translated using Weblate (Telugu) Currently translated at 87.8% (217 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/te/ --- public/locales/te/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/te/common.json b/public/locales/te/common.json index 85fb5846..3ce6c2fc 100644 --- a/public/locales/te/common.json +++ b/public/locales/te/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Error", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From 1e471c6ceda56fd875b439a00b0feaf252162e61 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 23 Nov 2022 15:43:23 +0000 Subject: [PATCH 437/668] Translated using Weblate (Bulgarian) Currently translated at 18.6% (46 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/bg/ --- public/locales/bg/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/bg/common.json b/public/locales/bg/common.json index 5bdc7191..7c98c49f 100644 --- a/public/locales/bg/common.json +++ b/public/locales/bg/common.json @@ -333,5 +333,10 @@ "ping": { "ping": "Ping", "error": "Error" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From 3caf6f7c2fb927672d0bb31c2f4fc944931ea781 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 23 Nov 2022 15:43:22 +0000 Subject: [PATCH 438/668] Translated using Weblate (Turkish) Currently translated at 93.5% (231 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/tr/ --- public/locales/tr/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/tr/common.json b/public/locales/tr/common.json index 687ee14f..383c0e9e 100644 --- a/public/locales/tr/common.json +++ b/public/locales/tr/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Error", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From 1aea5e177c0cdfd95f1c02ebd662969a8ec650a5 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 23 Nov 2022 15:43:22 +0000 Subject: [PATCH 439/668] Translated using Weblate (Serbian) Currently translated at 3.6% (9 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sr/ --- public/locales/sr/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/sr/common.json b/public/locales/sr/common.json index 94ab9462..8997a1c6 100644 --- a/public/locales/sr/common.json +++ b/public/locales/sr/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Error", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From 9f023f79425a31a082120d2f7f4926eac3be3d29 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 23 Nov 2022 15:43:22 +0000 Subject: [PATCH 440/668] Translated using Weblate (Arabic) Currently translated at 17.8% (44 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ar/ --- public/locales/ar/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/ar/common.json b/public/locales/ar/common.json index 06932fe8..b9370d8a 100644 --- a/public/locales/ar/common.json +++ b/public/locales/ar/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Error", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From 6cdf2a10494476cc1012d340ed0a91dfc6d28e97 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 23 Nov 2022 15:43:23 +0000 Subject: [PATCH 441/668] Translated using Weblate (Czech) Currently translated at 91.0% (225 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/cs/ --- public/locales/cs/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/cs/common.json b/public/locales/cs/common.json index eaad12be..49f6c67d 100644 --- a/public/locales/cs/common.json +++ b/public/locales/cs/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Error", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From 52bb43a57391b965e456f5282848bdc219438fdc Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 23 Nov 2022 15:43:23 +0000 Subject: [PATCH 442/668] Translated using Weblate (Danish) Currently translated at 80.1% (198 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/da/ --- public/locales/da/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/da/common.json b/public/locales/da/common.json index 0350d7a2..698e902c 100644 --- a/public/locales/da/common.json +++ b/public/locales/da/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Error", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From 0299f0e4b7f3ed2a476a4b1104cbb3c8bb5a29b2 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 23 Nov 2022 15:43:25 +0000 Subject: [PATCH 443/668] Translated using Weblate (Malay) Currently translated at 93.5% (231 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ms/ --- public/locales/ms/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/ms/common.json b/public/locales/ms/common.json index fa9cf98a..e720704d 100644 --- a/public/locales/ms/common.json +++ b/public/locales/ms/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Error", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From 7c06926aa76f3e0420459c72a331e1d8414ada94 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 23 Nov 2022 15:43:21 +0000 Subject: [PATCH 444/668] Translated using Weblate (Hindi) Currently translated at 3.6% (9 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hi/ --- public/locales/hi/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/hi/common.json b/public/locales/hi/common.json index 6b3ff4a9..e43cf744 100644 --- a/public/locales/hi/common.json +++ b/public/locales/hi/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Error", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From 7266390491f9946d2aa415e4905514653ce2cb57 Mon Sep 17 00:00:00 2001 From: Jason Fischer Date: Wed, 23 Nov 2022 11:51:53 -0800 Subject: [PATCH 445/668] Add Deluge widget - Create semi-generic jsonrpc proxy handler - Refactor NZBGet to use jsonrpc proxy handler closes #190 --- public/locales/en/common.json | 6 +++ src/utils/proxy/handlers/jsonrpc.js | 82 +++++++++++++++++++++++++++++ src/widgets/components.js | 1 + src/widgets/deluge/component.jsx | 52 ++++++++++++++++++ src/widgets/deluge/proxy.js | 63 ++++++++++++++++++++++ src/widgets/deluge/widget.js | 8 +++ src/widgets/nzbget/proxy.js | 40 -------------- src/widgets/nzbget/widget.js | 5 +- src/widgets/widgets.js | 2 + 9 files changed, 217 insertions(+), 42 deletions(-) create mode 100644 src/utils/proxy/handlers/jsonrpc.js create mode 100644 src/widgets/deluge/component.jsx create mode 100644 src/widgets/deluge/proxy.js create mode 100644 src/widgets/deluge/widget.js delete mode 100644 src/widgets/nzbget/proxy.js diff --git a/public/locales/en/common.json b/public/locales/en/common.json index 4d1b5774..8098273e 100644 --- a/public/locales/en/common.json +++ b/public/locales/en/common.json @@ -112,6 +112,12 @@ "leech": "Leech", "seed": "Seed" }, + "deluge": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" + }, "sonarr": { "wanted": "Wanted", "queued": "Queued", diff --git a/src/utils/proxy/handlers/jsonrpc.js b/src/utils/proxy/handlers/jsonrpc.js new file mode 100644 index 00000000..9677fa50 --- /dev/null +++ b/src/utils/proxy/handlers/jsonrpc.js @@ -0,0 +1,82 @@ +import { JSONRPCClient, JSONRPCErrorException } from "json-rpc-2.0"; + +import { formatApiCall } from "utils/proxy/api-helpers"; +import { httpProxy } from "utils/proxy/http"; +import getServiceWidget from "utils/config/service-helpers"; +import createLogger from "utils/logger"; +import widgets from "widgets/widgets"; + +const logger = createLogger("jsonrpcProxyHandler"); + +export async function sendJsonRpcRequest(url, method, params, username, password) { + const headers = { + "content-type": "application/json", + "accept": "application/json" + } + + if (username && password) { + const authorization = Buffer.from(`${username}:${password}`).toString("base64"); + headers.authorization = `Basic ${authorization}`; + } + + const client = new JSONRPCClient(async (rpcRequest) => { + const httpRequestParams = { + method: "POST", + headers, + body: JSON.stringify(rpcRequest) + }; + + // eslint-disable-next-line no-unused-vars + const [status, contentType, data] = await httpProxy(url, httpRequestParams); + const dataString = data.toString(); + if (status === 200) { + const json = JSON.parse(dataString); + + // in order to get access to the underlying error object in the JSON response + // you must set `result` equal to undefined + if (json.error && (json.result === null)) { + json.result = undefined; + } + return client.receive(json); + } + + return Promise.reject(new Error(dataString)); + }); + + try { + const response = await client.request(method, params); + return [200, "application/json", JSON.stringify(response)]; + } + catch (e) { + if (e instanceof JSONRPCErrorException) { + return [200, "application/json", JSON.stringify({result: null, error: {code: e.code, message: e.message}})]; + } + + logger.warn("Error calling JSONPRC endpoint: %s. %s", url, e); + return [500, "application/json", JSON.stringify({result: null, error: {code: 2, message: e.toString()}})]; + } +} + +export default async function jsonrpcProxyHandler(req, res) { + const { group, service, endpoint: method } = req.query; + + if (group && service) { + const widget = await getServiceWidget(group, service); + const api = widgets?.[widget.type]?.api; + + if (!api) { + return res.status(403).json({ error: "Service does not support API calls" }); + } + + if (widget) { + const url = formatApiCall(api, { ...widget }); + + // eslint-disable-next-line no-unused-vars + const [status, contentType, data] = await sendJsonRpcRequest(url, method, null, widget.username, widget.password); + res.status(status).end(data); + } + } + + logger.debug("Invalid or missing proxy service type '%s' in group '%s'", service, group); + return res.status(400).json({ error: "Invalid proxy service type" }); +} diff --git a/src/widgets/components.js b/src/widgets/components.js index b781172b..e15ed4d8 100644 --- a/src/widgets/components.js +++ b/src/widgets/components.js @@ -7,6 +7,7 @@ const components = { bazarr: dynamic(() => import("./bazarr/component")), changedetectionio: dynamic(() => import("./changedetectionio/component")), coinmarketcap: dynamic(() => import("./coinmarketcap/component")), + deluge: dynamic(() => import("./deluge/component")), docker: dynamic(() => import("./docker/component")), emby: dynamic(() => import("./emby/component")), gluetun: dynamic(() => import("./gluetun/component")), diff --git a/src/widgets/deluge/component.jsx b/src/widgets/deluge/component.jsx new file mode 100644 index 00000000..40f8c672 --- /dev/null +++ b/src/widgets/deluge/component.jsx @@ -0,0 +1,52 @@ +import { useTranslation } from "next-i18next"; + +import Container from "components/services/widget/container"; +import Block from "components/services/widget/block"; +import useWidgetAPI from "utils/proxy/use-widget-api"; + +export default function Component({ service }) { + const { t } = useTranslation(); + + const { widget } = service; + + const { data: torrentData, error: torrentError } = useWidgetAPI(widget); + + if (torrentError) { + return ; + } + + if (!torrentData) { + return ( + + + + + + + ); + } + + const { torrents } = torrentData; + let count = 0; + let rateDl = 0; + let rateUl = 0; + let completed = 0; + for (const key of Object.keys(torrents)) { + const torrent = torrents[key]; + count += 1; + rateDl += torrent.download_payload_rate; + rateUl += torrent.upload_payload_rate; + completed += torrent.total_remaining === 0 ? 1 : 0; + } + + const leech = count - completed || 0; + + return ( + + + + + + + ); +} diff --git a/src/widgets/deluge/proxy.js b/src/widgets/deluge/proxy.js new file mode 100644 index 00000000..e9dac0d9 --- /dev/null +++ b/src/widgets/deluge/proxy.js @@ -0,0 +1,63 @@ +import { formatApiCall } from "utils/proxy/api-helpers"; +import { sendJsonRpcRequest } from "utils/proxy/handlers/jsonrpc"; +import getServiceWidget from "utils/config/service-helpers"; +import createLogger from "utils/logger"; +import widgets from "widgets/widgets"; + +const logger = createLogger("delugeProxyHandler"); + +const dataMethod = "web.update_ui"; +const dataParams = [ + ["queue", "name", "total_wanted", "state", "progress", "download_payload_rate", "upload_payload_rate", "total_remaining"], + {} +]; +const loginMethod = "auth.login"; + +async function sendRpc(url, method, params, username, password) { + const [status, contentType, data] = await sendJsonRpcRequest(url, method, params, username, password); + const json = JSON.parse(data.toString()); + if (json?.error) { + if (json.error.code === 1) { + return [403, contentType, data]; + } + return [500, contentType, data]; + } + + return [status, contentType, data]; +} + +function login(url, username, password) { + return sendRpc(url, loginMethod, [password], username, password); +} + +export default async function delugeProxyHandler(req, res) { + const { group, service } = req.query; + + if (!group || !service) { + logger.debug("Invalid or missing service '%s' or group '%s'", service, group); + return res.status(400).json({ error: "Invalid proxy service type" }); + } + + const widget = await getServiceWidget(group, service); + + if (!widget) { + logger.debug("Invalid or missing widget for service '%s' in group '%s'", service, group); + return res.status(400).json({ error: "Invalid proxy service type" }); + } + + const api = widgets?.[widget.type]?.api + const url = new URL(formatApiCall(api, { ...widget })); + + let [status, contentType, data] = await sendRpc(url, dataMethod, dataParams, widget.username, widget.password); + if (status === 403) { + [status, contentType, data] = await login(url, widget.username, widget.password); + if (status !== 200) { + return res.status(status).end(data); + } + + // eslint-disable-next-line no-unused-vars + [status, contentType, data] = await sendRpc(url, dataMethod, dataParams, widget.username, widget.password); + } + + return res.status(status).end(data); +} diff --git a/src/widgets/deluge/widget.js b/src/widgets/deluge/widget.js new file mode 100644 index 00000000..b5518b66 --- /dev/null +++ b/src/widgets/deluge/widget.js @@ -0,0 +1,8 @@ +import delugeProxyHandler from "./proxy"; + +const widget = { + api: "{url}/json", + proxyHandler: delugeProxyHandler, +}; + +export default widget; diff --git a/src/widgets/nzbget/proxy.js b/src/widgets/nzbget/proxy.js deleted file mode 100644 index 4feac781..00000000 --- a/src/widgets/nzbget/proxy.js +++ /dev/null @@ -1,40 +0,0 @@ -import { JSONRPCClient } from "json-rpc-2.0"; - -import getServiceWidget from "utils/config/service-helpers"; - -export default async function nzbgetProxyHandler(req, res) { - const { group, service, endpoint } = req.query; - - if (group && service) { - const widget = await getServiceWidget(group, service); - - if (widget) { - const constructedUrl = new URL(widget.url); - constructedUrl.pathname = "jsonrpc"; - - const authorization = Buffer.from(`${widget.username}:${widget.password}`).toString("base64"); - - const client = new JSONRPCClient((jsonRPCRequest) => - fetch(constructedUrl.toString(), { - method: "POST", - headers: { - "content-type": "application/json", - authorization: `Basic ${authorization}`, - }, - body: JSON.stringify(jsonRPCRequest), - }).then(async (response) => { - if (response.status === 200) { - const jsonRPCResponse = await response.json(); - return client.receive(jsonRPCResponse); - } - - return Promise.reject(new Error(response.statusText)); - }) - ); - - return res.send(await client.request(endpoint)); - } - } - - return res.status(400).json({ error: "Invalid proxy service type" }); -} diff --git a/src/widgets/nzbget/widget.js b/src/widgets/nzbget/widget.js index 975c8dea..841fb66c 100644 --- a/src/widgets/nzbget/widget.js +++ b/src/widgets/nzbget/widget.js @@ -1,7 +1,8 @@ -import nzbgetProxyHandler from "./proxy"; +import jsonrpcProxyHandler from "utils/proxy/handlers/jsonrpc"; const widget = { - proxyHandler: nzbgetProxyHandler, + api: "{url}/jsonrpc", + proxyHandler: jsonrpcProxyHandler, }; export default widget; diff --git a/src/widgets/widgets.js b/src/widgets/widgets.js index fe432832..6d5c4088 100644 --- a/src/widgets/widgets.js +++ b/src/widgets/widgets.js @@ -4,6 +4,7 @@ import autobrr from "./autobrr/widget"; import bazarr from "./bazarr/widget"; import changedetectionio from "./changedetectionio/widget"; import coinmarketcap from "./coinmarketcap/widget"; +import deluge from "./deluge/widget"; import emby from "./emby/widget"; import gluetun from "./gluetun/widget"; import gotify from "./gotify/widget"; @@ -47,6 +48,7 @@ const widgets = { bazarr, changedetectionio, coinmarketcap, + deluge, emby, gluetun, gotify, From bec62a09494916d81251c419e1d3916c5a820ff2 Mon Sep 17 00:00:00 2001 From: Jason Fischer Date: Wed, 23 Nov 2022 12:01:31 -0800 Subject: [PATCH 446/668] Fix linting errors --- src/widgets/deluge/component.jsx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/widgets/deluge/component.jsx b/src/widgets/deluge/component.jsx index 40f8c672..2e5296f1 100644 --- a/src/widgets/deluge/component.jsx +++ b/src/widgets/deluge/component.jsx @@ -27,19 +27,19 @@ export default function Component({ service }) { } const { torrents } = torrentData; - let count = 0; + const keys = Object.keys(torrents); + let rateDl = 0; let rateUl = 0; let completed = 0; - for (const key of Object.keys(torrents)) { - const torrent = torrents[key]; - count += 1; + for (let i = 0; i < keys.length; i += 1) { + const torrent = torrents[keys[i]]; rateDl += torrent.download_payload_rate; rateUl += torrent.upload_payload_rate; completed += torrent.total_remaining === 0 ? 1 : 0; } - const leech = count - completed || 0; + const leech = keys.length - completed || 0; return ( From 165add7f53c0fbc1aebe02890456a4e1d25f7db2 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Wed, 23 Nov 2022 15:08:06 -0800 Subject: [PATCH 447/668] Handle deluge with 0 torrents --- src/widgets/deluge/component.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/widgets/deluge/component.jsx b/src/widgets/deluge/component.jsx index 2e5296f1..6615cac0 100644 --- a/src/widgets/deluge/component.jsx +++ b/src/widgets/deluge/component.jsx @@ -27,7 +27,7 @@ export default function Component({ service }) { } const { torrents } = torrentData; - const keys = Object.keys(torrents); + const keys = torrents ? Object.keys(torrents) : []; let rateDl = 0; let rateUl = 0; From ccfafe1b31d84b45082e14a8542fa4cff65b6de5 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Wed, 23 Nov 2022 20:07:34 -0800 Subject: [PATCH 448/668] fix fatal jsonrpc error, error handling, add content-length --- src/utils/proxy/handlers/jsonrpc.js | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/utils/proxy/handlers/jsonrpc.js b/src/utils/proxy/handlers/jsonrpc.js index 9677fa50..5618d011 100644 --- a/src/utils/proxy/handlers/jsonrpc.js +++ b/src/utils/proxy/handlers/jsonrpc.js @@ -15,22 +15,22 @@ export async function sendJsonRpcRequest(url, method, params, username, password } if (username && password) { - const authorization = Buffer.from(`${username}:${password}`).toString("base64"); - headers.authorization = `Basic ${authorization}`; + headers.authorization = `Basic ${Buffer.from(`${username}:${password}`).toString("base64")}`; } const client = new JSONRPCClient(async (rpcRequest) => { + const body = JSON.stringify(rpcRequest); + headers['content-length'] = Buffer.byteLength(body); const httpRequestParams = { method: "POST", headers, - body: JSON.stringify(rpcRequest) + body }; // eslint-disable-next-line no-unused-vars const [status, contentType, data] = await httpProxy(url, httpRequestParams); - const dataString = data.toString(); if (status === 200) { - const json = JSON.parse(dataString); + const json = JSON.parse(data.toString()); // in order to get access to the underlying error object in the JSON response // you must set `result` equal to undefined @@ -40,7 +40,7 @@ export async function sendJsonRpcRequest(url, method, params, username, password return client.receive(json); } - return Promise.reject(new Error(dataString)); + return Promise.reject(data?.error ? data : new Error(data.toString())); }); try { @@ -49,6 +49,7 @@ export async function sendJsonRpcRequest(url, method, params, username, password } catch (e) { if (e instanceof JSONRPCErrorException) { + logger.warn("Error calling JSONPRC endpoint: %s. %s", url, e.message); return [200, "application/json", JSON.stringify({result: null, error: {code: e.code, message: e.message}})]; } @@ -73,7 +74,7 @@ export default async function jsonrpcProxyHandler(req, res) { // eslint-disable-next-line no-unused-vars const [status, contentType, data] = await sendJsonRpcRequest(url, method, null, widget.username, widget.password); - res.status(status).end(data); + return res.status(status).end(data); } } From 980a399516c5d37d18f6760c3b28988f03e71d20 Mon Sep 17 00:00:00 2001 From: gallegonovato Date: Wed, 23 Nov 2022 19:04:15 +0000 Subject: [PATCH 449/668] Translated using Weblate (Spanish) Currently translated at 100.0% (247 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/ --- public/locales/es/common.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/public/locales/es/common.json b/public/locales/es/common.json index 06463aa9..a8cdb5f8 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -335,8 +335,8 @@ "ping": "Ping" }, "scrutiny": { - "passed": "Passed", - "failed": "Failed", - "unknown": "Unknown" + "passed": "Aprobado", + "failed": "Fallido", + "unknown": "Desconocido" } } From 69af4286a967a4e440abd13ca02d54240241f419 Mon Sep 17 00:00:00 2001 From: Nonoss117 Date: Wed, 23 Nov 2022 17:55:15 +0000 Subject: [PATCH 450/668] Translated using Weblate (French) Currently translated at 100.0% (247 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/ --- public/locales/fr/common.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/public/locales/fr/common.json b/public/locales/fr/common.json index 15271c37..c20809a0 100644 --- a/public/locales/fr/common.json +++ b/public/locales/fr/common.json @@ -335,8 +335,8 @@ "ping": "Ping" }, "scrutiny": { - "passed": "Passed", - "failed": "Failed", - "unknown": "Unknown" + "passed": "Réussi", + "failed": "Échoué", + "unknown": "Inconnu" } } From 9f03d18e49f6dd6a3a8df8c29b6c6dba2626c5e4 Mon Sep 17 00:00:00 2001 From: Jason Fischer Date: Thu, 24 Nov 2022 12:26:22 -0800 Subject: [PATCH 451/668] Move content-length calculation to http module - consolidate http / https functionality to single function --- src/utils/proxy/handlers/jsonrpc.js | 3 +-- src/utils/proxy/http.js | 41 +++++++++-------------------- 2 files changed, 14 insertions(+), 30 deletions(-) diff --git a/src/utils/proxy/handlers/jsonrpc.js b/src/utils/proxy/handlers/jsonrpc.js index 5618d011..27427612 100644 --- a/src/utils/proxy/handlers/jsonrpc.js +++ b/src/utils/proxy/handlers/jsonrpc.js @@ -20,7 +20,6 @@ export async function sendJsonRpcRequest(url, method, params, username, password const client = new JSONRPCClient(async (rpcRequest) => { const body = JSON.stringify(rpcRequest); - headers['content-length'] = Buffer.byteLength(body); const httpRequestParams = { method: "POST", headers, @@ -49,7 +48,7 @@ export async function sendJsonRpcRequest(url, method, params, username, password } catch (e) { if (e instanceof JSONRPCErrorException) { - logger.warn("Error calling JSONPRC endpoint: %s. %s", url, e.message); + logger.debug("Error calling JSONPRC endpoint: %s. %s", url, e.message); return [200, "application/json", JSON.stringify({result: null, error: {code: e.code, message: e.message}})]; } diff --git a/src/utils/proxy/http.js b/src/utils/proxy/http.js index 16b58bf7..e07f06ff 100644 --- a/src/utils/proxy/http.js +++ b/src/utils/proxy/http.js @@ -18,10 +18,15 @@ function addCookieHandler(url, params) { }; } -export function httpsRequest(url, params) { +function handleRequest(requestor, url, params) { return new Promise((resolve, reject) => { addCookieHandler(url, params); - const request = https.request(url, params, (response) => { + if (params?.body) { + params.headers = params.headers ?? {}; + params.headers['content-length'] = Buffer.byteLength(params.body); + } + + const request = requestor.request(url, params, (response) => { const data = []; response.on("data", (chunk) => { @@ -38,7 +43,7 @@ export function httpsRequest(url, params) { reject([500, error]); }); - if (params.body) { + if (params?.body) { request.write(params.body); } @@ -46,32 +51,12 @@ export function httpsRequest(url, params) { }); } +export function httpsRequest(url, params) { + return handleRequest(https, url, params); +} + export function httpRequest(url, params) { - return new Promise((resolve, reject) => { - addCookieHandler(url, params); - const request = http.request(url, params, (response) => { - const data = []; - - response.on("data", (chunk) => { - data.push(chunk); - }); - - response.on("end", () => { - addCookieToJar(url, response.headers); - resolve([response.statusCode, response.headers["content-type"], Buffer.concat(data), response.headers]); - }); - }); - - request.on("error", (error) => { - reject([500, error]); - }); - - if (params.body) { - request.write(params.body); - } - - request.end(); - }); + return handleRequest(http, url, params); } export async function httpProxy(url, params = {}) { From a677a507b874a56468e5479b65d8f00e6728265a Mon Sep 17 00:00:00 2001 From: Niklas Date: Fri, 25 Nov 2022 16:05:53 +0100 Subject: [PATCH 452/668] Added paperless-ngx widget --- public/locales/en/common.json | 4 +++ src/utils/config/service-helpers.js | 3 ++ src/widgets/components.js | 1 + src/widgets/paperlessngx/component.jsx | 42 ++++++++++++++++++++++++++ src/widgets/paperlessngx/widget.js | 25 +++++++++++++++ src/widgets/widgets.js | 2 ++ 6 files changed, 77 insertions(+) create mode 100644 src/widgets/paperlessngx/component.jsx create mode 100644 src/widgets/paperlessngx/widget.js diff --git a/public/locales/en/common.json b/public/locales/en/common.json index 0d1368a6..063e33b5 100644 --- a/public/locales/en/common.json +++ b/public/locales/en/common.json @@ -349,5 +349,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } diff --git a/src/utils/config/service-helpers.js b/src/utils/config/service-helpers.js index 15740d22..d8367de3 100644 --- a/src/utils/config/service-helpers.js +++ b/src/utils/config/service-helpers.js @@ -118,6 +118,7 @@ export function cleanServiceGroups(groups) { container, currency, // coinmarketcap widget symbols, + inboxTag, // paperlessngx widget } = cleanedService.widget; cleanedService.widget = { @@ -129,6 +130,8 @@ export function cleanServiceGroups(groups) { if (currency) cleanedService.widget.currency = currency; if (symbols) cleanedService.widget.symbols = symbols; + + if (inboxTag) cleanedService.widget.inboxTag = inboxTag; if (type === "docker") { if (server) cleanedService.widget.server = server; diff --git a/src/widgets/components.js b/src/widgets/components.js index d645d80d..eb7c8127 100644 --- a/src/widgets/components.js +++ b/src/widgets/components.js @@ -23,6 +23,7 @@ const components = { nzbget: dynamic(() => import("./nzbget/component")), ombi: dynamic(() => import("./ombi/component")), overseerr: dynamic(() => import("./overseerr/component")), + paperlessngx: dynamic(() => import("./paperlessngx/component")), pihole: dynamic(() => import("./pihole/component")), plex: dynamic(() => import("./plex/component")), portainer: dynamic(() => import("./portainer/component")), diff --git a/src/widgets/paperlessngx/component.jsx b/src/widgets/paperlessngx/component.jsx new file mode 100644 index 00000000..131c0419 --- /dev/null +++ b/src/widgets/paperlessngx/component.jsx @@ -0,0 +1,42 @@ +import Container from "components/services/widget/container"; +import Block from "components/services/widget/block"; +import useWidgetAPI from "utils/proxy/use-widget-api"; + +export default function Component({ service }) { + const { widget } = service; + + const { data: inboxData, error: inboxError } = useWidgetAPI(widget, "inbox", + { + query: `tag:${widget.inboxTag}`, + format: "json", + fields: "count" + }); + + + const { data: documentData, error: documentError } = useWidgetAPI(widget, "documents", + { + fields: "count", + format: "json", + }); + + if (inboxError || documentError) { + const finalError = inboxError ?? documentError; + return ; + } + + if (!inboxData || !documentData) { + return ( + + + + + ); + } + + return ( + + + + + ); +} diff --git a/src/widgets/paperlessngx/widget.js b/src/widgets/paperlessngx/widget.js new file mode 100644 index 00000000..9671a053 --- /dev/null +++ b/src/widgets/paperlessngx/widget.js @@ -0,0 +1,25 @@ +import genericProxyHandler from "utils/proxy/handlers/generic"; + +const widget = { + api: "{url}/api/{endpoint}", + proxyHandler: genericProxyHandler, + + mappings: { + "inbox": { + endpoint: "documents/", + params: ["format", "query", "fields"], + validate: [ + "count" + ] + }, + "documents": { + endpoint: "documents/", + params: ["format", "fields"], + validate: [ + "count" + ] + }, + }, +}; + +export default widget; diff --git a/src/widgets/widgets.js b/src/widgets/widgets.js index 3f1c6e08..2d2f453d 100644 --- a/src/widgets/widgets.js +++ b/src/widgets/widgets.js @@ -18,6 +18,7 @@ import npm from "./npm/widget"; import nzbget from "./nzbget/widget"; import ombi from "./ombi/widget"; import overseerr from "./overseerr/widget"; +import paperlessngx from "./paperlessngx/widget"; import pihole from "./pihole/widget"; import plex from "./plex/widget"; import portainer from "./portainer/widget"; @@ -63,6 +64,7 @@ const widgets = { nzbget, ombi, overseerr, + paperlessngx, pihole, plex, portainer, From a488cc0115f9a4b9da8d6b7bb5556140cfe745c3 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Fri, 25 Nov 2022 08:23:12 -0800 Subject: [PATCH 453/668] Use statistics endpoint for paperless-ngx --- src/utils/config/service-helpers.js | 3 --- src/widgets/paperlessngx/component.jsx | 25 ++++++------------------- src/widgets/paperlessngx/widget.js | 14 +++----------- 3 files changed, 9 insertions(+), 33 deletions(-) diff --git a/src/utils/config/service-helpers.js b/src/utils/config/service-helpers.js index d8367de3..15740d22 100644 --- a/src/utils/config/service-helpers.js +++ b/src/utils/config/service-helpers.js @@ -118,7 +118,6 @@ export function cleanServiceGroups(groups) { container, currency, // coinmarketcap widget symbols, - inboxTag, // paperlessngx widget } = cleanedService.widget; cleanedService.widget = { @@ -130,8 +129,6 @@ export function cleanServiceGroups(groups) { if (currency) cleanedService.widget.currency = currency; if (symbols) cleanedService.widget.symbols = symbols; - - if (inboxTag) cleanedService.widget.inboxTag = inboxTag; if (type === "docker") { if (server) cleanedService.widget.server = server; diff --git a/src/widgets/paperlessngx/component.jsx b/src/widgets/paperlessngx/component.jsx index 131c0419..d0c2e12f 100644 --- a/src/widgets/paperlessngx/component.jsx +++ b/src/widgets/paperlessngx/component.jsx @@ -5,26 +5,13 @@ import useWidgetAPI from "utils/proxy/use-widget-api"; export default function Component({ service }) { const { widget } = service; - const { data: inboxData, error: inboxError } = useWidgetAPI(widget, "inbox", - { - query: `tag:${widget.inboxTag}`, - format: "json", - fields: "count" - }); + const { data: statisticsData, error: statisticsError } = useWidgetAPI(widget, "statistics"); - - const { data: documentData, error: documentError } = useWidgetAPI(widget, "documents", - { - fields: "count", - format: "json", - }); - - if (inboxError || documentError) { - const finalError = inboxError ?? documentError; - return ; + if (statisticsError) { + return ; } - if (!inboxData || !documentData) { + if (!statisticsData) { return ( @@ -35,8 +22,8 @@ export default function Component({ service }) { return ( - - + {statisticsData.documents_inbox !== undefined && } + ); } diff --git a/src/widgets/paperlessngx/widget.js b/src/widgets/paperlessngx/widget.js index 9671a053..8af8079d 100644 --- a/src/widgets/paperlessngx/widget.js +++ b/src/widgets/paperlessngx/widget.js @@ -5,18 +5,10 @@ const widget = { proxyHandler: genericProxyHandler, mappings: { - "inbox": { - endpoint: "documents/", - params: ["format", "query", "fields"], + "statistics": { + endpoint: "statistics/?format=json", validate: [ - "count" - ] - }, - "documents": { - endpoint: "documents/", - params: ["format", "fields"], - validate: [ - "count" + "documents_total" ] }, }, From 17f6c15df5d9fd716ad3e463af2246d16af57e80 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 25 Nov 2022 16:44:18 +0000 Subject: [PATCH 454/668] Translated using Weblate (German) Currently translated at 90.3% (225 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/de/ --- public/locales/de/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/de/common.json b/public/locales/de/common.json index ec57b3de..fd9b1648 100644 --- a/public/locales/de/common.json +++ b/public/locales/de/common.json @@ -338,5 +338,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From fb0c40bbac7f1ca9fced72cb577574b4c670a01e Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 25 Nov 2022 16:44:18 +0000 Subject: [PATCH 455/668] Translated using Weblate (Spanish) Currently translated at 99.1% (247 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/ --- public/locales/es/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/es/common.json b/public/locales/es/common.json index a8cdb5f8..0ebde722 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -338,5 +338,9 @@ "passed": "Aprobado", "failed": "Fallido", "unknown": "Desconocido" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From 7137508287a6c0dd4ebebcdda8be4dd186d4feb6 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 25 Nov 2022 16:44:18 +0000 Subject: [PATCH 456/668] Translated using Weblate (French) Currently translated at 99.1% (247 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/ --- public/locales/fr/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/fr/common.json b/public/locales/fr/common.json index c20809a0..ae7a8a6a 100644 --- a/public/locales/fr/common.json +++ b/public/locales/fr/common.json @@ -338,5 +338,9 @@ "passed": "Réussi", "failed": "Échoué", "unknown": "Inconnu" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From 059fe69ff0e1c60fc446b6ca3baa6509eaf1de49 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 25 Nov 2022 16:44:18 +0000 Subject: [PATCH 457/668] Translated using Weblate (Portuguese) Currently translated at 46.1% (115 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt/ --- public/locales/pt/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/pt/common.json b/public/locales/pt/common.json index 637610dd..53889ec3 100644 --- a/public/locales/pt/common.json +++ b/public/locales/pt/common.json @@ -349,5 +349,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From 318fc0c2d5b05cd031e1eb9a4f27d9fe71ee7595 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 25 Nov 2022 16:44:18 +0000 Subject: [PATCH 458/668] Translated using Weblate (Russian) Currently translated at 13.6% (34 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ru/ --- public/locales/ru/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/ru/common.json b/public/locales/ru/common.json index ebc73fe0..9cef572a 100644 --- a/public/locales/ru/common.json +++ b/public/locales/ru/common.json @@ -338,5 +338,9 @@ "failed": "Failed", "unknown": "Unknown", "passed": "Passed" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From 60815e0f7dd194e966e51efdba9729d1b4f48474 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 25 Nov 2022 16:44:18 +0000 Subject: [PATCH 459/668] Translated using Weblate (Chinese (Simplified)) Currently translated at 66.2% (165 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hans/ --- public/locales/zh-CN/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/zh-CN/common.json b/public/locales/zh-CN/common.json index b2438008..4fe0901c 100644 --- a/public/locales/zh-CN/common.json +++ b/public/locales/zh-CN/common.json @@ -338,5 +338,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From 8dfa586e46549fb58ec7e3de358d2ba4e72a43a1 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 25 Nov 2022 16:44:18 +0000 Subject: [PATCH 460/668] Translated using Weblate (Italian) Currently translated at 91.9% (229 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/it/ --- public/locales/it/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/it/common.json b/public/locales/it/common.json index 8d632da5..228f4a4b 100644 --- a/public/locales/it/common.json +++ b/public/locales/it/common.json @@ -338,5 +338,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From 5fe90708395639d79e548c2733bf0e116bb1cbed Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 25 Nov 2022 16:44:18 +0000 Subject: [PATCH 461/668] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegi?= =?UTF-8?q?an=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 31.7% (79 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nb_NO/ --- public/locales/nb-NO/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/nb-NO/common.json b/public/locales/nb-NO/common.json index acdd7596..c7c4165b 100644 --- a/public/locales/nb-NO/common.json +++ b/public/locales/nb-NO/common.json @@ -338,5 +338,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From 9abc92f54e11d178f3199c8d535037f6f7cdd173 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 25 Nov 2022 16:44:18 +0000 Subject: [PATCH 462/668] Translated using Weblate (Vietnamese) Currently translated at 17.6% (44 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/vi/ --- public/locales/vi/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/vi/common.json b/public/locales/vi/common.json index 19c0552b..f888dcc6 100644 --- a/public/locales/vi/common.json +++ b/public/locales/vi/common.json @@ -338,5 +338,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From 68245e71e9af85b3dd565df7e59c950f3a70109c Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 25 Nov 2022 16:44:18 +0000 Subject: [PATCH 463/668] Translated using Weblate (Dutch) Currently translated at 25.3% (63 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nl/ --- public/locales/nl/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/nl/common.json b/public/locales/nl/common.json index 59133e3c..78d6242c 100644 --- a/public/locales/nl/common.json +++ b/public/locales/nl/common.json @@ -338,5 +338,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From e4c315bfb94b0a3c6eb2412eab92f2ce727fd578 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 25 Nov 2022 16:44:18 +0000 Subject: [PATCH 464/668] Translated using Weblate (Chinese (Traditional)) Currently translated at 3.6% (9 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hant/ --- public/locales/zh-Hant/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/zh-Hant/common.json b/public/locales/zh-Hant/common.json index db459342..ab436b0f 100644 --- a/public/locales/zh-Hant/common.json +++ b/public/locales/zh-Hant/common.json @@ -338,5 +338,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From 8b57b34986bf531faf569a2003973c750368de85 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 25 Nov 2022 16:44:16 +0000 Subject: [PATCH 465/668] Translated using Weblate (Catalan) Currently translated at 52.6% (131 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ca/ --- public/locales/ca/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/ca/common.json b/public/locales/ca/common.json index 822b8e0c..7fa624e6 100644 --- a/public/locales/ca/common.json +++ b/public/locales/ca/common.json @@ -338,5 +338,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From 8cbe013fd43db4d67bc90bcbc21e2386374ae5d6 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 25 Nov 2022 16:44:17 +0000 Subject: [PATCH 466/668] Translated using Weblate (Polish) Currently translated at 95.5% (238 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pl/ --- public/locales/pl/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/pl/common.json b/public/locales/pl/common.json index c4b86c3f..9a354ac7 100644 --- a/public/locales/pl/common.json +++ b/public/locales/pl/common.json @@ -338,5 +338,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From 60c919dcfab6608ae3bd875b96ca0f452ec3ebdd Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 25 Nov 2022 16:44:16 +0000 Subject: [PATCH 467/668] Translated using Weblate (Swedish) Currently translated at 52.2% (130 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sv/ --- public/locales/sv/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/sv/common.json b/public/locales/sv/common.json index 0b12d73f..0116e49a 100644 --- a/public/locales/sv/common.json +++ b/public/locales/sv/common.json @@ -338,5 +338,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From 4e310e513360ec5aba7265b7bab301dbacb81356 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 25 Nov 2022 16:44:16 +0000 Subject: [PATCH 468/668] Translated using Weblate (Croatian) Currently translated at 97.9% (244 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hr/ --- public/locales/hr/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/hr/common.json b/public/locales/hr/common.json index 7d1c1809..b3da36b2 100644 --- a/public/locales/hr/common.json +++ b/public/locales/hr/common.json @@ -338,5 +338,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From 763b9abda0ace8212b30009e1d71d4e0c1d6037e Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 25 Nov 2022 16:44:16 +0000 Subject: [PATCH 469/668] Translated using Weblate (Hungarian) Currently translated at 43.3% (108 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hu/ --- public/locales/hu/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/hu/common.json b/public/locales/hu/common.json index 6c5a0b13..02fbc6e1 100644 --- a/public/locales/hu/common.json +++ b/public/locales/hu/common.json @@ -338,5 +338,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From 646555a215fa15af8d771f6d4176d039d6f117d2 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 25 Nov 2022 16:44:16 +0000 Subject: [PATCH 470/668] Translated using Weblate (Hebrew) Currently translated at 40.5% (101 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/he/ --- public/locales/he/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/he/common.json b/public/locales/he/common.json index 67feb2b5..51f32a17 100644 --- a/public/locales/he/common.json +++ b/public/locales/he/common.json @@ -338,5 +338,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From f48a755e715ed233a488deaafb9105c73095e19f Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 25 Nov 2022 16:44:16 +0000 Subject: [PATCH 471/668] Translated using Weblate (Romanian) Currently translated at 55.0% (137 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ro/ --- public/locales/ro/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/ro/common.json b/public/locales/ro/common.json index 43c5d23e..1e4aa484 100644 --- a/public/locales/ro/common.json +++ b/public/locales/ro/common.json @@ -338,5 +338,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From f7db29a51ffedccf60aa03cb1cdd91b1340b3353 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 25 Nov 2022 16:44:17 +0000 Subject: [PATCH 472/668] Translated using Weblate (Portuguese (Brazil)) Currently translated at 46.9% (117 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt_BR/ --- public/locales/pt-BR/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/pt-BR/common.json b/public/locales/pt-BR/common.json index 73c5dbd3..ed86cc9a 100644 --- a/public/locales/pt-BR/common.json +++ b/public/locales/pt-BR/common.json @@ -338,5 +338,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From c5461f51a7fe60ba57676e652c39d9175f70c837 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 25 Nov 2022 16:44:16 +0000 Subject: [PATCH 473/668] Translated using Weblate (Yue) Currently translated at 47.3% (118 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/yue/ --- public/locales/yue/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/yue/common.json b/public/locales/yue/common.json index 248abe21..d662e053 100644 --- a/public/locales/yue/common.json +++ b/public/locales/yue/common.json @@ -338,5 +338,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From 9c457bdcb92c943b8a2972b8309077efa067da66 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 25 Nov 2022 16:44:17 +0000 Subject: [PATCH 474/668] Translated using Weblate (Finnish) Currently translated at 49.3% (123 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fi/ --- public/locales/fi/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/fi/common.json b/public/locales/fi/common.json index dc902d28..ddb15085 100644 --- a/public/locales/fi/common.json +++ b/public/locales/fi/common.json @@ -338,5 +338,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From 76f4246161394a96987efe12e40509948724bdd6 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 25 Nov 2022 16:44:17 +0000 Subject: [PATCH 475/668] Translated using Weblate (Telugu) Currently translated at 87.1% (217 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/te/ --- public/locales/te/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/te/common.json b/public/locales/te/common.json index 3ce6c2fc..f6d42c72 100644 --- a/public/locales/te/common.json +++ b/public/locales/te/common.json @@ -338,5 +338,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From 6aafebd2af2a7c980858bcf1f6a9b3bf443bd6c1 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 25 Nov 2022 16:44:17 +0000 Subject: [PATCH 476/668] Translated using Weblate (Bulgarian) Currently translated at 18.4% (46 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/bg/ --- public/locales/bg/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/bg/common.json b/public/locales/bg/common.json index 7c98c49f..741cb048 100644 --- a/public/locales/bg/common.json +++ b/public/locales/bg/common.json @@ -338,5 +338,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From 69dbcd40f366702048a9430a6ee5688e784b32e1 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 25 Nov 2022 16:44:17 +0000 Subject: [PATCH 477/668] Translated using Weblate (Turkish) Currently translated at 92.7% (231 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/tr/ --- public/locales/tr/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/tr/common.json b/public/locales/tr/common.json index 383c0e9e..8ca0638d 100644 --- a/public/locales/tr/common.json +++ b/public/locales/tr/common.json @@ -338,5 +338,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From 3a78d44350ac2708f4aedf4cd5e4712cfa31eb79 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 25 Nov 2022 16:44:17 +0000 Subject: [PATCH 478/668] Translated using Weblate (Serbian) Currently translated at 3.6% (9 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sr/ --- public/locales/sr/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/sr/common.json b/public/locales/sr/common.json index 8997a1c6..6932c8df 100644 --- a/public/locales/sr/common.json +++ b/public/locales/sr/common.json @@ -338,5 +338,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From 0c87f0ce8649ab0d7d73926d58c5581744f0e820 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 25 Nov 2022 16:44:17 +0000 Subject: [PATCH 479/668] Translated using Weblate (Arabic) Currently translated at 17.6% (44 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ar/ --- public/locales/ar/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/ar/common.json b/public/locales/ar/common.json index b9370d8a..c82e5819 100644 --- a/public/locales/ar/common.json +++ b/public/locales/ar/common.json @@ -338,5 +338,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From d313d398a2f3c0ea8807bfe55d99e059d68d46d5 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 25 Nov 2022 16:44:17 +0000 Subject: [PATCH 480/668] Translated using Weblate (Czech) Currently translated at 90.3% (225 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/cs/ --- public/locales/cs/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/cs/common.json b/public/locales/cs/common.json index 49f6c67d..d153cb8f 100644 --- a/public/locales/cs/common.json +++ b/public/locales/cs/common.json @@ -338,5 +338,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From 6befcd521efa0124fc8061f99899c3ceb43659ce Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 25 Nov 2022 16:44:17 +0000 Subject: [PATCH 481/668] Translated using Weblate (Danish) Currently translated at 79.5% (198 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/da/ --- public/locales/da/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/da/common.json b/public/locales/da/common.json index 698e902c..1cc4a4a6 100644 --- a/public/locales/da/common.json +++ b/public/locales/da/common.json @@ -338,5 +338,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From be39e50282f1af00bb951980eca55dfb72263b5f Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 25 Nov 2022 16:44:18 +0000 Subject: [PATCH 482/668] Translated using Weblate (Malay) Currently translated at 92.7% (231 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ms/ --- public/locales/ms/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/ms/common.json b/public/locales/ms/common.json index e720704d..125e94ca 100644 --- a/public/locales/ms/common.json +++ b/public/locales/ms/common.json @@ -338,5 +338,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From 4406c650469afbfbef014ff35ff6ccbf90a65da4 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 25 Nov 2022 16:44:17 +0000 Subject: [PATCH 483/668] Translated using Weblate (Hindi) Currently translated at 3.6% (9 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hi/ --- public/locales/hi/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/hi/common.json b/public/locales/hi/common.json index e43cf744..891bbf28 100644 --- a/public/locales/hi/common.json +++ b/public/locales/hi/common.json @@ -338,5 +338,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From 034dbb956a7ee07583cc325859a715265213bb15 Mon Sep 17 00:00:00 2001 From: Jason Fischer Date: Fri, 25 Nov 2022 10:55:56 -0800 Subject: [PATCH 484/668] Change qBittorrent to no longer use fetch --- src/widgets/qbittorrent/proxy.js | 28 ++++++++++------------------ 1 file changed, 10 insertions(+), 18 deletions(-) diff --git a/src/widgets/qbittorrent/proxy.js b/src/widgets/qbittorrent/proxy.js index 14271b65..e1ea7f90 100644 --- a/src/widgets/qbittorrent/proxy.js +++ b/src/widgets/qbittorrent/proxy.js @@ -1,30 +1,23 @@ import { formatApiCall } from "utils/proxy/api-helpers"; -import { addCookieToJar, setCookieHeader } from "utils/proxy/cookie-jar"; import { httpProxy } from "utils/proxy/http"; import getServiceWidget from "utils/config/service-helpers"; import createLogger from "utils/logger"; const logger = createLogger("qbittorrentProxyHandler"); -async function login(widget, params) { +async function login(widget) { logger.debug("qBittorrent is rejecting the request, logging in."); const loginUrl = new URL(`${widget.url}/api/v2/auth/login`).toString(); const loginBody = `username=${encodeURI(widget.username)}&password=${encodeURI(widget.password)}`; - - // using fetch intentionally, for login only, as the httpProxy method causes qBittorrent to - // complain about header encoding - return fetch(loginUrl, { + const loginParams = { method: "POST", headers: { "Content-Type": "application/x-www-form-urlencoded" }, body: loginBody, - }) - .then(async (response) => { - addCookieToJar(loginUrl, response.headers); - setCookieHeader(loginUrl, params); - const data = await response.text(); - return [response.status, data]; - }) - .catch((err) => [500, err]); + } + + // eslint-disable-next-line no-unused-vars + const [status, contentType, data] = await httpProxy(loginUrl, loginParams); + return [status, data]; } export default async function qbittorrentProxyHandler(req, res) { @@ -44,11 +37,10 @@ export default async function qbittorrentProxyHandler(req, res) { const url = new URL(formatApiCall("{url}/api/v2/{endpoint}", { endpoint, ...widget })); const params = { method: "GET", headers: {} }; - setCookieHeader(url, params); let [status, contentType, data] = await httpProxy(url, params); if (status === 403) { - [status, data] = await login(widget, params); + [status, data] = await login(widget); if (status !== 200) { logger.error("HTTP %d logging in to qBittorrent. Data: %s", status, data); @@ -59,9 +51,9 @@ export default async function qbittorrentProxyHandler(req, res) { logger.error("Error logging in to qBittorrent: Data: %s", data); return res.status(401).end(data); } - } - [status, contentType, data] = await httpProxy(url, params); + [status, contentType, data] = await httpProxy(url, params); + } if (status !== 200) { logger.error("HTTP %d getting data from qBittorrent. Data: %s", status, data); From 7398b1d6abb9b4a4727c9488d7a5b42093a026ca Mon Sep 17 00:00:00 2001 From: gallegonovato Date: Fri, 25 Nov 2022 19:57:51 +0000 Subject: [PATCH 485/668] Translated using Weblate (Spanish) Currently translated at 100.0% (249 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/ --- public/locales/es/common.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/locales/es/common.json b/public/locales/es/common.json index 0ebde722..608aa5c0 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -340,7 +340,7 @@ "unknown": "Desconocido" }, "paperlessngx": { - "inbox": "Inbox", + "inbox": "Bandeja de entrada", "total": "Total" } } From f99f46d640bbeb0bb0ac697e19065c2cbb04789c Mon Sep 17 00:00:00 2001 From: Nonoss117 Date: Fri, 25 Nov 2022 18:06:06 +0000 Subject: [PATCH 486/668] Translated using Weblate (French) Currently translated at 100.0% (249 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/ --- public/locales/fr/common.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/locales/fr/common.json b/public/locales/fr/common.json index ae7a8a6a..9dd21699 100644 --- a/public/locales/fr/common.json +++ b/public/locales/fr/common.json @@ -340,7 +340,7 @@ "unknown": "Inconnu" }, "paperlessngx": { - "inbox": "Inbox", + "inbox": "Boîte de réception", "total": "Total" } } From c0e7130d627ac57783e7c461a85ae4007edfbfbb Mon Sep 17 00:00:00 2001 From: Milo Ivir Date: Fri, 25 Nov 2022 23:54:03 +0000 Subject: [PATCH 487/668] Translated using Weblate (Croatian) Currently translated at 100.0% (249 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hr/ --- public/locales/hr/common.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/public/locales/hr/common.json b/public/locales/hr/common.json index b3da36b2..a7fda2f7 100644 --- a/public/locales/hr/common.json +++ b/public/locales/hr/common.json @@ -335,12 +335,12 @@ "ping": "Ping" }, "scrutiny": { - "passed": "Passed", - "failed": "Failed", - "unknown": "Unknown" + "passed": "Prošlo", + "failed": "Neuspjelo", + "unknown": "Nepoznato" }, "paperlessngx": { - "inbox": "Inbox", - "total": "Total" + "inbox": "Ulazni sandučić", + "total": "Ukupno" } } From bf8fa65a5af15dcbf3e4a339a3a7743d2b6bcfeb Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 26 Nov 2022 20:22:45 +0000 Subject: [PATCH 488/668] Translated using Weblate (German) Currently translated at 88.9% (225 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/de/ --- public/locales/de/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/de/common.json b/public/locales/de/common.json index fd9b1648..d0c70378 100644 --- a/public/locales/de/common.json +++ b/public/locales/de/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 2272c87f856c2d8ec42dd7da692c3e9b34caaa3c Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 26 Nov 2022 20:22:45 +0000 Subject: [PATCH 489/668] Translated using Weblate (Spanish) Currently translated at 98.4% (249 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/ --- public/locales/es/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/es/common.json b/public/locales/es/common.json index 608aa5c0..ce44dfce 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Bandeja de entrada", "total": "Total" + }, + "deluge": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 35bc61b9549a569db9aa3bb2d4a9ae21185e2b16 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 26 Nov 2022 20:22:45 +0000 Subject: [PATCH 490/668] Translated using Weblate (French) Currently translated at 98.4% (249 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/ --- public/locales/fr/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/fr/common.json b/public/locales/fr/common.json index 9dd21699..634d4c11 100644 --- a/public/locales/fr/common.json +++ b/public/locales/fr/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Boîte de réception", "total": "Total" + }, + "deluge": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 674230b19e18c710367be13e0571aa42de62a9e6 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 26 Nov 2022 20:22:45 +0000 Subject: [PATCH 491/668] Translated using Weblate (Portuguese) Currently translated at 45.4% (115 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt/ --- public/locales/pt/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/pt/common.json b/public/locales/pt/common.json index 53889ec3..39d76a52 100644 --- a/public/locales/pt/common.json +++ b/public/locales/pt/common.json @@ -353,5 +353,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 2b0c77cfa31011d8e38763dfec71ec93aab7f816 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 26 Nov 2022 20:22:45 +0000 Subject: [PATCH 492/668] Translated using Weblate (Russian) Currently translated at 13.4% (34 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ru/ --- public/locales/ru/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/ru/common.json b/public/locales/ru/common.json index 9cef572a..9945e521 100644 --- a/public/locales/ru/common.json +++ b/public/locales/ru/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 0e25f9043cb7a683a7686645695b57d933738fe3 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 26 Nov 2022 20:22:45 +0000 Subject: [PATCH 493/668] Translated using Weblate (Chinese (Simplified)) Currently translated at 65.2% (165 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hans/ --- public/locales/zh-CN/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/zh-CN/common.json b/public/locales/zh-CN/common.json index 4fe0901c..d761ef4d 100644 --- a/public/locales/zh-CN/common.json +++ b/public/locales/zh-CN/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 2472596acdc2e6b62685f2db20ab74cf64810555 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 26 Nov 2022 20:22:46 +0000 Subject: [PATCH 494/668] Translated using Weblate (Italian) Currently translated at 90.5% (229 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/it/ --- public/locales/it/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/it/common.json b/public/locales/it/common.json index 228f4a4b..eef21acb 100644 --- a/public/locales/it/common.json +++ b/public/locales/it/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From ac5e752db64aac0d9179d249e7a876e267e494e0 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 26 Nov 2022 20:22:45 +0000 Subject: [PATCH 495/668] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegi?= =?UTF-8?q?an=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 31.2% (79 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nb_NO/ --- public/locales/nb-NO/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/nb-NO/common.json b/public/locales/nb-NO/common.json index c7c4165b..59dee10e 100644 --- a/public/locales/nb-NO/common.json +++ b/public/locales/nb-NO/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "leech": "Leech", + "download": "Download", + "upload": "Upload", + "seed": "Seed" } } From bd73d8bffa593f668a8eaeb112dc003797a36a82 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 26 Nov 2022 20:22:46 +0000 Subject: [PATCH 496/668] Translated using Weblate (Vietnamese) Currently translated at 17.3% (44 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/vi/ --- public/locales/vi/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/vi/common.json b/public/locales/vi/common.json index f888dcc6..ae177a6c 100644 --- a/public/locales/vi/common.json +++ b/public/locales/vi/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From eb7fa3760306a95f78a877559fee786e4d2adff4 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 26 Nov 2022 20:22:46 +0000 Subject: [PATCH 497/668] Translated using Weblate (Dutch) Currently translated at 24.9% (63 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nl/ --- public/locales/nl/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/nl/common.json b/public/locales/nl/common.json index 78d6242c..acd09495 100644 --- a/public/locales/nl/common.json +++ b/public/locales/nl/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 122a380bb9e1dfa0b45d9e284be3da52fc720d24 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 26 Nov 2022 20:22:46 +0000 Subject: [PATCH 498/668] Translated using Weblate (Chinese (Traditional)) Currently translated at 3.5% (9 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hant/ --- public/locales/zh-Hant/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/zh-Hant/common.json b/public/locales/zh-Hant/common.json index ab436b0f..b09bcfc5 100644 --- a/public/locales/zh-Hant/common.json +++ b/public/locales/zh-Hant/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 22f47e6db3b6247160d8ce868b139ba7e75c241f Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 26 Nov 2022 20:22:43 +0000 Subject: [PATCH 499/668] Translated using Weblate (Catalan) Currently translated at 51.7% (131 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ca/ --- public/locales/ca/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/ca/common.json b/public/locales/ca/common.json index 7fa624e6..b445fd32 100644 --- a/public/locales/ca/common.json +++ b/public/locales/ca/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "seed": "Seed", + "download": "Download", + "upload": "Upload", + "leech": "Leech" } } From aa9284b2e0b65efae9195e3a950685033cb4ab77 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 26 Nov 2022 20:22:44 +0000 Subject: [PATCH 500/668] Translated using Weblate (Polish) Currently translated at 94.0% (238 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pl/ --- public/locales/pl/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/pl/common.json b/public/locales/pl/common.json index 9a354ac7..603255b8 100644 --- a/public/locales/pl/common.json +++ b/public/locales/pl/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From c6467e9dddd040d24df5822fcab88336910ae77a Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 26 Nov 2022 20:22:42 +0000 Subject: [PATCH 501/668] Translated using Weblate (Swedish) Currently translated at 51.3% (130 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sv/ --- public/locales/sv/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/sv/common.json b/public/locales/sv/common.json index 0116e49a..d71eb6f7 100644 --- a/public/locales/sv/common.json +++ b/public/locales/sv/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "download": "Download", + "leech": "Leech", + "upload": "Upload", + "seed": "Seed" } } From 8af9474408bf8386c11b6aeedc10262a2983f498 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 26 Nov 2022 20:22:42 +0000 Subject: [PATCH 502/668] Translated using Weblate (Croatian) Currently translated at 98.4% (249 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hr/ --- public/locales/hr/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/hr/common.json b/public/locales/hr/common.json index a7fda2f7..63d6055f 100644 --- a/public/locales/hr/common.json +++ b/public/locales/hr/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Ulazni sandučić", "total": "Ukupno" + }, + "deluge": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 9beb28037866eb82029f7687dc4b12c54e6f17d5 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 26 Nov 2022 20:22:43 +0000 Subject: [PATCH 503/668] Translated using Weblate (Hungarian) Currently translated at 42.6% (108 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hu/ --- public/locales/hu/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/hu/common.json b/public/locales/hu/common.json index 02fbc6e1..a760107c 100644 --- a/public/locales/hu/common.json +++ b/public/locales/hu/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "download": "Download", + "seed": "Seed", + "upload": "Upload", + "leech": "Leech" } } From b68f5a4be1756b77f65848b1015376ee3a13e0da Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 26 Nov 2022 20:22:42 +0000 Subject: [PATCH 504/668] Translated using Weblate (Hebrew) Currently translated at 39.9% (101 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/he/ --- public/locales/he/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/he/common.json b/public/locales/he/common.json index 51f32a17..93d41df7 100644 --- a/public/locales/he/common.json +++ b/public/locales/he/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 89861fe5fb4ea53d6915584389c45f4b31b09212 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 26 Nov 2022 20:22:42 +0000 Subject: [PATCH 505/668] Translated using Weblate (Romanian) Currently translated at 54.1% (137 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ro/ --- public/locales/ro/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/ro/common.json b/public/locales/ro/common.json index 1e4aa484..a0ccb743 100644 --- a/public/locales/ro/common.json +++ b/public/locales/ro/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 4c28d366f09a53cd40b60ee030eae31edec1eed9 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 26 Nov 2022 20:22:43 +0000 Subject: [PATCH 506/668] Translated using Weblate (Portuguese (Brazil)) Currently translated at 46.2% (117 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt_BR/ --- public/locales/pt-BR/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/pt-BR/common.json b/public/locales/pt-BR/common.json index ed86cc9a..9ec148b0 100644 --- a/public/locales/pt-BR/common.json +++ b/public/locales/pt-BR/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 8856177959400b634f86775db5544763de4b60ca Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 26 Nov 2022 20:22:43 +0000 Subject: [PATCH 507/668] Translated using Weblate (Yue) Currently translated at 46.6% (118 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/yue/ --- public/locales/yue/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/yue/common.json b/public/locales/yue/common.json index d662e053..9d0a0dae 100644 --- a/public/locales/yue/common.json +++ b/public/locales/yue/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 32c84e9f9e3635a47a9f223083b9f2f899192842 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 26 Nov 2022 20:22:44 +0000 Subject: [PATCH 508/668] Translated using Weblate (Finnish) Currently translated at 48.6% (123 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fi/ --- public/locales/fi/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/fi/common.json b/public/locales/fi/common.json index ddb15085..a4051145 100644 --- a/public/locales/fi/common.json +++ b/public/locales/fi/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "upload": "Upload", + "leech": "Leech", + "seed": "Seed", + "download": "Download" } } From 9f91fda6a6e0014006206316c3b9a6486fa61de8 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 26 Nov 2022 20:22:44 +0000 Subject: [PATCH 509/668] Translated using Weblate (Telugu) Currently translated at 85.7% (217 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/te/ --- public/locales/te/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/te/common.json b/public/locales/te/common.json index f6d42c72..3046eb10 100644 --- a/public/locales/te/common.json +++ b/public/locales/te/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "seed": "Seed", + "download": "Download", + "upload": "Upload", + "leech": "Leech" } } From e902ffa1049c6b0ddaec241a19433d091fc03afd Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 26 Nov 2022 20:22:44 +0000 Subject: [PATCH 510/668] Translated using Weblate (Bulgarian) Currently translated at 18.1% (46 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/bg/ --- public/locales/bg/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/bg/common.json b/public/locales/bg/common.json index 741cb048..c2cf2e68 100644 --- a/public/locales/bg/common.json +++ b/public/locales/bg/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 3de68fd4de8f33c7ef6ad6bbc18f35e57b6b7892 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 26 Nov 2022 20:22:43 +0000 Subject: [PATCH 511/668] Translated using Weblate (Turkish) Currently translated at 91.3% (231 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/tr/ --- public/locales/tr/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/tr/common.json b/public/locales/tr/common.json index 8ca0638d..93e75d12 100644 --- a/public/locales/tr/common.json +++ b/public/locales/tr/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 08c5c65b11dbb8c7f6002691a9c57089997d811a Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 26 Nov 2022 20:22:44 +0000 Subject: [PATCH 512/668] Translated using Weblate (Serbian) Currently translated at 3.5% (9 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sr/ --- public/locales/sr/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/sr/common.json b/public/locales/sr/common.json index 6932c8df..94bff3c2 100644 --- a/public/locales/sr/common.json +++ b/public/locales/sr/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 023da6e79a922cd14b974381d5cbcdaaca96e1e2 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 26 Nov 2022 20:22:43 +0000 Subject: [PATCH 513/668] Translated using Weblate (Arabic) Currently translated at 17.3% (44 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ar/ --- public/locales/ar/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/ar/common.json b/public/locales/ar/common.json index c82e5819..4d864dff 100644 --- a/public/locales/ar/common.json +++ b/public/locales/ar/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From f6fc9c2450b72bfbb90d6ea16672b8fefe2f7c50 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 26 Nov 2022 20:22:44 +0000 Subject: [PATCH 514/668] Translated using Weblate (Czech) Currently translated at 88.9% (225 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/cs/ --- public/locales/cs/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/cs/common.json b/public/locales/cs/common.json index d153cb8f..6d91c628 100644 --- a/public/locales/cs/common.json +++ b/public/locales/cs/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "upload": "Upload", + "leech": "Leech", + "seed": "Seed", + "download": "Download" } } From 7087809f748ac28dafcc3418e24b4c32907af9d0 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 26 Nov 2022 20:22:44 +0000 Subject: [PATCH 515/668] Translated using Weblate (Danish) Currently translated at 78.2% (198 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/da/ --- public/locales/da/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/da/common.json b/public/locales/da/common.json index 1cc4a4a6..606cce69 100644 --- a/public/locales/da/common.json +++ b/public/locales/da/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From ed220a7dc4abf36beb30b762426e4754c505c981 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 26 Nov 2022 20:22:46 +0000 Subject: [PATCH 516/668] Translated using Weblate (Malay) Currently translated at 91.3% (231 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ms/ --- public/locales/ms/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/ms/common.json b/public/locales/ms/common.json index 125e94ca..ac887b62 100644 --- a/public/locales/ms/common.json +++ b/public/locales/ms/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 7743335f9eb2884ce90d1c93c902bc623fe1aedf Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 26 Nov 2022 20:22:43 +0000 Subject: [PATCH 517/668] Translated using Weblate (Hindi) Currently translated at 3.5% (9 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hi/ --- public/locales/hi/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/hi/common.json b/public/locales/hi/common.json index 891bbf28..3fef196c 100644 --- a/public/locales/hi/common.json +++ b/public/locales/hi/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From f16bd919788ac6d1fcd094da8eff8531437ccf98 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Sat, 26 Nov 2022 15:12:15 -0800 Subject: [PATCH 518/668] fix version number missing --- src/components/version.jsx | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/src/components/version.jsx b/src/components/version.jsx index bc142e92..cbb83e36 100644 --- a/src/components/version.jsx +++ b/src/components/version.jsx @@ -36,17 +36,14 @@ export default function Version() { {version} ({revision.substring(0, 7)}, {formatDate(buildTime)}) ) : ( - releaseData && - compareVersions(latestRelease.tag_name, version) > 0 && ( - - {version} ({revision.substring(0, 7)}, {formatDate(buildTime)}) - - ) + + {version} ({revision.substring(0, 7)}, {formatDate(buildTime)}) + )} {version === "main" || version === "dev" || version === "nightly" From c1291b43a467ba6a961fc4db4fb23dc46cee8b8f Mon Sep 17 00:00:00 2001 From: FunsKiTo Date: Sun, 27 Nov 2022 03:58:39 +0000 Subject: [PATCH 519/668] Translated using Weblate (Spanish) Currently translated at 100.0% (253 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/ --- public/locales/es/common.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/public/locales/es/common.json b/public/locales/es/common.json index ce44dfce..190d939b 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -344,9 +344,9 @@ "total": "Total" }, "deluge": { - "download": "Download", - "upload": "Upload", + "download": "Descarga", + "upload": "Subida", "leech": "Leech", - "seed": "Seed" + "seed": "Semilla" } } From 4f3f25457e973abffd9ee9e3158f8003b734f675 Mon Sep 17 00:00:00 2001 From: Nonoss117 Date: Sat, 26 Nov 2022 20:27:51 +0000 Subject: [PATCH 520/668] Translated using Weblate (French) Currently translated at 100.0% (253 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/ --- public/locales/fr/common.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/public/locales/fr/common.json b/public/locales/fr/common.json index 634d4c11..88f07109 100644 --- a/public/locales/fr/common.json +++ b/public/locales/fr/common.json @@ -344,8 +344,8 @@ "total": "Total" }, "deluge": { - "download": "Download", - "upload": "Upload", + "download": "Récep.", + "upload": "Envoi", "leech": "Leech", "seed": "Seed" } From 2631e15275f244b7abe983df45d0500e60ebe970 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Sun, 27 Nov 2022 07:33:25 -0800 Subject: [PATCH 521/668] add optional logs to report --- .github/ISSUE_TEMPLATE/bug_report.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index fbeb7902..2972922b 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -59,6 +59,16 @@ body: label: Configuration description: Please provide any relevant service, widget or otherwise related configuration here render: yaml + - type: textarea + id: container-logs + attributes: + label: Container Logs + description: Please review and provide any logs from the container, if relevant + - type: textarea + id: browser-logs + attributes: + label: Browser Logs + description: Please review and provide any relevant logs from the browser, if relevant - type: textarea id: other attributes: From 07385dc91e0ab2d923f23255631d06dd4fe3be06 Mon Sep 17 00:00:00 2001 From: Jason Fischer Date: Sun, 27 Nov 2022 09:46:18 -0800 Subject: [PATCH 522/668] Add container health details to status --- src/components/services/status.jsx | 16 ++++++++++++++++ src/pages/api/docker/status/[...service].js | 1 + 2 files changed, 17 insertions(+) diff --git a/src/components/services/status.jsx b/src/components/services/status.jsx index 2d07e49e..c5fb93c9 100644 --- a/src/components/services/status.jsx +++ b/src/components/services/status.jsx @@ -13,6 +13,22 @@ export default function Status({ service }) { } if (data && data.status === "running") { + if (data.health === "starting") { + return ( +
    +
    {data.health}
    +
    + ); + } + + if (data.health === "unhealthy") { + return ( +
    +
    {data.health}
    +
    + ); + } + return (
    {data.status}
    diff --git a/src/pages/api/docker/status/[...service].js b/src/pages/api/docker/status/[...service].js index 8330ac3d..2861a1e5 100644 --- a/src/pages/api/docker/status/[...service].js +++ b/src/pages/api/docker/status/[...service].js @@ -40,6 +40,7 @@ export default async function handler(req, res) { return res.status(200).json({ status: info.State.Status, + health: info.State.Health?.Status }); } catch { return res.status(500).send({ From aadedd186402d6ef52a7ab1044bb16a9c93063d8 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Sun, 27 Nov 2022 14:26:36 -0800 Subject: [PATCH 523/668] Fix MiBps label Closes https://github.com/benphelps/homepage/issues/562 See https://en.wikipedia.org/wiki/Kilobyte --- next-i18next.config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/next-i18next.config.js b/next-i18next.config.js index c6e1f2fe..da83ed70 100644 --- a/next-i18next.config.js +++ b/next-i18next.config.js @@ -103,7 +103,7 @@ module.exports = { const bits = options.bits ? value : value / 8; const k = 1024; const dm = options.decimals ? options.decimals : 0; - const sizes = ["Bps", "Kbps", "Mbps", "Gbps", "Tbps", "Pbps", "Ebps", "Zbps", "Ybps"]; + const sizes = ["Bps", "Kbps", "MiBps", "Gbps", "Tbps", "Pbps", "Ebps", "Zbps", "Ybps"]; const i = Math.floor(Math.log(bits) / Math.log(k)); From e1f217ad80c35cf21db1fc21e310a55377402249 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Sun, 27 Nov 2022 14:34:49 -0800 Subject: [PATCH 524/668] fix all the byte units display labels to binary see https://en.wikipedia.org/wiki/Kilobyte --- next-i18next.config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/next-i18next.config.js b/next-i18next.config.js index da83ed70..ee6eaaa1 100644 --- a/next-i18next.config.js +++ b/next-i18next.config.js @@ -103,7 +103,7 @@ module.exports = { const bits = options.bits ? value : value / 8; const k = 1024; const dm = options.decimals ? options.decimals : 0; - const sizes = ["Bps", "Kbps", "MiBps", "Gbps", "Tbps", "Pbps", "Ebps", "Zbps", "Ybps"]; + const sizes = ["Bps", "KiBps", "MiBps", "GiBps", "TiBps", "PiBps", "EiBps", "ZiBps", "YiBps"]; const i = Math.floor(Math.log(bits) / Math.log(k)); From e0edc2735df1bae91d7a91678fe09022b3b3cefe Mon Sep 17 00:00:00 2001 From: Jason Fischer Date: Sun, 27 Nov 2022 14:54:29 -0800 Subject: [PATCH 525/668] Add healthy status if available --- src/components/services/status.jsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/services/status.jsx b/src/components/services/status.jsx index c5fb93c9..eaf32030 100644 --- a/src/components/services/status.jsx +++ b/src/components/services/status.jsx @@ -30,8 +30,8 @@ export default function Status({ service }) { } return ( -
    -
    {data.status}
    +
    +
    {data.health ?? data.status}
    ); } From 04fbf315ee7b20d9c700721fac54a5d99dc45a18 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Sun, 27 Nov 2022 19:35:45 -0800 Subject: [PATCH 526/668] Fix startup errors on completely empty settings file Closes #564 --- src/utils/config/config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/config/config.js b/src/utils/config/config.js index 0003c589..57a63f7b 100644 --- a/src/utils/config/config.js +++ b/src/utils/config/config.js @@ -32,5 +32,5 @@ export function getSettings() { const settingsYaml = join(process.cwd(), "config", "settings.yaml"); const fileContents = readFileSync(settingsYaml, "utf8"); - return yaml.load(fileContents); + return yaml.load(fileContents) ?? {}; } \ No newline at end of file From c9f508d321bcf56f4b64b225325b63c8958314c7 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Sun, 27 Nov 2022 22:52:57 -0800 Subject: [PATCH 527/668] deluge doesnt use username --- src/widgets/deluge/proxy.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/widgets/deluge/proxy.js b/src/widgets/deluge/proxy.js index e9dac0d9..371f7759 100644 --- a/src/widgets/deluge/proxy.js +++ b/src/widgets/deluge/proxy.js @@ -13,8 +13,8 @@ const dataParams = [ ]; const loginMethod = "auth.login"; -async function sendRpc(url, method, params, username, password) { - const [status, contentType, data] = await sendJsonRpcRequest(url, method, params, username, password); +async function sendRpc(url, method, params) { + const [status, contentType, data] = await sendJsonRpcRequest(url, method, params); const json = JSON.parse(data.toString()); if (json?.error) { if (json.error.code === 1) { @@ -26,8 +26,8 @@ async function sendRpc(url, method, params, username, password) { return [status, contentType, data]; } -function login(url, username, password) { - return sendRpc(url, loginMethod, [password], username, password); +function login(url, password) { + return sendRpc(url, loginMethod, [password]); } export default async function delugeProxyHandler(req, res) { @@ -48,15 +48,15 @@ export default async function delugeProxyHandler(req, res) { const api = widgets?.[widget.type]?.api const url = new URL(formatApiCall(api, { ...widget })); - let [status, contentType, data] = await sendRpc(url, dataMethod, dataParams, widget.username, widget.password); + let [status, contentType, data] = await sendRpc(url, dataMethod, dataParams); if (status === 403) { - [status, contentType, data] = await login(url, widget.username, widget.password); + [status, contentType, data] = await login(url, widget.password); if (status !== 200) { return res.status(status).end(data); } // eslint-disable-next-line no-unused-vars - [status, contentType, data] = await sendRpc(url, dataMethod, dataParams, widget.username, widget.password); + [status, contentType, data] = await sendRpc(url, dataMethod, dataParams); } return res.status(status).end(data); From d26fbe589baa73e68cdee5e565a1017605f643c5 Mon Sep 17 00:00:00 2001 From: gallegonovato Date: Sun, 27 Nov 2022 13:28:57 +0000 Subject: [PATCH 528/668] Translated using Weblate (Spanish) Currently translated at 100.0% (253 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/ --- public/locales/es/common.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/locales/es/common.json b/public/locales/es/common.json index 190d939b..9957e239 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -53,7 +53,7 @@ "wanted": "Buscando", "queued": "En cola", "movies": "Películas", - "missing": "No Encontrado" + "missing": "Perdido" }, "readarr": { "wanted": "Buscando", From 9de82559ca646f830e864568fcb2debd0515e4d8 Mon Sep 17 00:00:00 2001 From: Den Coder Date: Sun, 27 Nov 2022 07:47:23 +0000 Subject: [PATCH 529/668] Translated using Weblate (Russian) Currently translated at 18.9% (48 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ru/ --- public/locales/ru/common.json | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/public/locales/ru/common.json b/public/locales/ru/common.json index 9945e521..541c8df1 100644 --- a/public/locales/ru/common.json +++ b/public/locales/ru/common.json @@ -6,7 +6,7 @@ "information": "Информация", "url": "URL", "raw_error": "Raw Error", - "response_data": "Response Data" + "response_data": "Данные ответа" }, "search": { "placeholder": "Поиск…" @@ -16,7 +16,7 @@ "free": "Свободно", "used": "Использовано", "load": "Загрузка", - "cpu": "CPU" + "cpu": "Процессор" }, "docker": { "rx": "Rx", @@ -24,14 +24,14 @@ "mem": "Память", "cpu": "Процессор", "offline": "Не в сети", - "error": "Error", - "unknown": "Unknown" + "error": "Ошибка", + "unknown": "Неизвестный" }, "emby": { "playing": "Воспроизведение", "transcoding": "Транскодирование", "bitrate": "Битрейт", - "no_active": "No Active Streams" + "no_active": "Нет активных потоков" }, "tautulli": { "playing": "Воспроизведение", @@ -197,7 +197,7 @@ "wlan_users": "Пользователи WLAN", "up": "UP", "down": "DOWN", - "wait": "Please wait", + "wait": "Подождите", "lan": "LAN", "wlan": "WLAN", "devices": "Устройства", @@ -215,8 +215,8 @@ "wait": "Please wait" }, "changedetectionio": { - "totalObserved": "Total Observed", - "diffsDetected": "Diffs Detected" + "totalObserved": "Всего наблюдаемых", + "diffsDetected": "Обнаружены различия" }, "wmo": { "0-day": "Sunny", @@ -331,8 +331,8 @@ "hd": "HD" }, "ping": { - "error": "Error", - "ping": "Ping" + "error": "Ошибка", + "ping": "Пинг" }, "scrutiny": { "failed": "Failed", From 812eb3d70fd0f565665d04fe17d7e18ba8318156 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Mon, 28 Nov 2022 10:42:21 -0800 Subject: [PATCH 530/668] Fix datetime react render error --- src/components/widgets/datetime/datetime.jsx | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/components/widgets/datetime/datetime.jsx b/src/components/widgets/datetime/datetime.jsx index dceaf06a..7bfb42bc 100644 --- a/src/components/widgets/datetime/datetime.jsx +++ b/src/components/widgets/datetime/datetime.jsx @@ -15,22 +15,21 @@ const textSizes = { export default function DateTime({ options }) { const { text_size: textSize, format } = options; const { i18n } = useTranslation(); - const [date, setDate] = useState(new Date()); - + const dateFormat = new Intl.DateTimeFormat(i18n.language, { ...format }); + const [date, setDate] = useState(""); + useEffect(() => { const interval = setInterval(() => { - setDate(new Date()); + setDate(dateFormat.format(new Date())); }, 1000); return () => clearInterval(interval); - }, [setDate]); - - const dateFormat = new Intl.DateTimeFormat(i18n.language, { ...format }); + }, [date, setDate]); return (
    - {dateFormat.format(date)} + {date}
    From b235a89dc7a8170aceddeb7447a5658d1e7d9dd6 Mon Sep 17 00:00:00 2001 From: FunsKiTo Date: Mon, 28 Nov 2022 10:11:06 +0000 Subject: [PATCH 531/668] Translated using Weblate (Spanish) Currently translated at 100.0% (253 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/ --- public/locales/es/common.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/locales/es/common.json b/public/locales/es/common.json index 9957e239..3292ae1f 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -53,7 +53,7 @@ "wanted": "Buscando", "queued": "En cola", "movies": "Películas", - "missing": "Perdido" + "missing": "Faltan" }, "readarr": { "wanted": "Buscando", From d65e919f57564ee8147e66ce0dd07b7cc2630c0d Mon Sep 17 00:00:00 2001 From: nicedc Date: Mon, 28 Nov 2022 15:33:08 +0000 Subject: [PATCH 532/668] Translated using Weblate (Chinese (Simplified)) Currently translated at 66.4% (168 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hans/ --- public/locales/zh-CN/common.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/public/locales/zh-CN/common.json b/public/locales/zh-CN/common.json index d761ef4d..d6bcb3e7 100644 --- a/public/locales/zh-CN/common.json +++ b/public/locales/zh-CN/common.json @@ -295,9 +295,9 @@ "indexers": "Indexers" }, "watchtower": { - "containers_scanned": "Scanned", - "containers_updated": "Updated", - "containers_failed": "Failed" + "containers_scanned": "以扫描", + "containers_updated": "以升级", + "containers_failed": "失败" }, "tubearchivist": { "downloads": "Queue", From 3e9e379712f00b7f3371edc750f8e440247d6f82 Mon Sep 17 00:00:00 2001 From: Aiman Jalil Date: Mon, 28 Nov 2022 16:20:48 +0000 Subject: [PATCH 533/668] Translated using Weblate (Malay) Currently translated at 100.0% (253 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ms/ --- public/locales/ms/common.json | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/public/locales/ms/common.json b/public/locales/ms/common.json index ac887b62..b60a4efa 100644 --- a/public/locales/ms/common.json +++ b/public/locales/ms/common.json @@ -126,10 +126,10 @@ "missing_type": "Jenis Widget Hilang: {{type}}", "api_error": "Masalah API", "status": "Status", - "information": "Information", + "information": "Informasi", "url": "URL", - "raw_error": "Raw Error", - "response_data": "Response Data" + "raw_error": "Ralat Mentah", + "response_data": "Data Respon" }, "weather": { "current": "Lokasi Sekarang", @@ -151,8 +151,8 @@ "mem": "MEM", "cpu": "CPU", "offline": "Luar talian", - "error": "Error", - "unknown": "Unknown" + "error": "Ralat", + "unknown": "Tidak Diketahui" }, "changedetectionio": { "totalObserved": "Jumlah Diperhatikan", @@ -322,30 +322,30 @@ "total": "Jumlah" }, "gluetun": { - "public_ip": "Public IP", - "region": "Region", - "country": "Country" + "public_ip": "IP Awam", + "region": "Rantau", + "country": "Negara" }, "hdhomerun": { - "channels": "Channels", + "channels": "Saluran", "hd": "HD" }, "ping": { - "error": "Error", + "error": "Ralat", "ping": "Ping" }, "scrutiny": { - "passed": "Passed", - "failed": "Failed", - "unknown": "Unknown" + "passed": "Lulus", + "failed": "Gagal", + "unknown": "Tidak Diketahui" }, "paperlessngx": { - "inbox": "Inbox", - "total": "Total" + "inbox": "Peti Masuk", + "total": "Jumlah" }, "deluge": { - "download": "Download", - "upload": "Upload", + "download": "Muat Turun", + "upload": "Muat Naik", "leech": "Leech", "seed": "Seed" } From 4c70bff95247ee64a9c11d95704e3509e2731628 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Mon, 28 Nov 2022 17:35:04 -0800 Subject: [PATCH 534/668] Show memory up to 1 decimal place --- src/components/widgets/resources/memory.jsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/widgets/resources/memory.jsx b/src/components/widgets/resources/memory.jsx index 45263456..2888f907 100644 --- a/src/components/widgets/resources/memory.jsx +++ b/src/components/widgets/resources/memory.jsx @@ -52,7 +52,7 @@ export default function Memory({ expanded }) {
    - {t("common.bytes", { value: data.memory.freeMemMb * 1024 * 1024, maximumFractionDigits: 0, binary: true })} + {t("common.bytes", { value: data.memory.freeMemMb * 1024 * 1024, maximumFractionDigits: 1, binary: true })}
    {t("resources.free")}
    @@ -61,7 +61,7 @@ export default function Memory({ expanded }) {
    {t("common.bytes", { value: data.memory.totalMemMb * 1024 * 1024, - maximumFractionDigits: 0, + maximumFractionDigits: 1, binary: true, })}
    From 44c2a1ecbd1304f1b37c9e0e41c08b16df76eacc Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Tue, 29 Nov 2022 09:25:39 -0800 Subject: [PATCH 535/668] fix react dep warning --- src/components/widgets/datetime/datetime.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/widgets/datetime/datetime.jsx b/src/components/widgets/datetime/datetime.jsx index 7bfb42bc..f4c99de9 100644 --- a/src/components/widgets/datetime/datetime.jsx +++ b/src/components/widgets/datetime/datetime.jsx @@ -23,7 +23,7 @@ export default function DateTime({ options }) { setDate(dateFormat.format(new Date())); }, 1000); return () => clearInterval(interval); - }, [date, setDate]); + }, [date, setDate, dateFormat]); return (
    From 69b1049c1780e46c37a288e73026fca5bf7a9e5c Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Tue, 29 Nov 2022 10:11:03 -0800 Subject: [PATCH 536/668] Graceful fallback when build args not supplied See #578 --- src/components/version.jsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/version.jsx b/src/components/version.jsx index cbb83e36..9b1d8cde 100644 --- a/src/components/version.jsx +++ b/src/components/version.jsx @@ -8,9 +8,9 @@ import cachedFetch from "utils/proxy/cached-fetch"; export default function Version() { const { t, i18n } = useTranslation(); - const buildTime = process.env.NEXT_PUBLIC_BUILDTIME ?? new Date().toISOString(); - const revision = process.env.NEXT_PUBLIC_REVISION ?? "dev"; - const version = process.env.NEXT_PUBLIC_VERSION ?? "dev"; + const buildTime = process.env.NEXT_PUBLIC_BUILDTIME?.length ? process.env.NEXT_PUBLIC_BUILDTIME : new Date().toISOString(); + const revision = process.env.NEXT_PUBLIC_REVISION?.length ? process.env.NEXT_PUBLIC_REVISION : "dev"; + const version = process.env.NEXT_PUBLIC_VERSION?.length ? process.env.NEXT_PUBLIC_VERSION : "dev"; const cachedFetcher = (resource) => cachedFetch(resource, 5).then((res) => res.json()); From 2f523abe9d9bc7efe8da23c30e7825ab447c755d Mon Sep 17 00:00:00 2001 From: Myztillx Date: Tue, 29 Nov 2022 13:19:52 -0500 Subject: [PATCH 537/668] Added processing count to overseerr --- public/locales/en/common.json | 5 +++-- src/widgets/overseerr/component.jsx | 2 ++ src/widgets/overseerr/widget.js | 1 + 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/public/locales/en/common.json b/public/locales/en/common.json index 2ab724a8..dbef3ed3 100644 --- a/public/locales/en/common.json +++ b/public/locales/en/common.json @@ -155,6 +155,7 @@ }, "overseerr": { "pending": "Pending", + "processing": "Processing", "approved": "Approved", "available": "Available" }, @@ -313,7 +314,7 @@ "child_bridges": "Child Bridges", "child_bridges_status": "{{ok}}/{{total}}" }, - "watchtower":{ + "watchtower": { "containers_scanned": "Scanned", "containers_updated": "Updated", "containers_failed": "Failed" @@ -360,4 +361,4 @@ "inbox": "Inbox", "total": "Total" } -} +} \ No newline at end of file diff --git a/src/widgets/overseerr/component.jsx b/src/widgets/overseerr/component.jsx index 6f5ae8ff..230a166c 100644 --- a/src/widgets/overseerr/component.jsx +++ b/src/widgets/overseerr/component.jsx @@ -15,6 +15,7 @@ export default function Component({ service }) { return ( + @@ -24,6 +25,7 @@ export default function Component({ service }) { return ( + diff --git a/src/widgets/overseerr/widget.js b/src/widgets/overseerr/widget.js index 945af5ed..cc80cffa 100644 --- a/src/widgets/overseerr/widget.js +++ b/src/widgets/overseerr/widget.js @@ -9,6 +9,7 @@ const widget = { endpoint: "request/count", validate: [ "pending", + "processing", "approved", "available", ], From 9e41163d6658960561ca2f8930d9d0b0aa77351a Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 29 Nov 2022 18:34:47 +0000 Subject: [PATCH 538/668] Translated using Weblate (German) Currently translated at 88.5% (225 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/de/ --- public/locales/de/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/de/common.json b/public/locales/de/common.json index d0c70378..df105602 100644 --- a/public/locales/de/common.json +++ b/public/locales/de/common.json @@ -104,7 +104,8 @@ "overseerr": { "pending": "Ausstehend", "approved": "Genehmigt", - "available": "Verfügbar" + "available": "Verfügbar", + "processing": "Processing" }, "sabnzbd": { "rate": "Geschwindigkeit", From d02c2cb244fea49c6d4302459b982c7e06143779 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 29 Nov 2022 18:34:47 +0000 Subject: [PATCH 539/668] Translated using Weblate (Spanish) Currently translated at 99.6% (253 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/ --- public/locales/es/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/es/common.json b/public/locales/es/common.json index 3292ae1f..dce9bf1a 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -104,7 +104,8 @@ "overseerr": { "pending": "Pendiente", "approved": "Aprobado", - "available": "Disponible" + "available": "Disponible", + "processing": "Processing" }, "sabnzbd": { "rate": "Tasa", From ea96fdabd94105b709e732ce532731a340a13e8e Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 29 Nov 2022 18:34:47 +0000 Subject: [PATCH 540/668] Translated using Weblate (French) Currently translated at 99.6% (253 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/ --- public/locales/fr/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/fr/common.json b/public/locales/fr/common.json index 88f07109..457c967a 100644 --- a/public/locales/fr/common.json +++ b/public/locales/fr/common.json @@ -104,7 +104,8 @@ "overseerr": { "pending": "En attente", "approved": "Demande", - "available": "Disponible" + "available": "Disponible", + "processing": "Processing" }, "sabnzbd": { "rate": "Débit", From 00e50283eed9e8fbc84fc7988612c6930957ba21 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 29 Nov 2022 18:34:47 +0000 Subject: [PATCH 541/668] Translated using Weblate (Portuguese) Currently translated at 45.2% (115 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt/ --- public/locales/pt/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/pt/common.json b/public/locales/pt/common.json index 39d76a52..a010ed37 100644 --- a/public/locales/pt/common.json +++ b/public/locales/pt/common.json @@ -115,7 +115,8 @@ "overseerr": { "pending": "Pendente", "approved": "Aprovado", - "available": "Disponível" + "available": "Disponível", + "processing": "Processing" }, "sabnzbd": { "rate": "Taxa", From 4864eae23d6c1801f001966f2f9fc5c2b0b4fb3b Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 29 Nov 2022 18:34:47 +0000 Subject: [PATCH 542/668] Translated using Weblate (Russian) Currently translated at 18.8% (48 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ru/ --- public/locales/ru/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/ru/common.json b/public/locales/ru/common.json index 541c8df1..6f6f7215 100644 --- a/public/locales/ru/common.json +++ b/public/locales/ru/common.json @@ -104,7 +104,8 @@ "overseerr": { "pending": "Pending", "approved": "Approved", - "available": "Available" + "available": "Available", + "processing": "Processing" }, "sabnzbd": { "rate": "Rate", From d0b198d5e5e3dd0d52a08af9a9baa9a4917f6c47 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 29 Nov 2022 18:34:47 +0000 Subject: [PATCH 543/668] Translated using Weblate (Chinese (Simplified)) Currently translated at 66.1% (168 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hans/ --- public/locales/zh-CN/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/zh-CN/common.json b/public/locales/zh-CN/common.json index d6bcb3e7..5824af50 100644 --- a/public/locales/zh-CN/common.json +++ b/public/locales/zh-CN/common.json @@ -104,7 +104,8 @@ "overseerr": { "pending": "待办", "approved": "已批准", - "available": "可用" + "available": "可用", + "processing": "Processing" }, "sabnzbd": { "rate": "速率", From 541bb3cc2b3938561c56a531ff94c6b952b72702 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 29 Nov 2022 18:34:47 +0000 Subject: [PATCH 544/668] Translated using Weblate (Italian) Currently translated at 90.1% (229 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/it/ --- public/locales/it/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/it/common.json b/public/locales/it/common.json index eef21acb..5fa50f7b 100644 --- a/public/locales/it/common.json +++ b/public/locales/it/common.json @@ -104,7 +104,8 @@ "overseerr": { "pending": "In attesa", "approved": "Approvati", - "available": "Disponibili" + "available": "Disponibili", + "processing": "Processing" }, "sabnzbd": { "rate": "Rapporto", From 4a519233a27c4cbe5307283ba66ce4258c206f9d Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 29 Nov 2022 18:34:47 +0000 Subject: [PATCH 545/668] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegi?= =?UTF-8?q?an=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 31.1% (79 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nb_NO/ --- public/locales/nb-NO/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/nb-NO/common.json b/public/locales/nb-NO/common.json index 59dee10e..029af22e 100644 --- a/public/locales/nb-NO/common.json +++ b/public/locales/nb-NO/common.json @@ -104,7 +104,8 @@ "overseerr": { "pending": "Venter", "approved": "Godkjent", - "available": "Tilgjengelig" + "available": "Tilgjengelig", + "processing": "Processing" }, "sabnzbd": { "rate": "Takt", From 0ba956f68529a0cf04f9b40beeb95f703cfe2950 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 29 Nov 2022 18:34:47 +0000 Subject: [PATCH 546/668] Translated using Weblate (Vietnamese) Currently translated at 17.3% (44 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/vi/ --- public/locales/vi/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/vi/common.json b/public/locales/vi/common.json index ae177a6c..783f024d 100644 --- a/public/locales/vi/common.json +++ b/public/locales/vi/common.json @@ -104,7 +104,8 @@ "overseerr": { "pending": "Pending", "approved": "Đã duyệt", - "available": "Available" + "available": "Available", + "processing": "Processing" }, "sabnzbd": { "rate": "Rate", From 66cd9729496d75da3ea7f7502a452b7c9dc73d4d Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 29 Nov 2022 18:34:47 +0000 Subject: [PATCH 547/668] Translated using Weblate (Dutch) Currently translated at 24.8% (63 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nl/ --- public/locales/nl/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/nl/common.json b/public/locales/nl/common.json index acd09495..04d8f20d 100644 --- a/public/locales/nl/common.json +++ b/public/locales/nl/common.json @@ -104,7 +104,8 @@ "overseerr": { "pending": "Pending", "approved": "Approved", - "available": "Available" + "available": "Available", + "processing": "Processing" }, "sabnzbd": { "rate": "Rate", From d08458c8952c7d64cad72e8d0182e63f553ebcbc Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 29 Nov 2022 18:34:48 +0000 Subject: [PATCH 548/668] Translated using Weblate (Chinese (Traditional)) Currently translated at 3.5% (9 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hant/ --- public/locales/zh-Hant/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/zh-Hant/common.json b/public/locales/zh-Hant/common.json index b09bcfc5..dc7b232e 100644 --- a/public/locales/zh-Hant/common.json +++ b/public/locales/zh-Hant/common.json @@ -89,7 +89,8 @@ "overseerr": { "pending": "Pending", "approved": "Approved", - "available": "Available" + "available": "Available", + "processing": "Processing" }, "pihole": { "queries": "Queries", From a7d37c559ebb036f4f148d50e3c1c9a5f7db8e42 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 29 Nov 2022 18:34:46 +0000 Subject: [PATCH 549/668] Translated using Weblate (Catalan) Currently translated at 51.5% (131 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ca/ --- public/locales/ca/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/ca/common.json b/public/locales/ca/common.json index b445fd32..01f27b6d 100644 --- a/public/locales/ca/common.json +++ b/public/locales/ca/common.json @@ -100,7 +100,8 @@ "overseerr": { "pending": "Pendent", "approved": "Aprovat", - "available": "Disponible" + "available": "Disponible", + "processing": "Processing" }, "pihole": { "queries": "Consultes", From 257cf17c6d78751d1cd67c85ddf4dc04ad40929c Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 29 Nov 2022 18:34:47 +0000 Subject: [PATCH 550/668] Translated using Weblate (Polish) Currently translated at 93.7% (238 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pl/ --- public/locales/pl/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/pl/common.json b/public/locales/pl/common.json index 603255b8..c37df7db 100644 --- a/public/locales/pl/common.json +++ b/public/locales/pl/common.json @@ -126,7 +126,8 @@ "overseerr": { "pending": "Oczekiwane", "approved": "Zaakceptowane", - "available": "Dostępne" + "available": "Dostępne", + "processing": "Processing" }, "pihole": { "queries": "Zapytania", From 0df4f63df12024d8f2b58c113b892716f3da1dca Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 29 Nov 2022 18:34:46 +0000 Subject: [PATCH 551/668] Translated using Weblate (Swedish) Currently translated at 51.1% (130 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sv/ --- public/locales/sv/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/sv/common.json b/public/locales/sv/common.json index d71eb6f7..04ac5683 100644 --- a/public/locales/sv/common.json +++ b/public/locales/sv/common.json @@ -104,7 +104,8 @@ "overseerr": { "pending": "Avvaktar", "approved": "Godkända", - "available": "Tillgänglig" + "available": "Tillgänglig", + "processing": "Processing" }, "pihole": { "blocked": "Blockerad", From b8da8509dec006ff4f73c445607c7e0e1f881c28 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 29 Nov 2022 18:34:46 +0000 Subject: [PATCH 552/668] Translated using Weblate (Croatian) Currently translated at 98.0% (249 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hr/ --- public/locales/hr/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/hr/common.json b/public/locales/hr/common.json index 63d6055f..3f230e88 100644 --- a/public/locales/hr/common.json +++ b/public/locales/hr/common.json @@ -23,7 +23,8 @@ "overseerr": { "available": "Dostupno", "pending": "Predstoji", - "approved": "Odobreno" + "approved": "Odobreno", + "processing": "Processing" }, "pihole": { "queries": "Upiti", From c7d8e3afdd0416a90da5b952fe9fc9f251d452ac Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 29 Nov 2022 18:34:46 +0000 Subject: [PATCH 553/668] Translated using Weblate (Hungarian) Currently translated at 42.5% (108 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hu/ --- public/locales/hu/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/hu/common.json b/public/locales/hu/common.json index a760107c..6eb35db0 100644 --- a/public/locales/hu/common.json +++ b/public/locales/hu/common.json @@ -110,7 +110,8 @@ "overseerr": { "pending": "Függőben", "approved": "Engedélyezett", - "available": "Elérhető" + "available": "Elérhető", + "processing": "Processing" }, "pihole": { "queries": "Lekérdezések", From acde90cf72ebd40d95939288273b89f818bee3e3 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 29 Nov 2022 18:34:46 +0000 Subject: [PATCH 554/668] Translated using Weblate (Hebrew) Currently translated at 39.7% (101 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/he/ --- public/locales/he/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/he/common.json b/public/locales/he/common.json index 93d41df7..3ecaab7d 100644 --- a/public/locales/he/common.json +++ b/public/locales/he/common.json @@ -110,7 +110,8 @@ "overseerr": { "pending": "ממתין", "approved": "מאושר", - "available": "זמין" + "available": "זמין", + "processing": "Processing" }, "pihole": { "queries": "שאילתות", From c185994c327e0606fb2aa40eec173b35d9e7de49 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 29 Nov 2022 18:34:46 +0000 Subject: [PATCH 555/668] Translated using Weblate (Romanian) Currently translated at 53.9% (137 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ro/ --- public/locales/ro/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/ro/common.json b/public/locales/ro/common.json index a0ccb743..12ae60b8 100644 --- a/public/locales/ro/common.json +++ b/public/locales/ro/common.json @@ -23,7 +23,8 @@ "overseerr": { "pending": "În așteptare", "approved": "Aprobate", - "available": "Disponibile" + "available": "Disponibile", + "processing": "Processing" }, "pihole": { "queries": "Cereri", From a81cc70722ea41728cd2c8839b568148ff1c17ef Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 29 Nov 2022 18:34:46 +0000 Subject: [PATCH 556/668] Translated using Weblate (Portuguese (Brazil)) Currently translated at 46.0% (117 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt_BR/ --- public/locales/pt-BR/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/pt-BR/common.json b/public/locales/pt-BR/common.json index 9ec148b0..a7fa2154 100644 --- a/public/locales/pt-BR/common.json +++ b/public/locales/pt-BR/common.json @@ -128,7 +128,8 @@ "overseerr": { "pending": "Pendente", "approved": "Aprovado", - "available": "Disponível" + "available": "Disponível", + "processing": "Processing" }, "pihole": { "queries": "Consultas", From f59b6b69d902b4eabb1572f5985e7e5407c0601c Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 29 Nov 2022 18:34:46 +0000 Subject: [PATCH 557/668] Translated using Weblate (Yue) Currently translated at 46.4% (118 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/yue/ --- public/locales/yue/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/yue/common.json b/public/locales/yue/common.json index 9d0a0dae..520bc943 100644 --- a/public/locales/yue/common.json +++ b/public/locales/yue/common.json @@ -110,7 +110,8 @@ "overseerr": { "pending": "待定", "approved": "批准", - "available": "可用" + "available": "可用", + "processing": "Processing" }, "pihole": { "queries": "查詢", From 38585d9d6d98e7f70caffa6fc9c74be69437c817 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 29 Nov 2022 18:34:47 +0000 Subject: [PATCH 558/668] Translated using Weblate (Finnish) Currently translated at 48.4% (123 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fi/ --- public/locales/fi/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/fi/common.json b/public/locales/fi/common.json index a4051145..40c39bf0 100644 --- a/public/locales/fi/common.json +++ b/public/locales/fi/common.json @@ -110,7 +110,8 @@ "overseerr": { "pending": "Vireillä", "approved": "Hyväksytty", - "available": "Saatavilla" + "available": "Saatavilla", + "processing": "Processing" }, "pihole": { "queries": "Kyselyjä", From d9002b6e41516bafcb1870597b6066a4bae7f3d9 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 29 Nov 2022 18:34:47 +0000 Subject: [PATCH 559/668] Translated using Weblate (Telugu) Currently translated at 85.4% (217 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/te/ --- public/locales/te/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/te/common.json b/public/locales/te/common.json index 3046eb10..6f4351a6 100644 --- a/public/locales/te/common.json +++ b/public/locales/te/common.json @@ -122,7 +122,8 @@ "overseerr": { "pending": "పెండింగ్", "approved": "ఆమోదించబడింది", - "available": "అందుబాటులో" + "available": "అందుబాటులో", + "processing": "Processing" }, "pihole": { "queries": "ప్రశ్నలు", From c3280f0143098d817c7037d4cf08a90b79ba413b Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 29 Nov 2022 18:34:47 +0000 Subject: [PATCH 560/668] Translated using Weblate (Bulgarian) Currently translated at 18.1% (46 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/bg/ --- public/locales/bg/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/bg/common.json b/public/locales/bg/common.json index c2cf2e68..ff40f72a 100644 --- a/public/locales/bg/common.json +++ b/public/locales/bg/common.json @@ -131,7 +131,8 @@ "overseerr": { "pending": "Pending", "approved": "Approved", - "available": "Available" + "available": "Available", + "processing": "Processing" }, "pihole": { "queries": "Queries", From 5500b8a11556514c113a3b482c434dc22b38df1b Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 29 Nov 2022 18:34:46 +0000 Subject: [PATCH 561/668] Translated using Weblate (Turkish) Currently translated at 90.9% (231 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/tr/ --- public/locales/tr/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/tr/common.json b/public/locales/tr/common.json index 93e75d12..808a9439 100644 --- a/public/locales/tr/common.json +++ b/public/locales/tr/common.json @@ -131,7 +131,8 @@ "overseerr": { "pending": "Bekliyor", "approved": "Onaylı", - "available": "Kullanılabilir" + "available": "Kullanılabilir", + "processing": "Processing" }, "pihole": { "queries": "Sorgular", From 8d4c01354e115b84c29851cbf8e04de2bd87b7a1 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 29 Nov 2022 18:34:47 +0000 Subject: [PATCH 562/668] Translated using Weblate (Serbian) Currently translated at 3.5% (9 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sr/ --- public/locales/sr/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/sr/common.json b/public/locales/sr/common.json index 94bff3c2..a063bf04 100644 --- a/public/locales/sr/common.json +++ b/public/locales/sr/common.json @@ -131,7 +131,8 @@ "overseerr": { "pending": "Pending", "approved": "Approved", - "available": "Available" + "available": "Available", + "processing": "Processing" }, "pihole": { "queries": "Queries", From a1fdc7b4a233745239e6b3daf2a47a02efb343a9 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 29 Nov 2022 18:34:46 +0000 Subject: [PATCH 563/668] Translated using Weblate (Arabic) Currently translated at 17.3% (44 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ar/ --- public/locales/ar/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/ar/common.json b/public/locales/ar/common.json index 4d864dff..2f88b39d 100644 --- a/public/locales/ar/common.json +++ b/public/locales/ar/common.json @@ -193,7 +193,8 @@ "overseerr": { "pending": "Pending", "approved": "Approved", - "available": "Available" + "available": "Available", + "processing": "Processing" }, "pihole": { "queries": "Queries", From 54de1ff25643b9351530ff70ac7471c7f2abbce4 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 29 Nov 2022 18:34:47 +0000 Subject: [PATCH 564/668] Translated using Weblate (Czech) Currently translated at 88.5% (225 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/cs/ --- public/locales/cs/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/cs/common.json b/public/locales/cs/common.json index 6d91c628..4a50cfd5 100644 --- a/public/locales/cs/common.json +++ b/public/locales/cs/common.json @@ -147,7 +147,8 @@ "overseerr": { "pending": "Čeká", "approved": "Schváleno", - "available": "Dostupný" + "available": "Dostupný", + "processing": "Processing" }, "pihole": { "queries": "Dotazy", From 6a324f4554b527a5c6c666a793242055225df8ae Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 29 Nov 2022 18:34:47 +0000 Subject: [PATCH 565/668] Translated using Weblate (Danish) Currently translated at 77.9% (198 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/da/ --- public/locales/da/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/da/common.json b/public/locales/da/common.json index 606cce69..1a56eee4 100644 --- a/public/locales/da/common.json +++ b/public/locales/da/common.json @@ -23,7 +23,8 @@ "overseerr": { "pending": "Afventer", "approved": "Godkendt", - "available": "Tilgængelig" + "available": "Tilgængelig", + "processing": "Processing" }, "adguard": { "queries": "Forespørgsler", From 7fe542d2e9cc7f13aa6b07cda7f3f2867847bb84 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 29 Nov 2022 18:34:48 +0000 Subject: [PATCH 566/668] Translated using Weblate (Malay) Currently translated at 99.6% (253 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ms/ --- public/locales/ms/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/ms/common.json b/public/locales/ms/common.json index b60a4efa..f6b6e9c6 100644 --- a/public/locales/ms/common.json +++ b/public/locales/ms/common.json @@ -220,7 +220,8 @@ "overseerr": { "pending": "Tertangguh", "approved": "Lulus", - "available": "Sudah Ada" + "available": "Sudah Ada", + "processing": "Processing" }, "pihole": { "queries": "Permintaan", From d2d0341dd93bf3896b1b3c02c81459d0ca7f15bd Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 29 Nov 2022 18:34:46 +0000 Subject: [PATCH 567/668] Translated using Weblate (Hindi) Currently translated at 3.5% (9 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hi/ --- public/locales/hi/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/hi/common.json b/public/locales/hi/common.json index 3fef196c..0b1b00dc 100644 --- a/public/locales/hi/common.json +++ b/public/locales/hi/common.json @@ -150,7 +150,8 @@ "overseerr": { "pending": "Pending", "approved": "Approved", - "available": "Available" + "available": "Available", + "processing": "Processing" }, "pihole": { "queries": "Queries", From 7a390b38f50cf2aa049fe25e625e3aa77b5cfb5d Mon Sep 17 00:00:00 2001 From: phlostically Date: Tue, 29 Nov 2022 21:17:40 +0100 Subject: [PATCH 568/668] Added translation using Weblate (Esperanto) --- public/locales/eo/common.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 public/locales/eo/common.json diff --git a/public/locales/eo/common.json b/public/locales/eo/common.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/public/locales/eo/common.json @@ -0,0 +1 @@ +{} From de27b10cf914db7d430113015af93365eb3107a7 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 29 Nov 2022 20:17:42 +0000 Subject: [PATCH 569/668] Translated using Weblate (Esperanto) Currently translated at 100.0% (0 of 0 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/eo/ --- public/locales/eo/common.json | 354 +++++++++++++++++++++++++++++++++- 1 file changed, 353 insertions(+), 1 deletion(-) diff --git a/public/locales/eo/common.json b/public/locales/eo/common.json index 0967ef42..e19718b3 100644 --- a/public/locales/eo/common.json +++ b/public/locales/eo/common.json @@ -1 +1,353 @@ -{} +{ + "widget": { + "missing_type": "Missing Widget Type: {{type}}", + "api_error": "API Error", + "information": "Information", + "status": "Status", + "url": "URL", + "raw_error": "Raw Error", + "response_data": "Response Data" + }, + "weather": { + "current": "Current Location", + "allow": "Click to allow", + "updating": "Updating", + "wait": "Please wait" + }, + "search": { + "placeholder": "Search…" + }, + "resources": { + "cpu": "CPU", + "total": "Total", + "free": "Free", + "used": "Used", + "load": "Load" + }, + "unifi": { + "users": "Users", + "uptime": "System Uptime", + "days": "Days", + "wan": "WAN", + "lan": "LAN", + "wlan": "WLAN", + "devices": "Devices", + "lan_devices": "LAN Devices", + "wlan_devices": "WLAN Devices", + "lan_users": "LAN Users", + "wlan_users": "WLAN Users", + "up": "UP", + "down": "DOWN", + "wait": "Please wait" + }, + "docker": { + "rx": "RX", + "tx": "TX", + "mem": "MEM", + "cpu": "CPU", + "offline": "Offline", + "error": "Error", + "unknown": "Unknown" + }, + "ping": { + "error": "Error", + "ping": "Ping" + }, + "emby": { + "playing": "Playing", + "transcoding": "Transcoding", + "bitrate": "Bitrate", + "no_active": "No Active Streams" + }, + "changedetectionio": { + "totalObserved": "Total Observed", + "diffsDetected": "Diffs Detected" + }, + "tautulli": { + "playing": "Playing", + "transcoding": "Transcoding", + "bitrate": "Bitrate", + "no_active": "No Active Streams" + }, + "nzbget": { + "rate": "Rate", + "remaining": "Remaining", + "downloaded": "Downloaded" + }, + "plex": { + "streams": "Active Streams", + "movies": "Movies", + "tv": "TV Shows" + }, + "sabnzbd": { + "rate": "Rate", + "queue": "Queue", + "timeleft": "Time Left" + }, + "rutorrent": { + "active": "Active", + "upload": "Upload", + "download": "Download" + }, + "transmission": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" + }, + "qbittorrent": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" + }, + "deluge": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" + }, + "sonarr": { + "wanted": "Wanted", + "queued": "Queued", + "series": "Series" + }, + "radarr": { + "wanted": "Wanted", + "missing": "Missing", + "queued": "Queued", + "movies": "Movies" + }, + "lidarr": { + "wanted": "Wanted", + "queued": "Queued", + "albums": "Albums" + }, + "readarr": { + "wanted": "Wanted", + "queued": "Queued", + "books": "Books" + }, + "bazarr": { + "missingEpisodes": "Missing Episodes", + "missingMovies": "Missing Movies" + }, + "ombi": { + "pending": "Pending", + "approved": "Approved", + "available": "Available" + }, + "jellyseerr": { + "pending": "Pending", + "approved": "Approved", + "available": "Available" + }, + "overseerr": { + "pending": "Pending", + "processing": "Processing", + "approved": "Approved", + "available": "Available" + }, + "pihole": { + "queries": "Queries", + "blocked": "Blocked", + "gravity": "Gravity" + }, + "adguard": { + "queries": "Queries", + "blocked": "Blocked", + "filtered": "Filtered", + "latency": "Latency" + }, + "speedtest": { + "upload": "Upload", + "download": "Download", + "ping": "Ping" + }, + "portainer": { + "running": "Running", + "stopped": "Stopped", + "total": "Total" + }, + "traefik": { + "routers": "Routers", + "services": "Services", + "middleware": "Middleware" + }, + "navidrome": { + "nothing_streaming": "No Active Streams", + "please_wait": "Please Wait" + }, + "npm": { + "enabled": "Enabled", + "disabled": "Disabled", + "total": "Total" + }, + "coinmarketcap": { + "configure": "Configure one or more crypto currencies to track", + "1hour": "1 Hour", + "1day": "1 Day", + "7days": "7 Days", + "30days": "30 Days" + }, + "gotify": { + "apps": "Applications", + "clients": "Clients", + "messages": "Messages" + }, + "prowlarr": { + "enableIndexers": "Indexers", + "numberOfGrabs": "Grabs", + "numberOfQueries": "Queries", + "numberOfFailGrabs": "Fail Grabs", + "numberOfFailQueries": "Fail Queries" + }, + "jackett": { + "configured": "Configured", + "errored": "Errored" + }, + "strelaysrv": { + "numActiveSessions": "Sessions", + "numConnections": "Connections", + "dataRelayed": "Relayed", + "transferRate": "Rate" + }, + "mastodon": { + "user_count": "Users", + "status_count": "Posts", + "domain_count": "Domains" + }, + "authentik": { + "users": "Users", + "loginsLast24H": "Logins (24h)", + "failedLoginsLast24H": "Failed Logins (24h)" + }, + "proxmox": { + "mem": "MEM", + "cpu": "CPU", + "lxc": "LXC", + "vms": "VMs" + }, + "glances": { + "cpu": "CPU", + "mem": "MEM", + "wait": "Please wait" + }, + "quicklaunch": { + "bookmark": "Bookmark", + "service": "Service" + }, + "wmo": { + "0-day": "Sunny", + "0-night": "Clear", + "1-day": "Mainly Sunny", + "1-night": "Mainly Clear", + "2-day": "Partly Cloudy", + "2-night": "Partly Cloudy", + "3-day": "Cloudy", + "3-night": "Cloudy", + "45-day": "Foggy", + "45-night": "Foggy", + "48-day": "Foggy", + "48-night": "Foggy", + "51-day": "Light Drizzle", + "51-night": "Light Drizzle", + "53-day": "Drizzle", + "53-night": "Drizzle", + "55-day": "Heavy Drizzle", + "55-night": "Heavy Drizzle", + "56-day": "Light Freezing Drizzle", + "56-night": "Light Freezing Drizzle", + "57-day": "Freezing Drizzle", + "57-night": "Freezing Drizzle", + "61-day": "Light Rain", + "61-night": "Light Rain", + "63-day": "Rain", + "63-night": "Rain", + "65-day": "Heavy Rain", + "65-night": "Heavy Rain", + "66-day": "Freezing Rain", + "66-night": "Freezing Rain", + "67-day": "Freezing Rain", + "67-night": "Freezing Rain", + "71-day": "Light Snow", + "71-night": "Light Snow", + "73-day": "Snow", + "73-night": "Snow", + "75-day": "Heavy Snow", + "75-night": "Heavy Snow", + "77-day": "Snow Grains", + "77-night": "Snow Grains", + "80-day": "Light Showers", + "80-night": "Light Showers", + "81-day": "Showers", + "81-night": "Showers", + "82-day": "Heavy Showers", + "82-night": "Heavy Showers", + "85-day": "Snow Showers", + "85-night": "Snow Showers", + "86-day": "Snow Showers", + "86-night": "Snow Showers", + "95-day": "Thunderstorm", + "95-night": "Thunderstorm", + "96-day": "Thunderstorm With Hail", + "96-night": "Thunderstorm With Hail", + "99-day": "Thunderstorm With Hail", + "99-night": "Thunderstorm With Hail" + }, + "homebridge": { + "available_update": "System", + "updates": "Updates", + "update_available": "Update Available", + "up_to_date": "Up to Date", + "child_bridges": "Child Bridges", + "child_bridges_status": "{{ok}}/{{total}}" + }, + "watchtower": { + "containers_scanned": "Scanned", + "containers_updated": "Updated", + "containers_failed": "Failed" + }, + "autobrr": { + "approvedPushes": "Approved", + "rejectedPushes": "Rejected", + "filters": "Filters", + "indexers": "Indexers" + }, + "tubearchivist": { + "downloads": "Queue", + "videos": "Videos", + "channels": "Channels", + "playlists": "Playlists" + }, + "truenas": { + "load": "System Load", + "uptime": "Uptime", + "alerts": "Alerts", + "time": "{{value, number(style: unit; unitDisplay: long;)}}" + }, + "pyload": { + "speed": "Speed", + "active": "Active", + "queue": "Queue", + "total": "Total" + }, + "gluetun": { + "public_ip": "Public IP", + "region": "Region", + "country": "Country" + }, + "hdhomerun": { + "channels": "Channels", + "hd": "HD" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" + } +} From c2230fb308c372edc083a17981544f5832a24acb Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Tue, 29 Nov 2022 13:26:35 -0800 Subject: [PATCH 570/668] Fix quick-launch z-index Closes #582 --- src/components/quicklaunch.jsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/quicklaunch.jsx b/src/components/quicklaunch.jsx index f2c09db2..0427022d 100644 --- a/src/components/quicklaunch.jsx +++ b/src/components/quicklaunch.jsx @@ -112,13 +112,13 @@ export default function QuickLaunch({servicesAndBookmarks, searchString, setSear return (