diff --git a/public/locales/en/common.json b/public/locales/en/common.json index 8e5d8e57..0bf28285 100755 --- a/public/locales/en/common.json +++ b/public/locales/en/common.json @@ -500,6 +500,7 @@ "status": "Status", "size": "Size", "lastrun": "Last Run", - "nextrun": "Next Run" + "nextrun": "Next Run", + "failed": "Failed" } } \ No newline at end of file diff --git a/src/widgets/kopia/component.jsx b/src/widgets/kopia/component.jsx index 04b9eda7..dcc763e6 100755 --- a/src/widgets/kopia/component.jsx +++ b/src/widgets/kopia/component.jsx @@ -4,18 +4,46 @@ import Container from "components/services/widget/container"; import Block from "components/services/widget/block"; import useWidgetAPI from "utils/proxy/use-widget-api"; +function relativeDate(date) { + const seconds = Math.abs(Math.floor((new Date() - date) / 1000)); + + let interval = Math.abs(seconds / 31536000); + + if (interval > 1) { + return `${Math.floor(interval)} y`; + } + interval = seconds / 2592000; + if (interval > 1) { + return `${Math.floor(interval)} mo`; + } + interval = seconds / 86400; + if (interval > 1) { + return `${Math.floor(interval)} d`; + } + interval = seconds / 3600; + if (interval > 1) { + return `${Math.floor(interval)} h`; + } + interval = seconds / 60; + if (interval > 1) { + return `${Math.floor(interval)} m`; + } + return `${Math.floor(seconds)} s`; +} + export default function Component({ service }) { const { t } = useTranslation(); const { widget } = service; const { data: statusData, error: statusError } = useWidgetAPI(widget, "status"); - const { data: tasksData, error: tasksError } = useWidgetAPI(widget, "tasks"); - if (statusError || tasksError) { - return ; + if (statusError) { + return ; } - if (!statusData || !tasksData) { + const source = statusData?.sources[0]; + + if (!statusData || !source) { return ( @@ -26,32 +54,15 @@ export default function Component({ service }) { ); } - function fromTasks(task) { - for (let i=0; i - - - - + + + + {nextTime && } ); } \ No newline at end of file diff --git a/src/widgets/kopia/widget.js b/src/widgets/kopia/widget.js index ecee3b8a..58ed46c4 100755 --- a/src/widgets/kopia/widget.js +++ b/src/widgets/kopia/widget.js @@ -8,9 +8,6 @@ const widget = { status: { endpoint: "api/v1/sources", }, - tasks: { - endpoint: "api/v1/tasks", - }, }, };