+
+ {!task.dueDateIsDefault && (
+
+ {t("common.relativeDate", {
+ value: task.dueDate,
+ formatParams: { value: { style: "narrow", numeric: "auto" } },
+ })}
+
+ )}
+
+ ))}
+ >
+ );
+}
diff --git a/src/widgets/vikunja/widget.js b/src/widgets/vikunja/widget.js
new file mode 100644
index 000000000..9a1920266
--- /dev/null
+++ b/src/widgets/vikunja/widget.js
@@ -0,0 +1,27 @@
+import credentialedProxyHandler from "utils/proxy/handlers/credentialed";
+import { asJson } from "utils/proxy/api-helpers";
+
+const widget = {
+ api: `{url}/api/v1/{endpoint}`,
+ proxyHandler: credentialedProxyHandler,
+
+ mappings: {
+ projects: {
+ endpoint: "projects",
+ },
+ tasks: {
+ endpoint: "tasks/all?filter=done%3Dfalse&sort_by=due_date",
+ map: (data) =>
+ asJson(data).map((task) => ({
+ id: task.id,
+ title: task.title,
+ priority: task.priority,
+ dueDate: task.due_date,
+ dueDateIsDefault: task.due_date === "0001-01-01T00:00:00Z",
+ inProgress: task.percent_done > 0 && task.percent_done < 1,
+ })),
+ },
+ },
+};
+
+export default widget;
diff --git a/src/widgets/widgets.js b/src/widgets/widgets.js
index 3334e47e5..faff57eb4 100644
--- a/src/widgets/widgets.js
+++ b/src/widgets/widgets.js
@@ -115,6 +115,7 @@ import unifi from "./unifi/widget";
import unmanic from "./unmanic/widget";
import uptimekuma from "./uptimekuma/widget";
import uptimerobot from "./uptimerobot/widget";
+import vikunja from "./vikunja/widget";
import watchtower from "./watchtower/widget";
import wgeasy from "./wgeasy/widget";
import whatsupdocker from "./whatsupdocker/widget";
@@ -246,6 +247,7 @@ const widgets = {
uptimekuma,
uptimerobot,
urbackup,
+ vikunja,
watchtower,
wgeasy,
whatsupdocker,
From db1fb4b8999f78480d358ac0efe76fa37335f0c0 Mon Sep 17 00:00:00 2001
From: shamoon <4887959+shamoon@users.noreply.github.com>
Date: Sat, 12 Oct 2024 15:30:45 -0700
Subject: [PATCH 15/16] Enhancement: support netalertX token for
password-protected instances (#4122)
---
docs/widgets/services/netalertx.md | 3 +++
src/utils/proxy/handlers/credentialed.js | 1 +
src/widgets/netalertx/widget.js | 4 ++--
3 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/docs/widgets/services/netalertx.md b/docs/widgets/services/netalertx.md
index 4579d74cd..1f618182c 100644
--- a/docs/widgets/services/netalertx.md
+++ b/docs/widgets/services/netalertx.md
@@ -9,8 +9,11 @@ _Note that the project was renamed from PiAlert to NetAlertX._
Allowed fields: `["total", "connected", "new_devices", "down_alerts"]`.
+If you have enabled a password on your NetAlertX instance, you will need to provide the `SYNC_api_token` as the `key` in your config.
+
```yaml
widget:
type: netalertx
url: http://ip:port
+ key: netalertxsyncapitoken # optional, only if password is enabled
```
diff --git a/src/utils/proxy/handlers/credentialed.js b/src/utils/proxy/handlers/credentialed.js
index e907912da..b1b9922c6 100644
--- a/src/utils/proxy/handlers/credentialed.js
+++ b/src/utils/proxy/handlers/credentialed.js
@@ -41,6 +41,7 @@ export default async function credentialedProxyHandler(req, res, map) {
"ghostfolio",
"linkwarden",
"mealie",
+ "netalertx",
"tailscale",
"tandoor",
"pterodactyl",
diff --git a/src/widgets/netalertx/widget.js b/src/widgets/netalertx/widget.js
index b4329519a..033d3d81d 100644
--- a/src/widgets/netalertx/widget.js
+++ b/src/widgets/netalertx/widget.js
@@ -1,8 +1,8 @@
-import genericProxyHandler from "utils/proxy/handlers/generic";
+import credentialedProxyHandler from "utils/proxy/handlers/credentialed";
const widget = {
api: "{url}/php/server/devices.php?action=getDevicesTotals",
- proxyHandler: genericProxyHandler,
+ proxyHandler: credentialedProxyHandler,
mappings: {
data: {
From cf9109384ee30937dff7c1a5872184ddf69ed21d Mon Sep 17 00:00:00 2001
From: shamoon <4887959+shamoon@users.noreply.github.com>
Date: Tue, 15 Oct 2024 10:50:47 -0700
Subject: [PATCH 16/16] Update support.yml
---
.github/DISCUSSION_TEMPLATE/support.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/DISCUSSION_TEMPLATE/support.yml b/.github/DISCUSSION_TEMPLATE/support.yml
index 8471940be..2493df229 100644
--- a/.github/DISCUSSION_TEMPLATE/support.yml
+++ b/.github/DISCUSSION_TEMPLATE/support.yml
@@ -5,7 +5,7 @@ body:
### ⚠️ Before opening a discussion:
- [Check the troubleshooting guide](https://gethomepage.dev/troubleshooting/).
- - [Search existing issues](https://github.com/gethomepage/homepage/search?q=&type=issues) [and discussions](https://github.com/gethomepage/homepage/search?q=&type=discussions).
+ - [Search existing issues](https://github.com/gethomepage/homepage/search?q=&type=issues) [and discussions](https://github.com/gethomepage/homepage/search?q=&type=discussions) (including closed ones!).
- type: textarea
id: description
attributes: