diff --git a/docs/widgets/services/vikunja.md b/docs/widgets/services/vikunja.md
index f5563701c..a9918efff 100644
--- a/docs/widgets/services/vikunja.md
+++ b/docs/widgets/services/vikunja.md
@@ -15,9 +15,12 @@ Allowed fields: `["projects", "tasks7d", "tasksOverdue", "tasksInProgress"]`.
"Tasks In Progress" lists the number of tasks with a progress percentage above 0% and below 100%.
+A list of the next 5 tasks ordered by due date is disabled by default, but can be enabled with the `enableTaskList` option.
+
```yaml
widget:
type: vikunja
url: http[s]://vikunja.host.or.ip[:port]
key: vikunjaapikey
+ enableTaskList: true # optional, defaults to false
```
diff --git a/src/widgets/vikunja/component.jsx b/src/widgets/vikunja/component.jsx
index 677a915f0..8f278a481 100644
--- a/src/widgets/vikunja/component.jsx
+++ b/src/widgets/vikunja/component.jsx
@@ -30,6 +30,11 @@ function getInProgress(task) {
return task.inProgress === true;
}
+// filter out Tasks with a bogus due date
+function getDue(task) {
+ return new Date(task.dueDate).getTime() > new Date("0001-01-01T00:00:00Z").getTime();
+}
+
export default function Component({ service }) {
const { t } = useTranslation();
const { widget } = service;
@@ -62,12 +67,35 @@ export default function Component({ service }) {
const inProgress = tasksData.filter(getInProgress);
return (
- // <>
-