diff --git a/src/utils/config/service-helpers.js b/src/utils/config/service-helpers.js index e99582b24..dc625f2ef 100644 --- a/src/utils/config/service-helpers.js +++ b/src/utils/config/service-helpers.js @@ -291,6 +291,8 @@ export function cleanServiceGroups(groups) { volume, // diskstation widget, enableQueue, // sonarr/radarr node, // Proxmox + snapshotHost, // kopia + snapshotPath, } = cleanedService.widget; let fieldsList = fields; @@ -345,6 +347,10 @@ export function cleanServiceGroups(groups) { if (["diskstation", "qnap"].includes(type)) { if (volume) cleanedService.widget.volume = volume; } + if (type === "kopia") { + if (snapshotHost) cleanedService.widget.snapshotHost = snapshotHost; + if (snapshotPath) cleanedService.widget.snapshotPath = snapshotPath; + } } return cleanedService; diff --git a/src/widgets/kopia/component.jsx b/src/widgets/kopia/component.jsx index 46690990b..9a7a76aca 100755 --- a/src/widgets/kopia/component.jsx +++ b/src/widgets/kopia/component.jsx @@ -41,7 +41,12 @@ export default function Component({ service }) { return ; } - const source = statusData?.sources[0]; + const snapshotHost = service.widget?.snapshotHost; + const snapshotPath = service.widget?.snapshotPath; + + const source = statusData?.sources + .filter(el => snapshotHost ? el.source.host === snapshotHost : true) + .filter(el => snapshotPath ? el.source.path === snapshotPath : true)[0]; if (!statusData || !source) { return (