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: projectsData, error: projectsError } = useWidgetAPI(widget, "projects");
const { data: tasksData, error: tasksError } = useWidgetAPI(widget, "tasks");
if (projectsError || tasksError) {
return ;
}
if (!projectsData || !tasksData) {
return (
);
}
const projects = projectsData.filter((project) => project.id);
const vikunjaDefaultDueDate = new Date("0001-01-01T00:00:00Z");
const oneWeekFromNow = new Date(Date.now() + 7 * 24 * 60 * 60 * 1000);
const tasksWithDueDate = tasksData.filter((task) => task.dueDate > vikunjaDefaultDueDate);
const tasks7d = tasksWithDueDate.filter((task) => task.dueDate <= oneWeekFromNow);
const tasksOverdue = tasksWithDueDate.filter((task) => task.dueDate <= new Date(Date.now()));
const tasksInProgress = tasksData.filter((task) => task.inProgress);
return (
<>
{widget.enableTaskList &&
tasksWithDueDate.slice(0, 5).map((task) => (
{t("common.relativeDate", {
value: task.dueDate,
formatParams: { value: { style: "narrow", numeric: "auto" } },
})}
))}
>
);
}