@plutonhq/core-frontend 0.1.13 → 0.1.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-lib/@types/backups.d.ts +26 -0
- package/dist-lib/@types/backups.d.ts.map +1 -1
- package/dist-lib/@types/devices.d.ts +7 -0
- package/dist-lib/@types/devices.d.ts.map +1 -1
- package/dist-lib/@types/plans.d.ts +21 -1
- package/dist-lib/@types/plans.d.ts.map +1 -1
- package/dist-lib/@types/restores.d.ts +2 -0
- package/dist-lib/@types/restores.d.ts.map +1 -1
- package/dist-lib/components/Device/DeviceBackups/DeviceBackups.d.ts +3 -2
- package/dist-lib/components/Device/DeviceBackups/DeviceBackups.d.ts.map +1 -1
- package/dist-lib/components/Device/DeviceBackups/DeviceBackups.js +73 -85
- package/dist-lib/components/Device/DeviceBackups/DeviceBackups.js.map +1 -1
- package/dist-lib/components/Plan/BackupEvents/BackupEvents.d.ts.map +1 -1
- package/dist-lib/components/Plan/BackupEvents/BackupEvents.js +88 -50
- package/dist-lib/components/Plan/BackupEvents/BackupEvents.js.map +1 -1
- package/dist-lib/components/Plan/BackupEvents/BackupEvents.module.scss.js +70 -38
- package/dist-lib/components/Plan/BackupEvents/BackupEvents.module.scss.js.map +1 -1
- package/dist-lib/components/Plan/BackupProgress/BackupProgress.d.ts.map +1 -1
- package/dist-lib/components/Plan/BackupProgress/BackupProgress.js +166 -123
- package/dist-lib/components/Plan/BackupProgress/BackupProgress.js.map +1 -1
- package/dist-lib/components/Plan/BackupProgress/BackupProgress.module.scss.js +64 -30
- package/dist-lib/components/Plan/BackupProgress/BackupProgress.module.scss.js.map +1 -1
- package/dist-lib/components/Plan/Backups/Backups.d.ts +8 -1
- package/dist-lib/components/Plan/Backups/Backups.d.ts.map +1 -1
- package/dist-lib/components/Plan/Backups/Backups.js +154 -125
- package/dist-lib/components/Plan/Backups/Backups.js.map +1 -1
- package/dist-lib/components/Plan/EditPlan/EditPlan.d.ts.map +1 -1
- package/dist-lib/components/Plan/EditPlan/EditPlan.js +11 -10
- package/dist-lib/components/Plan/EditPlan/EditPlan.js.map +1 -1
- package/dist-lib/components/Plan/Mirrors/MirrorDetails.d.ts +12 -0
- package/dist-lib/components/Plan/Mirrors/MirrorDetails.d.ts.map +1 -0
- package/dist-lib/components/Plan/Mirrors/MirrorDetails.js +68 -0
- package/dist-lib/components/Plan/Mirrors/MirrorDetails.js.map +1 -0
- package/dist-lib/components/Plan/Mirrors/MirrorDetails.module.scss.js +26 -0
- package/dist-lib/components/Plan/Mirrors/MirrorDetails.module.scss.js.map +1 -0
- package/dist-lib/components/Plan/Mirrors/MirrorStatusBadge.d.ts +11 -0
- package/dist-lib/components/Plan/Mirrors/MirrorStatusBadge.d.ts.map +1 -0
- package/dist-lib/components/Plan/Mirrors/MirrorStatusBadge.js +38 -0
- package/dist-lib/components/Plan/Mirrors/MirrorStatusBadge.js.map +1 -0
- package/dist-lib/components/Plan/Mirrors/MirrorStatusBadge.module.scss.js +16 -0
- package/dist-lib/components/Plan/Mirrors/MirrorStatusBadge.module.scss.js.map +1 -0
- package/dist-lib/components/Plan/Mirrors/MirrorStorageSelector.d.ts +14 -0
- package/dist-lib/components/Plan/Mirrors/MirrorStorageSelector.d.ts.map +1 -0
- package/dist-lib/components/Plan/Mirrors/MirrorStorageSelector.js +54 -0
- package/dist-lib/components/Plan/Mirrors/MirrorStorageSelector.js.map +1 -0
- package/dist-lib/components/Plan/Mirrors/MirrorStorageSelector.module.scss.js +26 -0
- package/dist-lib/components/Plan/Mirrors/MirrorStorageSelector.module.scss.js.map +1 -0
- package/dist-lib/components/Plan/Mirrors/MirrorStorageSelectorModal.d.ts +15 -0
- package/dist-lib/components/Plan/Mirrors/MirrorStorageSelectorModal.d.ts.map +1 -0
- package/dist-lib/components/Plan/Mirrors/MirrorStorageSelectorModal.js +34 -0
- package/dist-lib/components/Plan/Mirrors/MirrorStorageSelectorModal.js.map +1 -0
- package/dist-lib/components/Plan/PlanBackups/PlanBackups.d.ts.map +1 -1
- package/dist-lib/components/Plan/PlanBackups/PlanBackups.js +20 -17
- package/dist-lib/components/Plan/PlanBackups/PlanBackups.js.map +1 -1
- package/dist-lib/components/Plan/PlanForm/PlanForm.d.ts +2 -1
- package/dist-lib/components/Plan/PlanForm/PlanForm.d.ts.map +1 -1
- package/dist-lib/components/Plan/PlanForm/PlanForm.js +121 -94
- package/dist-lib/components/Plan/PlanForm/PlanForm.js.map +1 -1
- package/dist-lib/components/Plan/PlanIntegrity/PlanIntegrity.d.ts +16 -0
- package/dist-lib/components/Plan/PlanIntegrity/PlanIntegrity.d.ts.map +1 -0
- package/dist-lib/components/Plan/PlanIntegrity/PlanIntegrity.js +115 -0
- package/dist-lib/components/Plan/PlanIntegrity/PlanIntegrity.js.map +1 -0
- package/dist-lib/components/Plan/PlanIntegrity/PlanIntegrity.module.scss.js +26 -0
- package/dist-lib/components/Plan/PlanIntegrity/PlanIntegrity.module.scss.js.map +1 -0
- package/dist-lib/components/Plan/PlanItems/PlanItem.d.ts.map +1 -1
- package/dist-lib/components/Plan/PlanItems/PlanItem.js +58 -59
- package/dist-lib/components/Plan/PlanItems/PlanItem.js.map +1 -1
- package/dist-lib/components/Plan/PlanPendingBackup/PlanPendingBackup.d.ts +2 -2
- package/dist-lib/components/Plan/PlanPendingBackup/PlanPendingBackup.d.ts.map +1 -1
- package/dist-lib/components/Plan/PlanPendingBackup/PlanPendingBackup.js.map +1 -1
- package/dist-lib/components/Plan/PlanRemoveModal/PlanRemoveModal.js +8 -8
- package/dist-lib/components/Plan/PlanRemoveModal/PlanRemoveModal.js.map +1 -1
- package/dist-lib/components/Plan/PlanSettings/PlanReplicationSettings.d.ts +14 -0
- package/dist-lib/components/Plan/PlanSettings/PlanReplicationSettings.d.ts.map +1 -0
- package/dist-lib/components/Plan/PlanSettings/PlanReplicationSettings.js +290 -0
- package/dist-lib/components/Plan/PlanSettings/PlanReplicationSettings.js.map +1 -0
- package/dist-lib/components/Plan/PlanSettings/PlanReplicationSettings.module.scss.js +26 -0
- package/dist-lib/components/Plan/PlanSettings/PlanReplicationSettings.module.scss.js.map +1 -0
- package/dist-lib/components/Plan/PlanStats/PlanStats.d.ts.map +1 -1
- package/dist-lib/components/Plan/PlanStats/PlanStats.js +41 -42
- package/dist-lib/components/Plan/PlanStats/PlanStats.js.map +1 -1
- package/dist-lib/components/Plan/PlanStats/PlanStats.module.scss.js +5 -5
- package/dist-lib/components/Plan/PlanStorageInfo/PlanStorageInfo.d.ts +15 -0
- package/dist-lib/components/Plan/PlanStorageInfo/PlanStorageInfo.d.ts.map +1 -0
- package/dist-lib/components/Plan/PlanStorageInfo/PlanStorageInfo.js +69 -0
- package/dist-lib/components/Plan/PlanStorageInfo/PlanStorageInfo.js.map +1 -0
- package/dist-lib/components/Plan/PlanStorageInfo/PlanStorageInfo.module.scss.js +16 -0
- package/dist-lib/components/Plan/PlanStorageInfo/PlanStorageInfo.module.scss.js.map +1 -0
- package/dist-lib/components/Restore/RestoreWizard/RestoreConfirmStep.d.ts.map +1 -1
- package/dist-lib/components/Restore/RestoreWizard/RestoreConfirmStep.js +36 -34
- package/dist-lib/components/Restore/RestoreWizard/RestoreConfirmStep.js.map +1 -1
- package/dist-lib/components/Restore/RestoreWizard/RestorePreviewStep.d.ts.map +1 -1
- package/dist-lib/components/Restore/RestoreWizard/RestorePreviewStep.js +7 -5
- package/dist-lib/components/Restore/RestoreWizard/RestorePreviewStep.js.map +1 -1
- package/dist-lib/components/Restore/RestoreWizard/RestoreSettingsStep.d.ts +12 -4
- package/dist-lib/components/Restore/RestoreWizard/RestoreSettingsStep.d.ts.map +1 -1
- package/dist-lib/components/Restore/RestoreWizard/RestoreSettingsStep.js +44 -32
- package/dist-lib/components/Restore/RestoreWizard/RestoreSettingsStep.js.map +1 -1
- package/dist-lib/components/Restore/RestoreWizard/RestoreWizard.d.ts +5 -1
- package/dist-lib/components/Restore/RestoreWizard/RestoreWizard.d.ts.map +1 -1
- package/dist-lib/components/Restore/RestoreWizard/RestoreWizard.js +48 -44
- package/dist-lib/components/Restore/RestoreWizard/RestoreWizard.js.map +1 -1
- package/dist-lib/components/Restore/RestoreWizard/RestoreWizard.module.scss.js +32 -32
- package/dist-lib/components/Settings/GeneralSettings/GeneralSettings.d.ts +1 -1
- package/dist-lib/components/Settings/GeneralSettings/GeneralSettings.d.ts.map +1 -1
- package/dist-lib/components/Settings/GeneralSettings/GeneralSettings.js +52 -24
- package/dist-lib/components/Settings/GeneralSettings/GeneralSettings.js.map +1 -1
- package/dist-lib/components/Settings/IntegrationSettings/IntegrationSettings.d.ts.map +1 -1
- package/dist-lib/components/Settings/IntegrationSettings/IntegrationSettings.js +28 -19
- package/dist-lib/components/Settings/IntegrationSettings/IntegrationSettings.js.map +1 -1
- package/dist-lib/components/Settings/TwoFactorSetup/TwoFactorSetup.d.ts +7 -0
- package/dist-lib/components/Settings/TwoFactorSetup/TwoFactorSetup.d.ts.map +1 -0
- package/dist-lib/components/Settings/TwoFactorSetup/TwoFactorSetup.js +79 -0
- package/dist-lib/components/Settings/TwoFactorSetup/TwoFactorSetup.js.map +1 -0
- package/dist-lib/components/Settings/TwoFactorSetup/TwoFactorSetup.module.scss.js +24 -0
- package/dist-lib/components/Settings/TwoFactorSetup/TwoFactorSetup.module.scss.js.map +1 -0
- package/dist-lib/components/common/Icon/Icon.d.ts.map +1 -1
- package/dist-lib/components/common/Icon/Icon.js +11 -0
- package/dist-lib/components/common/Icon/Icon.js.map +1 -1
- package/dist-lib/components/common/PageHeader/PageHeader.module.scss.js +6 -6
- package/dist-lib/components/index.d.ts +6 -0
- package/dist-lib/components/index.d.ts.map +1 -1
- package/dist-lib/components.js +102 -90
- package/dist-lib/components.js.map +1 -1
- package/dist-lib/hooks/usePwaAutoUpdate.d.ts +11 -2
- package/dist-lib/hooks/usePwaAutoUpdate.d.ts.map +1 -1
- package/dist-lib/hooks/usePwaAutoUpdate.js +32 -10
- package/dist-lib/hooks/usePwaAutoUpdate.js.map +1 -1
- package/dist-lib/router.d.ts.map +1 -1
- package/dist-lib/router.js +46 -35
- package/dist-lib/router.js.map +1 -1
- package/dist-lib/routes/DeviceSingle/DeviceSingle.d.ts.map +1 -1
- package/dist-lib/routes/DeviceSingle/DeviceSingle.js +40 -40
- package/dist-lib/routes/DeviceSingle/DeviceSingle.js.map +1 -1
- package/dist-lib/routes/PlanSingle/PlanSingle.d.ts.map +1 -1
- package/dist-lib/routes/PlanSingle/PlanSingle.js +123 -98
- package/dist-lib/routes/PlanSingle/PlanSingle.js.map +1 -1
- package/dist-lib/services/backups.d.ts +15 -2
- package/dist-lib/services/backups.d.ts.map +1 -1
- package/dist-lib/services/backups.js +119 -100
- package/dist-lib/services/backups.js.map +1 -1
- package/dist-lib/services/plans.d.ts +20 -0
- package/dist-lib/services/plans.d.ts.map +1 -1
- package/dist-lib/services/plans.js +227 -172
- package/dist-lib/services/plans.js.map +1 -1
- package/dist-lib/services/restores.d.ts +10 -2
- package/dist-lib/services/restores.d.ts.map +1 -1
- package/dist-lib/services/restores.js +61 -57
- package/dist-lib/services/restores.js.map +1 -1
- package/dist-lib/services/settings.d.ts +16 -0
- package/dist-lib/services/settings.d.ts.map +1 -1
- package/dist-lib/services/settings.js +147 -68
- package/dist-lib/services/settings.js.map +1 -1
- package/dist-lib/services/users.d.ts.map +1 -1
- package/dist-lib/services/users.js +32 -32
- package/dist-lib/services/users.js.map +1 -1
- package/dist-lib/services.js +113 -101
- package/dist-lib/styles/core-frontend.css +1 -1
- package/dist-lib/utils/progressHelpers.d.ts +12 -1
- package/dist-lib/utils/progressHelpers.d.ts.map +1 -1
- package/dist-lib/utils/progressHelpers.js +121 -63
- package/dist-lib/utils/progressHelpers.js.map +1 -1
- package/dist-lib/utils.js +29 -28
- package/package.json +1 -1
- package/src/@types/backups.ts +28 -0
- package/src/@types/devices.ts +8 -0
- package/src/@types/plans.ts +23 -1
- package/src/@types/restores.ts +2 -0
- package/src/components/Device/DeviceBackups/DeviceBackups.tsx +11 -36
- package/src/components/Plan/BackupEvents/BackupEvents.module.scss +65 -0
- package/src/components/Plan/BackupEvents/BackupEvents.tsx +65 -4
- package/src/components/Plan/BackupProgress/BackupProgress.module.scss +121 -3
- package/src/components/Plan/BackupProgress/BackupProgress.tsx +149 -71
- package/src/components/Plan/Backups/Backups.tsx +52 -4
- package/src/components/Plan/EditPlan/EditPlan.tsx +1 -0
- package/src/components/Plan/Mirrors/MirrorDetails.module.scss +76 -0
- package/src/components/Plan/Mirrors/MirrorDetails.tsx +100 -0
- package/src/components/Plan/Mirrors/MirrorStatusBadge.module.scss +25 -0
- package/src/components/Plan/Mirrors/MirrorStatusBadge.tsx +65 -0
- package/src/components/Plan/Mirrors/MirrorStorageSelector.module.scss +97 -0
- package/src/components/Plan/Mirrors/MirrorStorageSelector.tsx +70 -0
- package/src/components/Plan/Mirrors/MirrorStorageSelectorModal.tsx +40 -0
- package/src/components/Plan/PlanBackups/PlanBackups.tsx +4 -1
- package/src/components/Plan/PlanForm/PlanForm.tsx +44 -17
- package/src/components/Plan/PlanIntegrity/PlanIntegrity.module.scss +110 -0
- package/src/components/Plan/PlanIntegrity/PlanIntegrity.tsx +187 -0
- package/src/components/Plan/PlanItems/PlanItem.tsx +3 -3
- package/src/components/Plan/PlanPendingBackup/PlanPendingBackup.tsx +2 -2
- package/src/components/Plan/PlanRemoveModal/PlanRemoveModal.tsx +1 -1
- package/src/components/Plan/PlanSettings/PlanReplicationSettings.module.scss +105 -0
- package/src/components/Plan/PlanSettings/PlanReplicationSettings.tsx +334 -0
- package/src/components/Plan/PlanStats/PlanStats.module.scss +1 -1
- package/src/components/Plan/PlanStats/PlanStats.tsx +8 -8
- package/src/components/Plan/PlanStorageInfo/PlanStorageInfo.module.scss +43 -0
- package/src/components/Plan/PlanStorageInfo/PlanStorageInfo.tsx +83 -0
- package/src/components/Restore/RestoreWizard/RestoreConfirmStep.tsx +2 -0
- package/src/components/Restore/RestoreWizard/RestorePreviewStep.tsx +2 -0
- package/src/components/Restore/RestoreWizard/RestoreSettingsStep.tsx +36 -13
- package/src/components/Restore/RestoreWizard/RestoreWizard.module.scss +4 -0
- package/src/components/Restore/RestoreWizard/RestoreWizard.tsx +9 -1
- package/src/components/Settings/GeneralSettings/GeneralSettings.tsx +38 -2
- package/src/components/Settings/IntegrationSettings/IntegrationSettings.tsx +9 -2
- package/src/components/Settings/TwoFactorSetup/TwoFactorSetup.module.scss +62 -0
- package/src/components/Settings/TwoFactorSetup/TwoFactorSetup.tsx +102 -0
- package/src/components/common/Icon/Icon.tsx +10 -1
- package/src/components/common/PageHeader/PageHeader.module.scss +3 -0
- package/src/components/index.ts +8 -0
- package/src/hooks/usePwaAutoUpdate.ts +51 -11
- package/src/router.tsx +26 -17
- package/src/routes/DeviceSingle/DeviceSingle.tsx +3 -3
- package/src/routes/PlanSingle/PlanSingle.tsx +21 -0
- package/src/services/backups.ts +32 -9
- package/src/services/plans.ts +75 -0
- package/src/services/restores.ts +10 -2
- package/src/services/settings.ts +90 -0
- package/src/services/users.ts +14 -5
- package/src/utils/progressHelpers.ts +85 -1
|
@@ -1,67 +1,67 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { useParams as
|
|
3
|
-
import { useState as
|
|
1
|
+
import { jsx as s, jsxs as t, Fragment as a } from "react/jsx-runtime";
|
|
2
|
+
import { useParams as z } from "react-router";
|
|
3
|
+
import { useState as M } from "react";
|
|
4
4
|
import m from "../../components/common/Icon/Icon.js";
|
|
5
|
-
import
|
|
6
|
-
import { useGetDevice as
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
const
|
|
13
|
-
var h, g, v;
|
|
14
|
-
const { id:
|
|
15
|
-
console.log("DeviceError :",
|
|
16
|
-
const
|
|
17
|
-
if (!
|
|
18
|
-
return /* @__PURE__ */
|
|
19
|
-
const e = (h =
|
|
20
|
-
return /* @__PURE__ */
|
|
21
|
-
d ? /* @__PURE__ */
|
|
22
|
-
|
|
5
|
+
import P from "../../components/common/PageHeader/PageHeader.js";
|
|
6
|
+
import { useGetDevice as T, useGetSystemMetrics as C } from "../../services/devices.js";
|
|
7
|
+
import R from "../../components/Device/DeviceInfo/DeviceInfo.js";
|
|
8
|
+
import j from "../../components/Device/EditDevice/EditDevice.js";
|
|
9
|
+
import r from "./DeviceSingle.module.scss.js";
|
|
10
|
+
import w from "../../components/common/NotFound/NotFound.js";
|
|
11
|
+
import B from "../../components/Device/DeviceBackups/DeviceBackups.js";
|
|
12
|
+
const K = () => {
|
|
13
|
+
var h, g, v, N;
|
|
14
|
+
const { id: l } = z(), [S, p] = M(!1), { data: o, isLoading: y, error: i } = T(l), { data: n } = C(l);
|
|
15
|
+
console.log("DeviceError :", i, i == null ? void 0 : i.status);
|
|
16
|
+
const b = i == null ? void 0 : i.status;
|
|
17
|
+
if (!l || b === 404)
|
|
18
|
+
return /* @__PURE__ */ s(w, { name: "Device", link: "/sources", linkText: "All Sources" });
|
|
19
|
+
const e = (h = o == null ? void 0 : o.result) == null ? void 0 : h.device, c = n != null && n.result && ((g = n == null ? void 0 : n.result) != null && g.system) ? n.result : e == null ? void 0 : e.metrics, k = ((v = o == null ? void 0 : o.result) == null ? void 0 : v.plans) || [], x = ((N = o == null ? void 0 : o.result) == null ? void 0 : N.storages) || [], d = e == null ? void 0 : e.name, $ = (e == null ? void 0 : e.status) && (e == null ? void 0 : e.status) === "pending", { restic: u = "100.0.0", rclone: f = "100.0.0" } = (e == null ? void 0 : e.versions) || {};
|
|
20
|
+
return /* @__PURE__ */ t("div", { className: r.device, children: [
|
|
21
|
+
d ? /* @__PURE__ */ s(
|
|
22
|
+
P,
|
|
23
23
|
{
|
|
24
|
-
title: /* @__PURE__ */
|
|
24
|
+
title: /* @__PURE__ */ t(a, { children: [
|
|
25
25
|
d,
|
|
26
|
-
|
|
26
|
+
l === "main" && /* @__PURE__ */ s("span", { className: "label in_progress", children: "Main" })
|
|
27
27
|
] }),
|
|
28
28
|
pageTitle: d,
|
|
29
29
|
icon: "devices",
|
|
30
|
-
rightSection: /* @__PURE__ */
|
|
31
|
-
(
|
|
32
|
-
/* @__PURE__ */
|
|
33
|
-
/* @__PURE__ */
|
|
30
|
+
rightSection: /* @__PURE__ */ t(a, { children: [
|
|
31
|
+
(!$ || l === "main") && /* @__PURE__ */ t(a, { children: [
|
|
32
|
+
/* @__PURE__ */ t("button", { className: `${r.version}`, "data-tooltip-id": "appTooltip", "data-tooltip-content": `Restic version: ${u}`, children: [
|
|
33
|
+
/* @__PURE__ */ s(m, { type: "restic", size: 14 }),
|
|
34
34
|
" ",
|
|
35
|
-
/* @__PURE__ */
|
|
35
|
+
/* @__PURE__ */ t("i", { children: [
|
|
36
36
|
"v",
|
|
37
37
|
u
|
|
38
38
|
] })
|
|
39
39
|
] }),
|
|
40
|
-
/* @__PURE__ */
|
|
41
|
-
/* @__PURE__ */
|
|
40
|
+
/* @__PURE__ */ t("button", { className: `${r.version}`, "data-tooltip-id": "appTooltip", "data-tooltip-content": `Rclone version: ${f}`, children: [
|
|
41
|
+
/* @__PURE__ */ s(m, { type: "rclone", size: 14 }),
|
|
42
42
|
" ",
|
|
43
|
-
/* @__PURE__ */
|
|
43
|
+
/* @__PURE__ */ t("i", { children: [
|
|
44
44
|
"v",
|
|
45
45
|
f
|
|
46
46
|
] })
|
|
47
47
|
] }),
|
|
48
|
-
/* @__PURE__ */
|
|
48
|
+
/* @__PURE__ */ s("b", { children: "|" })
|
|
49
49
|
] }),
|
|
50
|
-
/* @__PURE__ */
|
|
51
|
-
/* @__PURE__ */
|
|
50
|
+
/* @__PURE__ */ t("button", { className: r.actionBtn, onClick: () => p(!0), children: [
|
|
51
|
+
/* @__PURE__ */ s(m, { size: 14, type: "edit-settings" }),
|
|
52
52
|
" Edit"
|
|
53
53
|
] })
|
|
54
54
|
] })
|
|
55
55
|
}
|
|
56
|
-
) : /* @__PURE__ */
|
|
57
|
-
/* @__PURE__ */
|
|
58
|
-
/* @__PURE__ */
|
|
59
|
-
(c == null ? void 0 : c.system) && /* @__PURE__ */
|
|
56
|
+
) : /* @__PURE__ */ s("span", { className: `skeleton-box ${r.titleSkeleton}` }),
|
|
57
|
+
/* @__PURE__ */ s("div", { className: r.deviceContent, children: y ? /* @__PURE__ */ s("div", { className: "loadingScreen", children: /* @__PURE__ */ s(m, { size: 60, type: "loading" }) }) : /* @__PURE__ */ t(a, { children: [
|
|
58
|
+
/* @__PURE__ */ s(B, { plans: k, storages: x }),
|
|
59
|
+
(c == null ? void 0 : c.system) && /* @__PURE__ */ s(R, { metrics: c, isRefetching: !1 })
|
|
60
60
|
] }) }),
|
|
61
|
-
e &&
|
|
61
|
+
e && S && /* @__PURE__ */ s(j, { device: e, close: () => p(!1) })
|
|
62
62
|
] });
|
|
63
63
|
};
|
|
64
64
|
export {
|
|
65
|
-
|
|
65
|
+
K as default
|
|
66
66
|
};
|
|
67
67
|
//# sourceMappingURL=DeviceSingle.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeviceSingle.js","sources":["../../../src/routes/DeviceSingle/DeviceSingle.tsx"],"sourcesContent":["import { useParams } from 'react-router';\r\nimport { useState } from 'react';\r\nimport Icon from '../../components/common/Icon/Icon';\r\nimport PageHeader from '../../components/common/PageHeader/PageHeader';\r\nimport { useGetDevice, useGetSystemMetrics } from '../../services/devices';\r\nimport DeviceInfo from '../../components/Device/DeviceInfo/DeviceInfo';\r\nimport EditDevice from '../../components/Device/EditDevice/EditDevice';\r\nimport classes from './DeviceSingle.module.scss';\r\
|
|
1
|
+
{"version":3,"file":"DeviceSingle.js","sources":["../../../src/routes/DeviceSingle/DeviceSingle.tsx"],"sourcesContent":["import { useParams } from 'react-router';\r\nimport { useState } from 'react';\r\nimport Icon from '../../components/common/Icon/Icon';\r\nimport PageHeader from '../../components/common/PageHeader/PageHeader';\r\nimport { useGetDevice, useGetSystemMetrics } from '../../services/devices';\r\nimport DeviceInfo from '../../components/Device/DeviceInfo/DeviceInfo';\r\nimport EditDevice from '../../components/Device/EditDevice/EditDevice';\r\nimport classes from './DeviceSingle.module.scss';\r\nimport NotFound from '../../components/common/NotFound/NotFound';\r\nimport DeviceBackups from '../../components/Device/DeviceBackups/DeviceBackups';\r\nimport { DevicePlan, DeviceStorage } from '../../@types/devices';\r\n\r\nconst DeviceSingle = () => {\r\n const { id } = useParams();\r\n const [showEditModal, setShowEditModal] = useState(false);\r\n const { data, isLoading, error: DeviceError } = useGetDevice(id as string);\r\n const { data: metricsData } = useGetSystemMetrics(id as string);\r\n\r\n console.log('DeviceError :', DeviceError, (DeviceError as Error & { status?: number })?.status);\r\n\r\n const errorStatusCode = (DeviceError as Error & { status?: number })?.status;\r\n if (!id || errorStatusCode === 404) {\r\n return <NotFound name=\"Device\" link=\"/sources\" linkText=\"All Sources\" />;\r\n }\r\n\r\n const device = data?.result?.device;\r\n const metrics = metricsData?.result && metricsData?.result?.system ? metricsData.result : device?.metrics;\r\n const devicePlans: DevicePlan[] = data?.result?.plans || [];\r\n const deviceStorages: DeviceStorage[] = data?.result?.storages || [];\r\n const deviceName = device?.name;\r\n const isPending = device?.status && device?.status === 'pending';\r\n\r\n const { restic = '100.0.0', rclone = '100.0.0' } = device?.versions || {};\r\n\r\n return (\r\n <div className={classes.device}>\r\n {deviceName ? (\r\n <PageHeader\r\n title={\r\n <>\r\n {deviceName}\r\n {id === 'main' && <span className=\"label in_progress\">Main</span>}\r\n </>\r\n }\r\n pageTitle={deviceName}\r\n icon=\"devices\"\r\n rightSection={\r\n <>\r\n {(!isPending || id === 'main') && (\r\n <>\r\n <button className={`${classes.version}`} data-tooltip-id=\"appTooltip\" data-tooltip-content={`Restic version: ${restic}`}>\r\n <Icon type=\"restic\" size={14} /> <i>v{restic}</i>\r\n </button>\r\n <button className={`${classes.version}`} data-tooltip-id=\"appTooltip\" data-tooltip-content={`Rclone version: ${rclone}`}>\r\n <Icon type=\"rclone\" size={14} /> <i>v{rclone}</i>\r\n </button>\r\n <b>|</b>\r\n </>\r\n )}\r\n <button className={classes.actionBtn} onClick={() => setShowEditModal(true)}>\r\n <Icon size={14} type=\"edit-settings\" /> Edit\r\n </button>\r\n </>\r\n }\r\n />\r\n ) : (\r\n <span className={`skeleton-box ${classes.titleSkeleton}`} />\r\n )}\r\n <div className={classes.deviceContent}>\r\n {isLoading ? (\r\n <div className=\"loadingScreen\">\r\n <Icon size={60} type=\"loading\" />\r\n </div>\r\n ) : (\r\n <>\r\n <DeviceBackups plans={devicePlans} storages={deviceStorages} />\r\n {metrics?.system && <DeviceInfo metrics={metrics} isRefetching={false} />}\r\n </>\r\n )}\r\n </div>\r\n {device && showEditModal && <EditDevice device={device} close={() => setShowEditModal(false)} />}\r\n </div>\r\n );\r\n};\r\n\r\nexport default DeviceSingle;\r\n"],"names":["DeviceSingle","id","useParams","showEditModal","setShowEditModal","useState","data","isLoading","DeviceError","useGetDevice","metricsData","useGetSystemMetrics","errorStatusCode","NotFound","device","_a","metrics","_b","devicePlans","_c","deviceStorages","_d","deviceName","isPending","restic","rclone","jsxs","classes","jsx","PageHeader","Fragment","Icon","DeviceBackups","DeviceInfo","EditDevice"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlanSingle.d.ts","sourceRoot":"","sources":["../../../src/routes/PlanSingle/PlanSingle.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PlanSingle.d.ts","sourceRoot":"","sources":["../../../src/routes/PlanSingle/PlanSingle.tsx"],"names":[],"mappings":"AAkBA,QAAA,MAAM,UAAU,+CA4Lf,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -1,132 +1,146 @@
|
|
|
1
|
-
import { jsx as e, jsxs as
|
|
2
|
-
import { useState as
|
|
3
|
-
import { useParams as
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import { useComponentOverride as
|
|
9
|
-
import
|
|
10
|
-
import { usePlanSingleActions as
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import
|
|
15
|
-
import
|
|
16
|
-
import
|
|
17
|
-
import
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
1
|
+
import { jsx as e, jsxs as o, Fragment as w } from "react/jsx-runtime";
|
|
2
|
+
import { useState as B } from "react";
|
|
3
|
+
import { useParams as Q, useSearchParams as W } from "react-router";
|
|
4
|
+
import X from "../../components/common/PageHeader/PageHeader.js";
|
|
5
|
+
import n from "../../components/common/Icon/Icon.js";
|
|
6
|
+
import Y from "../../components/Plan/EditPlan/EditPlan.js";
|
|
7
|
+
import Z from "../../components/Plan/PlanLogs/PlanLogs.js";
|
|
8
|
+
import { useComponentOverride as _ } from "../../context/ComponentOverrideContext.js";
|
|
9
|
+
import ee from "../../components/Plan/PlanStats/PlanStats.js";
|
|
10
|
+
import { usePlanSingleActions as te } from "../../hooks/usePlanSingleActions.js";
|
|
11
|
+
import t from "./PlanSingle.module.scss.js";
|
|
12
|
+
import oe from "../../components/common/NotFound/NotFound.js";
|
|
13
|
+
import se from "../../components/Plan/PlanPruneModal/PlanPruneModal.js";
|
|
14
|
+
import ne from "../../components/Plan/PlanUnlockModal/PlanUnlockModal.js";
|
|
15
|
+
import ae from "../../components/Plan/PlanRemoveModal/PlanRemoveModal.js";
|
|
16
|
+
import ie from "../../components/Plan/PlanProgress/PlanProgress.js";
|
|
17
|
+
import le from "../../components/Plan/PlanBackups/PlanBackups.js";
|
|
18
|
+
import re from "../../components/Plan/PlanIntegrity/PlanIntegrity.js";
|
|
19
|
+
const ze = () => {
|
|
20
|
+
var y, M;
|
|
21
|
+
const [p, a] = B(!1), [C, m] = B(!1), { id: i } = Q(), v = _("EditPlan", Y), [h] = W(), z = h.get("pendingbackup") === "1", I = h.get("pendingrestore") === "1", {
|
|
22
|
+
showDeleteModal: b,
|
|
22
23
|
setShowDeleteModal: u,
|
|
23
|
-
showEditModal:
|
|
24
|
-
setShowEditModal:
|
|
25
|
-
showPruneModal:
|
|
24
|
+
showEditModal: E,
|
|
25
|
+
setShowEditModal: g,
|
|
26
|
+
showPruneModal: L,
|
|
26
27
|
setShowPruneModal: f,
|
|
27
|
-
showLogsModal:
|
|
28
|
-
setShowLogsModal:
|
|
29
|
-
showUnlockModal:
|
|
30
|
-
setShowUnlockModal:
|
|
31
|
-
plan:
|
|
32
|
-
isLoading:
|
|
33
|
-
refetchPlan:
|
|
34
|
-
activeBackups:
|
|
35
|
-
activeRestores:
|
|
36
|
-
lastBackupItem:
|
|
28
|
+
showLogsModal: R,
|
|
29
|
+
setShowLogsModal: P,
|
|
30
|
+
showUnlockModal: U,
|
|
31
|
+
setShowUnlockModal: k,
|
|
32
|
+
plan: s,
|
|
33
|
+
isLoading: D,
|
|
34
|
+
refetchPlan: O,
|
|
35
|
+
activeBackups: T,
|
|
36
|
+
activeRestores: $,
|
|
37
|
+
lastBackupItem: x,
|
|
37
38
|
taskPending: r,
|
|
38
|
-
planError:
|
|
39
|
-
actionInProgress:
|
|
40
|
-
changeStatus:
|
|
41
|
-
backupNow:
|
|
42
|
-
} =
|
|
43
|
-
if (!
|
|
44
|
-
return /* @__PURE__ */ e(
|
|
39
|
+
planError: d,
|
|
40
|
+
actionInProgress: A,
|
|
41
|
+
changeStatus: j,
|
|
42
|
+
backupNow: F
|
|
43
|
+
} = te(), H = d == null ? void 0 : d.status;
|
|
44
|
+
if (!i || H === 404)
|
|
45
|
+
return /* @__PURE__ */ e(oe, { name: "Plan", link: "/" });
|
|
45
46
|
{
|
|
46
|
-
if (
|
|
47
|
-
return /* @__PURE__ */ e("div", { className: "loadingScreen", children: /* @__PURE__ */ e(
|
|
48
|
-
const { isActive:
|
|
49
|
-
return /* @__PURE__ */
|
|
47
|
+
if (D)
|
|
48
|
+
return /* @__PURE__ */ e("div", { className: "loadingScreen", children: /* @__PURE__ */ e(n, { size: 60, type: "loading" }) });
|
|
49
|
+
const { isActive: c, method: V, title: S, description: N, stats: q, settings: G } = s, J = G.prune, K = ((y = q.snapshots) == null ? void 0 : y.length) || 0, l = V === "sync";
|
|
50
|
+
return /* @__PURE__ */ o("div", { className: t.planSingle, children: [
|
|
50
51
|
/* @__PURE__ */ e(
|
|
51
|
-
|
|
52
|
+
X,
|
|
52
53
|
{
|
|
53
|
-
title: /* @__PURE__ */
|
|
54
|
-
|
|
54
|
+
title: /* @__PURE__ */ o(w, { children: [
|
|
55
|
+
S,
|
|
55
56
|
" ",
|
|
56
|
-
N && /* @__PURE__ */ e("span", { className:
|
|
57
|
-
!
|
|
58
|
-
/* @__PURE__ */ e(
|
|
57
|
+
N && /* @__PURE__ */ e("span", { className: t.planDescription, "data-tooltip-id": "appTooltip", "data-tooltip-content": N, children: /* @__PURE__ */ e(n, { type: "note", size: 13 }) }),
|
|
58
|
+
!c && /* @__PURE__ */ o("span", { className: "label warn", children: [
|
|
59
|
+
/* @__PURE__ */ e(n, { size: 14, type: "pause", color: "#bf8d20" }),
|
|
59
60
|
" Paused"
|
|
60
61
|
] })
|
|
61
62
|
] }),
|
|
62
|
-
pageTitle:
|
|
63
|
+
pageTitle: S,
|
|
63
64
|
icon: "plans",
|
|
64
|
-
rightSection: /* @__PURE__ */ e(
|
|
65
|
-
/* @__PURE__ */
|
|
66
|
-
/* @__PURE__ */ e(
|
|
65
|
+
rightSection: /* @__PURE__ */ e(w, { children: /* @__PURE__ */ o("div", { className: t.planActions, children: [
|
|
66
|
+
/* @__PURE__ */ o("button", { className: t.actionBtn, onClick: F, children: [
|
|
67
|
+
/* @__PURE__ */ e(n, { size: 14, type: l ? "sync" : "backup" }),
|
|
67
68
|
" ",
|
|
68
|
-
|
|
69
|
+
l ? "Sync" : "Backup",
|
|
69
70
|
" Now"
|
|
70
71
|
] }),
|
|
71
|
-
/* @__PURE__ */
|
|
72
|
-
/* @__PURE__ */ e(
|
|
72
|
+
/* @__PURE__ */ o("button", { className: `${t.actionBtn} ${c ? "" : t.actionBtnHighlight}`, onClick: j, children: [
|
|
73
|
+
/* @__PURE__ */ e(n, { size: 14, type: c ? "pause" : "resume" }),
|
|
73
74
|
" ",
|
|
74
|
-
|
|
75
|
+
c ? "Pause" : "Resume"
|
|
75
76
|
] }),
|
|
76
|
-
/* @__PURE__ */
|
|
77
|
-
/* @__PURE__ */ e(
|
|
77
|
+
/* @__PURE__ */ o("button", { className: t.actionBtn, onClick: () => g(!0), children: [
|
|
78
|
+
/* @__PURE__ */ e(n, { size: 14, type: "edit-settings" }),
|
|
78
79
|
" Edit"
|
|
79
80
|
] }),
|
|
80
|
-
/* @__PURE__ */ e("button", { className: `${
|
|
81
|
-
|
|
82
|
-
/* @__PURE__ */
|
|
81
|
+
/* @__PURE__ */ e("button", { className: `${t.actionBtn} ${t.actionMoreBtn}`, onClick: () => a(!p), children: /* @__PURE__ */ e(n, { size: 14, type: "dots-vertical" }) }),
|
|
82
|
+
p && /* @__PURE__ */ o("ul", { className: t.moreOptions, children: [
|
|
83
|
+
/* @__PURE__ */ o(
|
|
83
84
|
"li",
|
|
84
85
|
{
|
|
85
|
-
className:
|
|
86
|
+
className: t.actionBtn,
|
|
86
87
|
onClick: () => {
|
|
87
88
|
f(!0), a(!1);
|
|
88
89
|
},
|
|
89
90
|
children: [
|
|
90
|
-
/* @__PURE__ */ e(
|
|
91
|
+
/* @__PURE__ */ e(n, { size: 14, type: "prune" }),
|
|
91
92
|
" Clean Up"
|
|
92
93
|
]
|
|
93
94
|
}
|
|
94
95
|
),
|
|
95
|
-
!
|
|
96
|
+
!l && /* @__PURE__ */ o(
|
|
96
97
|
"li",
|
|
97
98
|
{
|
|
98
|
-
className:
|
|
99
|
+
className: t.actionBtn,
|
|
99
100
|
onClick: () => {
|
|
100
|
-
|
|
101
|
+
k(!0), a(!1);
|
|
101
102
|
},
|
|
102
103
|
children: [
|
|
103
|
-
/* @__PURE__ */ e(
|
|
104
|
+
/* @__PURE__ */ e(n, { size: 14, type: "unlock" }),
|
|
104
105
|
" Unlock"
|
|
105
106
|
]
|
|
106
107
|
}
|
|
107
108
|
),
|
|
108
|
-
/* @__PURE__ */
|
|
109
|
+
/* @__PURE__ */ o(
|
|
110
|
+
"li",
|
|
111
|
+
{
|
|
112
|
+
className: t.actionBtn,
|
|
113
|
+
onClick: () => {
|
|
114
|
+
m(!0), a(!1);
|
|
115
|
+
},
|
|
116
|
+
children: [
|
|
117
|
+
/* @__PURE__ */ e(n, { size: 14, type: "integrity" }),
|
|
118
|
+
" Check Integrity"
|
|
119
|
+
]
|
|
120
|
+
}
|
|
121
|
+
),
|
|
122
|
+
/* @__PURE__ */ o(
|
|
109
123
|
"li",
|
|
110
124
|
{
|
|
111
|
-
className:
|
|
125
|
+
className: t.actionBtn,
|
|
112
126
|
onClick: () => {
|
|
113
|
-
|
|
127
|
+
P(!0), a(!1);
|
|
114
128
|
},
|
|
115
129
|
children: [
|
|
116
|
-
/* @__PURE__ */ e(
|
|
130
|
+
/* @__PURE__ */ e(n, { size: 14, type: "logs" }),
|
|
117
131
|
" View Logs"
|
|
118
132
|
]
|
|
119
133
|
}
|
|
120
134
|
),
|
|
121
|
-
/* @__PURE__ */
|
|
135
|
+
/* @__PURE__ */ o(
|
|
122
136
|
"li",
|
|
123
137
|
{
|
|
124
|
-
className:
|
|
138
|
+
className: t.actionBtn,
|
|
125
139
|
onClick: () => {
|
|
126
140
|
u(!0), a(!1);
|
|
127
141
|
},
|
|
128
142
|
children: [
|
|
129
|
-
/* @__PURE__ */ e(
|
|
143
|
+
/* @__PURE__ */ e(n, { size: 14, type: "trash" }),
|
|
130
144
|
" Remove"
|
|
131
145
|
]
|
|
132
146
|
}
|
|
@@ -135,40 +149,51 @@ const ye = () => {
|
|
|
135
149
|
] }) })
|
|
136
150
|
}
|
|
137
151
|
),
|
|
138
|
-
/* @__PURE__ */
|
|
139
|
-
/* @__PURE__ */ e(
|
|
152
|
+
/* @__PURE__ */ o("div", { className: t.planContent, children: [
|
|
153
|
+
/* @__PURE__ */ e(ee, { plan: s, isSync: l, lastBackupItem: x }),
|
|
140
154
|
/* @__PURE__ */ e(
|
|
141
|
-
|
|
155
|
+
ie,
|
|
142
156
|
{
|
|
143
|
-
plan:
|
|
144
|
-
isBackupPending:
|
|
145
|
-
isRestorePending:
|
|
146
|
-
activeBackups:
|
|
147
|
-
activeRestores:
|
|
148
|
-
refetchPlan:
|
|
157
|
+
plan: s,
|
|
158
|
+
isBackupPending: z,
|
|
159
|
+
isRestorePending: I,
|
|
160
|
+
activeBackups: T,
|
|
161
|
+
activeRestores: $,
|
|
162
|
+
refetchPlan: O
|
|
149
163
|
}
|
|
150
164
|
),
|
|
151
|
-
/* @__PURE__ */ e(
|
|
165
|
+
/* @__PURE__ */ e(le, { plan: s })
|
|
152
166
|
] }),
|
|
153
|
-
|
|
154
|
-
|
|
167
|
+
L && /* @__PURE__ */ e(
|
|
168
|
+
se,
|
|
155
169
|
{
|
|
156
|
-
planId:
|
|
157
|
-
method:
|
|
158
|
-
prune:
|
|
159
|
-
snapshotsCount:
|
|
170
|
+
planId: i,
|
|
171
|
+
method: s.method,
|
|
172
|
+
prune: J,
|
|
173
|
+
snapshotsCount: K,
|
|
160
174
|
taskPending: r,
|
|
161
175
|
close: () => f(!1)
|
|
162
176
|
}
|
|
163
177
|
),
|
|
164
|
-
C && /* @__PURE__ */ e(
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
178
|
+
C && !l && /* @__PURE__ */ e(
|
|
179
|
+
re,
|
|
180
|
+
{
|
|
181
|
+
planId: s.id,
|
|
182
|
+
taskPending: r,
|
|
183
|
+
verificationData: s.verified,
|
|
184
|
+
storage: s.storage,
|
|
185
|
+
replicationStorages: (M = s.settings.replication) != null && M.enabled ? s.settings.replication.storages : [],
|
|
186
|
+
onClose: () => m(!1)
|
|
187
|
+
}
|
|
188
|
+
),
|
|
189
|
+
b && /* @__PURE__ */ e(ae, { planId: i, taskPending: r, actionInProgress: A, close: () => u(!1) }),
|
|
190
|
+
U && /* @__PURE__ */ e(ne, { planId: i, taskPending: r, close: () => k(!1) }),
|
|
191
|
+
E && /* @__PURE__ */ e(v, { plan: s, close: () => g(!1) }),
|
|
192
|
+
R && /* @__PURE__ */ e(Z, { planId: i, planMethod: s.method, sourceType: s.sourceType, close: () => P(!1) })
|
|
168
193
|
] });
|
|
169
194
|
}
|
|
170
195
|
};
|
|
171
196
|
export {
|
|
172
|
-
|
|
197
|
+
ze as default
|
|
173
198
|
};
|
|
174
199
|
//# sourceMappingURL=PlanSingle.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlanSingle.js","sources":["../../../src/routes/PlanSingle/PlanSingle.tsx"],"sourcesContent":["import { useState } from 'react';\r\nimport { useParams, useSearchParams } from 'react-router';\r\nimport PageHeader from '../../components/common/PageHeader/PageHeader';\r\nimport Icon from '../../components/common/Icon/Icon';\r\nimport EditPlan from '../../components/Plan/EditPlan/EditPlan';\r\nimport PlanLogs from '../../components/Plan/PlanLogs/PlanLogs';\r\nimport { useComponentOverride } from '../../context/ComponentOverrideContext';\r\nimport PlanStats from '../../components/Plan/PlanStats/PlanStats';\r\nimport { usePlanSingleActions } from '../../hooks/usePlanSingleActions';\r\nimport classes from './PlanSingle.module.scss';\r\nimport NotFound from '../../components/common/NotFound/NotFound';\r\nimport PlanPruneModal from '../../components/Plan/PlanPruneModal/PlanPruneModal';\r\nimport PlanUnlockModal from '../../components/Plan/PlanUnlockModal/PlanUnlockModal';\r\nimport PlanRemoveModal from '../../components/Plan/PlanRemoveModal/PlanRemoveModal';\r\nimport PlanProgress from '../../components/Plan/PlanProgress/PlanProgress';\r\nimport PlanBackups from '../../components/Plan/PlanBackups/PlanBackups';\r\n\r\nconst PlanSingle = () => {\r\n const [showMoreOptions, setShowMoreOptions] = useState(false);\r\n const { id } = useParams();\r\n\r\n const EditPlanModal = useComponentOverride('EditPlan', EditPlan);\r\n\r\n const [searchParams] = useSearchParams();\r\n const isBackupPending = searchParams.get('pendingbackup') === '1';\r\n const isRestorePending = searchParams.get('pendingrestore') === '1';\r\n\r\n const {\r\n showDeleteModal,\r\n setShowDeleteModal,\r\n showEditModal,\r\n setShowEditModal,\r\n showPruneModal,\r\n setShowPruneModal,\r\n showLogsModal,\r\n setShowLogsModal,\r\n showUnlockModal,\r\n setShowUnlockModal,\r\n\r\n plan,\r\n isLoading,\r\n refetchPlan,\r\n activeBackups,\r\n activeRestores,\r\n lastBackupItem,\r\n taskPending,\r\n planError,\r\n actionInProgress,\r\n changeStatus,\r\n backupNow,\r\n } = usePlanSingleActions();\r\n\r\n // const errorMessage = planError?.message;\r\n const errorStatusCode = (planError as Error & { status?: number })?.status;\r\n if (!id || errorStatusCode === 404) {\r\n return <NotFound name=\"Plan\" link=\"/\" />;\r\n } else {\r\n if (isLoading) {\r\n return (\r\n <div className=\"loadingScreen\">\r\n <Icon size={60} type=\"loading\" />\r\n </div>\r\n );\r\n }\r\n\r\n const { isActive, method, title, description, stats, settings } = plan;\r\n const prune = settings.prune;\r\n const snapshotsCount = stats.snapshots?.length || 0;\r\n const isSync = method === 'sync';\r\n\r\n return (\r\n <div className={classes.planSingle}>\r\n <PageHeader\r\n title={\r\n <>\r\n {title}{' '}\r\n {description && (\r\n <span className={classes.planDescription} data-tooltip-id=\"appTooltip\" data-tooltip-content={description}>\r\n <Icon type=\"note\" size={13} />\r\n </span>\r\n )}\r\n {!isActive && (\r\n <span className=\"label warn\">\r\n <Icon size={14} type={'pause'} color=\"#bf8d20\" /> Paused\r\n </span>\r\n )}\r\n </>\r\n }\r\n pageTitle={title}\r\n icon=\"plans\"\r\n rightSection={\r\n <>\r\n <div className={classes.planActions}>\r\n <button className={classes.actionBtn} onClick={backupNow}>\r\n <Icon size={14} type={isSync ? 'sync' : 'backup'} /> {isSync ? 'Sync' : 'Backup'} Now\r\n </button>\r\n <button className={`${classes.actionBtn} ${!isActive ? classes.actionBtnHighlight : ''}`} onClick={changeStatus}>\r\n <Icon size={14} type={isActive ? 'pause' : 'resume'} /> {isActive ? 'Pause' : 'Resume'}\r\n </button>\r\n <button className={classes.actionBtn} onClick={() => setShowEditModal(true)}>\r\n <Icon size={14} type=\"edit-settings\" /> Edit\r\n </button>\r\n <button className={`${classes.actionBtn} ${classes.actionMoreBtn}`} onClick={() => setShowMoreOptions(!showMoreOptions)}>\r\n <Icon size={14} type=\"dots-vertical\" />\r\n </button>\r\n\r\n {showMoreOptions && (\r\n <ul className={classes.moreOptions}>\r\n <li\r\n className={classes.actionBtn}\r\n onClick={() => {\r\n setShowPruneModal(true);\r\n setShowMoreOptions(false);\r\n }}\r\n >\r\n <Icon size={14} type=\"prune\" /> Clean Up\r\n </li>\r\n {!isSync && (\r\n <li\r\n className={classes.actionBtn}\r\n onClick={() => {\r\n setShowUnlockModal(true);\r\n setShowMoreOptions(false);\r\n }}\r\n >\r\n <Icon size={14} type=\"unlock\" /> Unlock\r\n </li>\r\n )}\r\n <li\r\n className={classes.actionBtn}\r\n onClick={() => {\r\n setShowLogsModal(true);\r\n setShowMoreOptions(false);\r\n }}\r\n >\r\n <Icon size={14} type=\"logs\" /> View Logs\r\n </li>\r\n <li\r\n className={classes.actionBtn}\r\n onClick={() => {\r\n setShowDeleteModal(true);\r\n setShowMoreOptions(false);\r\n }}\r\n >\r\n <Icon size={14} type=\"trash\" /> Remove\r\n </li>\r\n </ul>\r\n )}\r\n </div>\r\n </>\r\n }\r\n />\r\n <div className={classes.planContent}>\r\n <PlanStats plan={plan} isSync={isSync} lastBackupItem={lastBackupItem} />\r\n <PlanProgress\r\n plan={plan}\r\n isBackupPending={isBackupPending}\r\n isRestorePending={isRestorePending}\r\n activeBackups={activeBackups}\r\n activeRestores={activeRestores}\r\n refetchPlan={refetchPlan}\r\n />\r\n <PlanBackups plan={plan} />\r\n </div>\r\n\r\n {/* Action Modals */}\r\n {showPruneModal && (\r\n <PlanPruneModal\r\n planId={id}\r\n method={plan.method}\r\n prune={prune}\r\n snapshotsCount={snapshotsCount}\r\n taskPending={taskPending}\r\n close={() => setShowPruneModal(false)}\r\n />\r\n )}\r\n {showDeleteModal && (\r\n <PlanRemoveModal planId={id} taskPending={taskPending} actionInProgress={actionInProgress} close={() => setShowDeleteModal(false)} />\r\n )}\r\n {showUnlockModal && <PlanUnlockModal planId={id} taskPending={taskPending} close={() => setShowUnlockModal(false)} />}\r\n {showEditModal && <EditPlanModal plan={plan} close={() => setShowEditModal(false)} />}\r\n {showLogsModal && <PlanLogs planId={id} planMethod={plan.method} sourceType={plan.sourceType} close={() => setShowLogsModal(false)} />}\r\n </div>\r\n );\r\n }\r\n};\r\n\r\nexport default PlanSingle;\r\n"],"names":["PlanSingle","showMoreOptions","setShowMoreOptions","useState","id","useParams","EditPlanModal","useComponentOverride","EditPlan","searchParams","useSearchParams","isBackupPending","isRestorePending","showDeleteModal","setShowDeleteModal","showEditModal","setShowEditModal","showPruneModal","setShowPruneModal","showLogsModal","setShowLogsModal","showUnlockModal","setShowUnlockModal","plan","isLoading","refetchPlan","activeBackups","activeRestores","lastBackupItem","taskPending","planError","actionInProgress","changeStatus","backupNow","usePlanSingleActions","errorStatusCode","jsx","NotFound","Icon","isActive","method","title","description","stats","settings","prune","snapshotsCount","_a","isSync","jsxs","classes","PageHeader","Fragment","PlanStats","PlanProgress","PlanBackups","PlanPruneModal","PlanRemoveModal","PlanUnlockModal","PlanLogs"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PlanSingle.js","sources":["../../../src/routes/PlanSingle/PlanSingle.tsx"],"sourcesContent":["import { useState } from 'react';\r\nimport { useParams, useSearchParams } from 'react-router';\r\nimport PageHeader from '../../components/common/PageHeader/PageHeader';\r\nimport Icon from '../../components/common/Icon/Icon';\r\nimport EditPlan from '../../components/Plan/EditPlan/EditPlan';\r\nimport PlanLogs from '../../components/Plan/PlanLogs/PlanLogs';\r\nimport { useComponentOverride } from '../../context/ComponentOverrideContext';\r\nimport PlanStats from '../../components/Plan/PlanStats/PlanStats';\r\nimport { usePlanSingleActions } from '../../hooks/usePlanSingleActions';\r\nimport classes from './PlanSingle.module.scss';\r\nimport NotFound from '../../components/common/NotFound/NotFound';\r\nimport PlanPruneModal from '../../components/Plan/PlanPruneModal/PlanPruneModal';\r\nimport PlanUnlockModal from '../../components/Plan/PlanUnlockModal/PlanUnlockModal';\r\nimport PlanRemoveModal from '../../components/Plan/PlanRemoveModal/PlanRemoveModal';\r\nimport PlanProgress from '../../components/Plan/PlanProgress/PlanProgress';\r\nimport PlanBackups from '../../components/Plan/PlanBackups/PlanBackups';\r\nimport PlanIntegrity from '../../components/Plan/PlanIntegrity/PlanIntegrity';\r\n\r\nconst PlanSingle = () => {\r\n const [showMoreOptions, setShowMoreOptions] = useState(false);\r\n const [showIntegrityModal, setShowIntegrityModal] = useState(false);\r\n const { id } = useParams();\r\n\r\n const EditPlanModal = useComponentOverride('EditPlan', EditPlan);\r\n\r\n const [searchParams] = useSearchParams();\r\n const isBackupPending = searchParams.get('pendingbackup') === '1';\r\n const isRestorePending = searchParams.get('pendingrestore') === '1';\r\n\r\n const {\r\n showDeleteModal,\r\n setShowDeleteModal,\r\n showEditModal,\r\n setShowEditModal,\r\n showPruneModal,\r\n setShowPruneModal,\r\n showLogsModal,\r\n setShowLogsModal,\r\n showUnlockModal,\r\n setShowUnlockModal,\r\n\r\n plan,\r\n isLoading,\r\n refetchPlan,\r\n activeBackups,\r\n activeRestores,\r\n lastBackupItem,\r\n taskPending,\r\n planError,\r\n actionInProgress,\r\n changeStatus,\r\n backupNow,\r\n } = usePlanSingleActions();\r\n\r\n // const errorMessage = planError?.message;\r\n const errorStatusCode = (planError as Error & { status?: number })?.status;\r\n if (!id || errorStatusCode === 404) {\r\n return <NotFound name=\"Plan\" link=\"/\" />;\r\n } else {\r\n if (isLoading) {\r\n return (\r\n <div className=\"loadingScreen\">\r\n <Icon size={60} type=\"loading\" />\r\n </div>\r\n );\r\n }\r\n\r\n const { isActive, method, title, description, stats, settings } = plan;\r\n const prune = settings.prune;\r\n const snapshotsCount = stats.snapshots?.length || 0;\r\n const isSync = method === 'sync';\r\n\r\n return (\r\n <div className={classes.planSingle}>\r\n <PageHeader\r\n title={\r\n <>\r\n {title}{' '}\r\n {description && (\r\n <span className={classes.planDescription} data-tooltip-id=\"appTooltip\" data-tooltip-content={description}>\r\n <Icon type=\"note\" size={13} />\r\n </span>\r\n )}\r\n {!isActive && (\r\n <span className=\"label warn\">\r\n <Icon size={14} type={'pause'} color=\"#bf8d20\" /> Paused\r\n </span>\r\n )}\r\n </>\r\n }\r\n pageTitle={title}\r\n icon=\"plans\"\r\n rightSection={\r\n <>\r\n <div className={classes.planActions}>\r\n <button className={classes.actionBtn} onClick={backupNow}>\r\n <Icon size={14} type={isSync ? 'sync' : 'backup'} /> {isSync ? 'Sync' : 'Backup'} Now\r\n </button>\r\n <button className={`${classes.actionBtn} ${!isActive ? classes.actionBtnHighlight : ''}`} onClick={changeStatus}>\r\n <Icon size={14} type={isActive ? 'pause' : 'resume'} /> {isActive ? 'Pause' : 'Resume'}\r\n </button>\r\n <button className={classes.actionBtn} onClick={() => setShowEditModal(true)}>\r\n <Icon size={14} type=\"edit-settings\" /> Edit\r\n </button>\r\n <button className={`${classes.actionBtn} ${classes.actionMoreBtn}`} onClick={() => setShowMoreOptions(!showMoreOptions)}>\r\n <Icon size={14} type=\"dots-vertical\" />\r\n </button>\r\n\r\n {showMoreOptions && (\r\n <ul className={classes.moreOptions}>\r\n <li\r\n className={classes.actionBtn}\r\n onClick={() => {\r\n setShowPruneModal(true);\r\n setShowMoreOptions(false);\r\n }}\r\n >\r\n <Icon size={14} type=\"prune\" /> Clean Up\r\n </li>\r\n {!isSync && (\r\n <li\r\n className={classes.actionBtn}\r\n onClick={() => {\r\n setShowUnlockModal(true);\r\n setShowMoreOptions(false);\r\n }}\r\n >\r\n <Icon size={14} type=\"unlock\" /> Unlock\r\n </li>\r\n )}\r\n <li\r\n className={classes.actionBtn}\r\n onClick={() => {\r\n setShowIntegrityModal(true);\r\n setShowMoreOptions(false);\r\n }}\r\n >\r\n <Icon size={14} type=\"integrity\" /> Check Integrity\r\n </li>\r\n <li\r\n className={classes.actionBtn}\r\n onClick={() => {\r\n setShowLogsModal(true);\r\n setShowMoreOptions(false);\r\n }}\r\n >\r\n <Icon size={14} type=\"logs\" /> View Logs\r\n </li>\r\n <li\r\n className={classes.actionBtn}\r\n onClick={() => {\r\n setShowDeleteModal(true);\r\n setShowMoreOptions(false);\r\n }}\r\n >\r\n <Icon size={14} type=\"trash\" /> Remove\r\n </li>\r\n </ul>\r\n )}\r\n </div>\r\n </>\r\n }\r\n />\r\n <div className={classes.planContent}>\r\n <PlanStats plan={plan} isSync={isSync} lastBackupItem={lastBackupItem} />\r\n <PlanProgress\r\n plan={plan}\r\n isBackupPending={isBackupPending}\r\n isRestorePending={isRestorePending}\r\n activeBackups={activeBackups}\r\n activeRestores={activeRestores}\r\n refetchPlan={refetchPlan}\r\n />\r\n <PlanBackups plan={plan} />\r\n </div>\r\n\r\n {/* Action Modals */}\r\n {showPruneModal && (\r\n <PlanPruneModal\r\n planId={id}\r\n method={plan.method}\r\n prune={prune}\r\n snapshotsCount={snapshotsCount}\r\n taskPending={taskPending}\r\n close={() => setShowPruneModal(false)}\r\n />\r\n )}\r\n {showIntegrityModal && !isSync && (\r\n <PlanIntegrity\r\n planId={plan.id}\r\n taskPending={taskPending}\r\n verificationData={plan.verified}\r\n storage={plan.storage}\r\n replicationStorages={plan.settings.replication?.enabled ? plan.settings.replication.storages : []}\r\n onClose={() => setShowIntegrityModal(false)}\r\n />\r\n )}\r\n {showDeleteModal && (\r\n <PlanRemoveModal planId={id} taskPending={taskPending} actionInProgress={actionInProgress} close={() => setShowDeleteModal(false)} />\r\n )}\r\n {showUnlockModal && <PlanUnlockModal planId={id} taskPending={taskPending} close={() => setShowUnlockModal(false)} />}\r\n {showEditModal && <EditPlanModal plan={plan} close={() => setShowEditModal(false)} />}\r\n {showLogsModal && <PlanLogs planId={id} planMethod={plan.method} sourceType={plan.sourceType} close={() => setShowLogsModal(false)} />}\r\n </div>\r\n );\r\n }\r\n};\r\n\r\nexport default PlanSingle;\r\n"],"names":["PlanSingle","showMoreOptions","setShowMoreOptions","useState","showIntegrityModal","setShowIntegrityModal","id","useParams","EditPlanModal","useComponentOverride","EditPlan","searchParams","useSearchParams","isBackupPending","isRestorePending","showDeleteModal","setShowDeleteModal","showEditModal","setShowEditModal","showPruneModal","setShowPruneModal","showLogsModal","setShowLogsModal","showUnlockModal","setShowUnlockModal","plan","isLoading","refetchPlan","activeBackups","activeRestores","lastBackupItem","taskPending","planError","actionInProgress","changeStatus","backupNow","usePlanSingleActions","errorStatusCode","jsx","NotFound","Icon","isActive","method","title","description","stats","settings","prune","snapshotsCount","_a","isSync","jsxs","classes","PageHeader","Fragment","PlanStats","PlanProgress","PlanBackups","PlanPruneModal","PlanIntegrity","_b","PlanRemoveModal","PlanUnlockModal","PlanLogs"],"mappings":"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"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
export declare function generateBackupDownload({ backupId }: {
|
|
1
|
+
export declare function generateBackupDownload({ backupId, replicationId }: {
|
|
2
2
|
backupId: string;
|
|
3
3
|
planId: string;
|
|
4
|
+
replicationId?: string;
|
|
4
5
|
}): Promise<any>;
|
|
5
6
|
export declare function useDownloadBackup(): import("@tanstack/react-query").UseMutationResult<any, Error, {
|
|
6
7
|
backupId: string;
|
|
7
8
|
planId: string;
|
|
9
|
+
replicationId?: string;
|
|
8
10
|
}, unknown>;
|
|
9
11
|
export declare function getBackupDownload(id: string): Promise<void>;
|
|
10
12
|
export declare function useGetBackupDownload(): import("@tanstack/react-query").UseMutationResult<void, Error, string, unknown>;
|
|
@@ -58,10 +60,21 @@ export declare function useUpdateBackup(): import("@tanstack/react-query").UseMu
|
|
|
58
60
|
description?: string;
|
|
59
61
|
};
|
|
60
62
|
}, unknown>;
|
|
61
|
-
export declare function getSnapshotFiles({ backupId }: {
|
|
63
|
+
export declare function getSnapshotFiles({ backupId, replicationId }: {
|
|
62
64
|
backupId: string;
|
|
65
|
+
replicationId?: string;
|
|
63
66
|
}): Promise<any>;
|
|
64
67
|
export declare function useGetSnapshotFiles(payload: {
|
|
65
68
|
backupId: string;
|
|
66
69
|
}): import("@tanstack/react-query").UseQueryResult<any, Error>;
|
|
70
|
+
export declare function retryFailedReplications({ backupId, replicationId }: {
|
|
71
|
+
backupId: string;
|
|
72
|
+
planId: string;
|
|
73
|
+
replicationId: string;
|
|
74
|
+
}): Promise<any>;
|
|
75
|
+
export declare function useRetryFailedReplications(): import("@tanstack/react-query").UseMutationResult<any, Error, {
|
|
76
|
+
backupId: string;
|
|
77
|
+
planId: string;
|
|
78
|
+
replicationId: string;
|
|
79
|
+
}, unknown>;
|
|
67
80
|
//# sourceMappingURL=backups.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backups.d.ts","sourceRoot":"","sources":["../../src/services/backups.ts"],"names":[],"mappings":"AAOA,wBAAsB,sBAAsB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"backups.d.ts","sourceRoot":"","sources":["../../src/services/backups.ts"],"names":[],"mappings":"AAOA,wBAAsB,sBAAsB,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,gBAWrI;AAED,wBAAgB,iBAAiB;cAbqD,MAAM;YAAU,MAAM;oBAAkB,MAAM;YAuBnI;AAGD,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,MAAM,iBAuCjD;AAED,wBAAgB,oBAAoB,oFAUnC;AAGD,wBAAsB,oBAAoB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,gBAY5F;AACD,wBAAgB,uBAAuB;cAb8B,MAAM;YAAU,MAAM;YAsB1F;AAGD,wBAAsB,YAAY,CAAC,EAAE,EAAE,MAAM,gBAY5C;AAED,wBAAgB,eAAe,mFAO9B;AAGD,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,gBASjJ;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,8DAiCjH;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,8DAOrH;AAGD,wBAAsB,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,gBAY5F;AACD,wBAAgB,eAAe;YAboC,MAAM;cAAY,MAAM;YAoB1F;AAGD,wBAAsB,YAAY,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,gBAe5I;AACD,wBAAgB,eAAe;cAhB6C,MAAM;mBAAiB;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE;YAuB1I;AAGD,wBAAsB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,gBAW/G;AACD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,8DAQhE;AAGD,wBAAsB,uBAAuB,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,gBAYrI;AAED,wBAAgB,0BAA0B;cAd6C,MAAM;YAAU,MAAM;mBAAiB,MAAM;YAuBnI"}
|