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 > 0); // saved filters have id < 0 const oneWeekFromNow = new Date(Date.now() + 7 * 24 * 60 * 60 * 1000); const tasksWithDueDate = tasksData.filter((task) => !task.dueDateIsDefault); const tasks7d = tasksWithDueDate.filter((task) => new Date(task.dueDate) <= oneWeekFromNow); const tasksOverdue = tasksWithDueDate.filter((task) => new Date(task.dueDate) <= new Date(Date.now())); const tasksInProgress = tasksData.filter((task) => task.inProgress); return ( <> {widget.enableTaskList && tasksData.slice(0, 5).map((task) => (
{task.title}
{!task.dueDateIsDefault && (
{t("common.relativeDate", { value: task.dueDate, formatParams: { value: { style: "narrow", numeric: "auto" } }, })}
)}
))} ); }