@plutonhq/core-frontend 0.1.23 → 0.1.25
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/index.js +4 -1
- package/dist-lib/@types/index.js.map +1 -1
- package/dist-lib/@types/settings.d.ts +14 -0
- package/dist-lib/@types/settings.d.ts.map +1 -1
- package/dist-lib/@types/settings.js +34 -0
- package/dist-lib/@types/settings.js.map +1 -0
- package/dist-lib/components/Plan/Backups/Backups.d.ts.map +1 -1
- package/dist-lib/components/Plan/Backups/Backups.js +189 -159
- package/dist-lib/components/Plan/Backups/Backups.js.map +1 -1
- package/dist-lib/components/Plan/PlanSettings/PlanNotificationSettings.d.ts.map +1 -1
- package/dist-lib/components/Plan/PlanSettings/PlanNotificationSettings.js +148 -90
- package/dist-lib/components/Plan/PlanSettings/PlanNotificationSettings.js.map +1 -1
- package/dist-lib/components/Plan/SnapshotViewer/SnapshotViewer.d.ts +32 -0
- package/dist-lib/components/Plan/SnapshotViewer/SnapshotViewer.d.ts.map +1 -0
- package/dist-lib/components/Plan/SnapshotViewer/SnapshotViewer.js +252 -0
- package/dist-lib/components/Plan/SnapshotViewer/SnapshotViewer.js.map +1 -0
- package/dist-lib/components/Plan/SnapshotViewer/SnapshotViewerFile.d.ts +23 -0
- package/dist-lib/components/Plan/SnapshotViewer/SnapshotViewerFile.d.ts.map +1 -0
- package/dist-lib/components/Plan/SnapshotViewer/SnapshotViewerFile.js +72 -0
- package/dist-lib/components/Plan/SnapshotViewer/SnapshotViewerFile.js.map +1 -0
- package/dist-lib/components/Restore/RestoreFileSelector/RestoreFileSelector.d.ts.map +1 -1
- package/dist-lib/components/Restore/RestoreFileSelector/RestoreFileSelector.js +188 -198
- package/dist-lib/components/Restore/RestoreFileSelector/RestoreFileSelector.js.map +1 -1
- package/dist-lib/components/Restore/RestoreFileSelector/RestoreFileSelector.module.scss.js +20 -64
- package/dist-lib/components/Restore/RestoreFileSelector/RestoreFileSelector.module.scss.js.map +1 -1
- package/dist-lib/components/Restore/RestoredFileBrowser/RestoredFileBrowser.d.ts.map +1 -1
- package/dist-lib/components/Restore/RestoredFileBrowser/RestoredFileBrowser.js +125 -159
- package/dist-lib/components/Restore/RestoredFileBrowser/RestoredFileBrowser.js.map +1 -1
- package/dist-lib/components/Settings/IntegrationSettings/IntegrationSettings.d.ts.map +1 -1
- package/dist-lib/components/Settings/IntegrationSettings/IntegrationSettings.js +52 -47
- package/dist-lib/components/Settings/IntegrationSettings/IntegrationSettings.js.map +1 -1
- package/dist-lib/components/Settings/IntegrationSettings/IntegrationSettings.module.scss.js +12 -6
- package/dist-lib/components/Settings/IntegrationSettings/IntegrationSettings.module.scss.js.map +1 -1
- package/dist-lib/components/Settings/IntegrationSettings/NtfySettings.d.ts +9 -0
- package/dist-lib/components/Settings/IntegrationSettings/NtfySettings.d.ts.map +1 -0
- package/dist-lib/components/Settings/IntegrationSettings/NtfySettings.js +79 -0
- package/dist-lib/components/Settings/IntegrationSettings/NtfySettings.js.map +1 -0
- package/dist-lib/components/Settings/IntegrationSettings/SMTPSettings.d.ts +4 -3
- package/dist-lib/components/Settings/IntegrationSettings/SMTPSettings.d.ts.map +1 -1
- package/dist-lib/components/Settings/IntegrationSettings/SMTPSettings.js +37 -35
- package/dist-lib/components/Settings/IntegrationSettings/SMTPSettings.js.map +1 -1
- package/dist-lib/components/Settings/IntegrationSettings/ValidateEmailIntegration.d.ts +10 -0
- package/dist-lib/components/Settings/IntegrationSettings/ValidateEmailIntegration.d.ts.map +1 -0
- package/dist-lib/components/Settings/IntegrationSettings/ValidateEmailIntegration.js +49 -0
- package/dist-lib/components/Settings/IntegrationSettings/ValidateEmailIntegration.js.map +1 -0
- package/dist-lib/components/Storage/EditStorage/EditStorage.js +10 -10
- package/dist-lib/components/Storage/EditStorage/EditStorage.js.map +1 -1
- package/dist-lib/components/common/SnapshotBrowser/SnapshotBrowser.module.scss.js +74 -0
- package/dist-lib/components/common/SnapshotBrowser/SnapshotBrowser.module.scss.js.map +1 -0
- package/dist-lib/components/common/SnapshotBrowser/SnapshotBrowserDirectories.d.ts +17 -0
- package/dist-lib/components/common/SnapshotBrowser/SnapshotBrowserDirectories.d.ts.map +1 -0
- package/dist-lib/components/common/SnapshotBrowser/SnapshotBrowserDirectories.js +57 -0
- package/dist-lib/components/common/SnapshotBrowser/SnapshotBrowserDirectories.js.map +1 -0
- package/dist-lib/components/common/SnapshotBrowser/SnapshotBrowserFileList.d.ts +18 -0
- package/dist-lib/components/common/SnapshotBrowser/SnapshotBrowserFileList.d.ts.map +1 -0
- package/dist-lib/components/common/SnapshotBrowser/SnapshotBrowserFileList.js +24 -0
- package/dist-lib/components/common/SnapshotBrowser/SnapshotBrowserFileList.js.map +1 -0
- package/dist-lib/components/common/SnapshotBrowser/SnapshotBrowserFileRow.d.ts +18 -0
- package/dist-lib/components/common/SnapshotBrowser/SnapshotBrowserFileRow.d.ts.map +1 -0
- package/dist-lib/components/common/SnapshotBrowser/SnapshotBrowserFileRow.js +37 -0
- package/dist-lib/components/common/SnapshotBrowser/SnapshotBrowserFileRow.js.map +1 -0
- package/dist-lib/components/common/SnapshotBrowser/SnapshotBrowserGoUpRow.d.ts +9 -0
- package/dist-lib/components/common/SnapshotBrowser/SnapshotBrowserGoUpRow.d.ts.map +1 -0
- package/dist-lib/components/common/SnapshotBrowser/SnapshotBrowserGoUpRow.js +15 -0
- package/dist-lib/components/common/SnapshotBrowser/SnapshotBrowserGoUpRow.js.map +1 -0
- package/dist-lib/components/common/SnapshotBrowser/SnapshotBrowserToolbar.d.ts +11 -0
- package/dist-lib/components/common/SnapshotBrowser/SnapshotBrowserToolbar.d.ts.map +1 -0
- package/dist-lib/components/common/SnapshotBrowser/SnapshotBrowserToolbar.js +18 -0
- package/dist-lib/components/common/SnapshotBrowser/SnapshotBrowserToolbar.js.map +1 -0
- package/dist-lib/components/common/SnapshotBrowser/hooks/useSnapshotDatabase.d.ts +12 -0
- package/dist-lib/components/common/SnapshotBrowser/hooks/useSnapshotDatabase.d.ts.map +1 -0
- package/dist-lib/components/common/SnapshotBrowser/hooks/useSnapshotDatabase.js +70 -0
- package/dist-lib/components/common/SnapshotBrowser/hooks/useSnapshotDatabase.js.map +1 -0
- package/dist-lib/components/common/SnapshotBrowser/hooks/useSnapshotNavigation.d.ts +22 -0
- package/dist-lib/components/common/SnapshotBrowser/hooks/useSnapshotNavigation.d.ts.map +1 -0
- package/dist-lib/components/common/SnapshotBrowser/hooks/useSnapshotNavigation.js +79 -0
- package/dist-lib/components/common/SnapshotBrowser/hooks/useSnapshotNavigation.js.map +1 -0
- package/dist-lib/components/common/SnapshotBrowser/hooks/useSnapshotSort.d.ts +6 -0
- package/dist-lib/components/common/SnapshotBrowser/hooks/useSnapshotSort.d.ts.map +1 -0
- package/dist-lib/components/common/SnapshotBrowser/hooks/useSnapshotSort.js +18 -0
- package/dist-lib/components/common/SnapshotBrowser/hooks/useSnapshotSort.js.map +1 -0
- package/dist-lib/components/common/SnapshotBrowser/index.d.ts +11 -0
- package/dist-lib/components/common/SnapshotBrowser/index.d.ts.map +1 -0
- package/dist-lib/components/index.d.ts +12 -0
- package/dist-lib/components/index.d.ts.map +1 -1
- package/dist-lib/components.js +152 -128
- package/dist-lib/components.js.map +1 -1
- package/dist-lib/hooks/usePlanSingleActions.d.ts.map +1 -1
- package/dist-lib/hooks/usePlanSingleActions.js +21 -21
- package/dist-lib/hooks/usePlanSingleActions.js.map +1 -1
- package/dist-lib/services/backups.d.ts +4 -0
- package/dist-lib/services/backups.d.ts.map +1 -1
- package/dist-lib/services/backups.js +34 -25
- package/dist-lib/services/backups.js.map +1 -1
- package/dist-lib/services/settings.d.ts +3 -2
- package/dist-lib/services/settings.d.ts.map +1 -1
- package/dist-lib/services/settings.js +0 -1
- package/dist-lib/services/settings.js.map +1 -1
- package/dist-lib/services.js +113 -112
- package/dist-lib/styles/core-frontend.css +1 -1
- package/dist-lib/utils/index.d.ts +1 -0
- package/dist-lib/utils/index.d.ts.map +1 -1
- package/dist-lib/utils/snapshotDatabase.d.ts +16 -0
- package/dist-lib/utils/snapshotDatabase.d.ts.map +1 -0
- package/dist-lib/utils/snapshotDatabase.js +105 -0
- package/dist-lib/utils/snapshotDatabase.js.map +1 -0
- package/dist-lib/utils.js +24 -22
- package/dist-lib/utils.js.map +1 -1
- package/package.json +1 -1
- package/src/@types/settings.ts +43 -0
- package/src/components/Plan/Backups/Backups.tsx +40 -1
- package/src/components/Plan/PlanSettings/PlanNotificationSettings.tsx +65 -0
- package/src/components/Plan/SnapshotViewer/SnapshotViewer.tsx +344 -0
- package/src/components/Plan/SnapshotViewer/SnapshotViewerFile.tsx +89 -0
- package/src/components/Restore/RestoreFileSelector/RestoreFileSelector.tsx +82 -145
- package/src/components/Restore/RestoredFileBrowser/RestoredFileBrowser.tsx +71 -156
- package/src/components/Settings/IntegrationSettings/IntegrationSettings.module.scss +16 -0
- package/src/components/Settings/IntegrationSettings/IntegrationSettings.tsx +45 -42
- package/src/components/Settings/IntegrationSettings/NtfySettings.tsx +106 -0
- package/src/components/Settings/IntegrationSettings/SMTPSettings.tsx +28 -19
- package/src/components/Settings/IntegrationSettings/ValidateEmailIntegration.tsx +58 -0
- package/src/components/Storage/EditStorage/EditStorage.tsx +1 -1
- package/src/components/common/SnapshotBrowser/SnapshotBrowser.module.scss +376 -0
- package/src/components/common/SnapshotBrowser/SnapshotBrowserDirectories.tsx +84 -0
- package/src/components/common/SnapshotBrowser/SnapshotBrowserFileList.tsx +52 -0
- package/src/components/common/SnapshotBrowser/SnapshotBrowserFileRow.tsx +44 -0
- package/src/components/common/SnapshotBrowser/SnapshotBrowserGoUpRow.tsx +22 -0
- package/src/components/common/SnapshotBrowser/SnapshotBrowserToolbar.tsx +29 -0
- package/src/components/common/SnapshotBrowser/hooks/useSnapshotDatabase.ts +130 -0
- package/src/components/common/SnapshotBrowser/hooks/useSnapshotNavigation.ts +154 -0
- package/src/components/common/SnapshotBrowser/hooks/useSnapshotSort.ts +24 -0
- package/src/components/common/SnapshotBrowser/index.ts +13 -0
- package/src/components/index.ts +15 -0
- package/src/hooks/usePlanSingleActions.tsx +5 -3
- package/src/services/backups.ts +12 -0
- package/src/services/settings.ts +2 -2
- package/src/utils/index.ts +1 -0
- package/src/utils/snapshotDatabase.ts +201 -0
- /package/dist-lib/providers/{azureBlob.png → azureblob.png} +0 -0
- /package/dist-lib/providers/{azureFiles.png → azurefiles.png} +0 -0
- /package/dist-lib/providers/{files.png → filescom.png} +0 -0
- /package/dist-lib/providers/{oracle.png → oracleobjectstorage.png} +0 -0
- /package/dist-lib/providers/{proton.png → protondrive.png} +0 -0
package/dist-lib/components.js
CHANGED
|
@@ -1,49 +1,49 @@
|
|
|
1
1
|
import { default as a } from "./components/App/App/App.js";
|
|
2
|
-
import { default as
|
|
3
|
-
import { default as
|
|
4
|
-
import { default as
|
|
2
|
+
import { default as r } from "./components/App/AppContent/AppContent.js";
|
|
3
|
+
import { default as s } from "./components/App/Footer/Footer.js";
|
|
4
|
+
import { default as p } from "./components/App/PageTitle/PageTitle.js";
|
|
5
5
|
import { default as u } from "./components/App/SideNav/SideNav.js";
|
|
6
6
|
import { default as x } from "./components/common/ActionModal/ActionModal.js";
|
|
7
7
|
import { default as n } from "./components/common/AnimatedWrapper/AnimatedWrapper.js";
|
|
8
8
|
import { default as g } from "./components/common/Button/Button.js";
|
|
9
|
-
import { default as
|
|
10
|
-
import { FileManager as
|
|
11
|
-
import { default as
|
|
9
|
+
import { default as P } from "./components/common/FileIcon/FileIcon.js";
|
|
10
|
+
import { FileManager as F } from "./components/common/FileManager/FileManager.js";
|
|
11
|
+
import { default as w } from "./components/common/FolderPicker/FolderPicker.js";
|
|
12
12
|
import { default as R } from "./components/common/Icon/Icon.js";
|
|
13
|
-
import { default as
|
|
13
|
+
import { default as T } from "./components/common/ItemsLayout/ItemsLayout.js";
|
|
14
14
|
import { default as B } from "./components/common/Logo/Logo.js";
|
|
15
|
-
import { default as
|
|
16
|
-
import { default as
|
|
17
|
-
import { default as
|
|
18
|
-
import { default as
|
|
15
|
+
import { default as A } from "./components/common/LogViewer/LogViewer.js";
|
|
16
|
+
import { default as b } from "./components/common/Modal/Modal.js";
|
|
17
|
+
import { default as L } from "./components/common/NotFound/NotFound.js";
|
|
18
|
+
import { default as V } from "./components/common/PageHeader/PageHeader.js";
|
|
19
19
|
import { default as G } from "./components/common/PathPicker/PathPicker.js";
|
|
20
|
-
import { default as
|
|
20
|
+
import { default as z } from "./components/common/SearchItems/SearchItems.js";
|
|
21
21
|
import { default as W } from "./components/common/SidePanel/SidePanel.js";
|
|
22
22
|
import { default as q } from "./components/common/SortItems/SortItems.js";
|
|
23
23
|
import { default as K } from "./components/common/StatusLabel/StatusLabel.js";
|
|
24
24
|
import { Tab as Q, TabList as X, TabPanel as Y, default as Z } from "./components/common/Tabs/Tabs.js";
|
|
25
25
|
import { default as $ } from "./components/common/TagsFilter/TagsFilter.js";
|
|
26
26
|
import { default as te } from "./components/common/form/FormField/FormField.js";
|
|
27
|
-
import { default as
|
|
27
|
+
import { default as oe } from "./components/common/form/Input/Input.js";
|
|
28
28
|
import { default as fe } from "./components/common/form/IntervalField/IntervalField.js";
|
|
29
|
-
import { default as
|
|
30
|
-
import { default as
|
|
29
|
+
import { default as le } from "./components/common/form/MultiSelect/MultiSelect.js";
|
|
30
|
+
import { default as de } from "./components/common/form/NumberInput/NumberInput.js";
|
|
31
31
|
import { default as me } from "./components/common/form/PasswordField/PasswordField.js";
|
|
32
32
|
import { default as ie } from "./components/common/form/RadioIconSelect/RadioIconSelect.js";
|
|
33
33
|
import { default as Se } from "./components/common/form/Select/Select.js";
|
|
34
|
-
import { default as
|
|
34
|
+
import { default as ce } from "./components/common/form/SizePicker/SizePicker.js";
|
|
35
35
|
import { default as ve } from "./components/common/form/StoragePicker/StoragePicker.js";
|
|
36
|
-
import { default as
|
|
36
|
+
import { default as Ie } from "./components/common/form/TagsInput/TagsInput.js";
|
|
37
37
|
import { default as De } from "./components/common/form/TimePicker/TimePicker.js";
|
|
38
|
-
import { default as
|
|
39
|
-
import { default as
|
|
40
|
-
import { default as
|
|
41
|
-
import { default as
|
|
42
|
-
import { default as
|
|
43
|
-
import { default as
|
|
44
|
-
import { default as
|
|
45
|
-
import { default as
|
|
46
|
-
import { default as
|
|
38
|
+
import { default as ke } from "./components/common/form/Toggle/Toggle.js";
|
|
39
|
+
import { default as he } from "./components/common/form/Tristate/Tristate.js";
|
|
40
|
+
import { default as Me } from "./components/Device/DeviceBackups/DeviceBackups.js";
|
|
41
|
+
import { default as Ne } from "./components/Device/DeviceCPU/DeviceCPU.js";
|
|
42
|
+
import { default as ye } from "./components/Device/DeviceInfo/DeviceInfo.js";
|
|
43
|
+
import { default as Ee } from "./components/Device/DeviceItem/DeviceItem.js";
|
|
44
|
+
import { default as Ce } from "./components/Device/DeviceMemory/DeviceMemory.js";
|
|
45
|
+
import { default as Ue } from "./components/Device/DeviceNetworks/DeviceNetworks.js";
|
|
46
|
+
import { default as He } from "./components/Device/DeviceRcloneSettings/DeviceRcloneSettings.js";
|
|
47
47
|
import { default as je } from "./components/Device/DeviceResticSettings/DeviceResticSettings.js";
|
|
48
48
|
import { default as Je } from "./components/Device/DeviceStorageDisks/DeviceStorageDisks.js";
|
|
49
49
|
import { default as Oe } from "./components/Device/DeviceStorageDrives/DeviceStorageDrives.js";
|
|
@@ -51,162 +51,186 @@ import { default as Xe } from "./components/Device/DeviceSystem/DeviceSystem.js"
|
|
|
51
51
|
import { default as Ze } from "./components/Device/EditDevice/EditDevice.js";
|
|
52
52
|
import { default as $e } from "./components/Plan/AddPlan/AddPlan.js";
|
|
53
53
|
import { default as tt } from "./components/Plan/BackupEvents/BackupEvents.js";
|
|
54
|
-
import { default as
|
|
54
|
+
import { default as ot } from "./components/Plan/BackupProgress/BackupProgress.js";
|
|
55
55
|
import { default as ft } from "./components/Plan/Backups/Backups.js";
|
|
56
|
-
import { default as
|
|
57
|
-
import { default as
|
|
56
|
+
import { default as lt } from "./components/Plan/EditPlan/EditPlan.js";
|
|
57
|
+
import { default as dt } from "./components/Plan/PlanBackups/PlanBackups.js";
|
|
58
58
|
import { default as mt } from "./components/Plan/PlanForm/PlanForm.js";
|
|
59
59
|
import { default as it } from "./components/Plan/PlanForm/PlanFormNav.js";
|
|
60
60
|
import { default as St } from "./components/Plan/PlanHistory/PlanHistory.js";
|
|
61
|
-
import { default as
|
|
61
|
+
import { default as ct } from "./components/Plan/PlanItems/PlanItem.js";
|
|
62
62
|
import { default as vt } from "./components/Plan/PlanLogs/PlanLogs.js";
|
|
63
|
-
import { default as
|
|
63
|
+
import { default as It } from "./components/Plan/PlanPendingBackup/PlanPendingBackup.js";
|
|
64
64
|
import { default as Dt } from "./components/Plan/PlanProgress/PlanProgress.js";
|
|
65
|
-
import { default as
|
|
66
|
-
import { default as
|
|
67
|
-
import { default as
|
|
68
|
-
import { default as
|
|
69
|
-
import { default as
|
|
70
|
-
import { default as
|
|
71
|
-
import { default as
|
|
72
|
-
import { default as
|
|
73
|
-
import { default as
|
|
65
|
+
import { default as kt } from "./components/Plan/PlanPruneModal/PlanPruneModal.js";
|
|
66
|
+
import { default as ht } from "./components/Plan/PlanRemoveModal/PlanRemoveModal.js";
|
|
67
|
+
import { default as Mt } from "./components/Plan/PlanSettings/PlanAdvancedSettings.js";
|
|
68
|
+
import { default as Nt } from "./components/Plan/PlanSettings/PlanGeneralSettings.js";
|
|
69
|
+
import { default as yt } from "./components/Plan/PlanSettings/PlanNotificationSettings.js";
|
|
70
|
+
import { default as Et } from "./components/Plan/PlanSettings/PlanNotificationSettingsTester.js";
|
|
71
|
+
import { default as Ct } from "./components/Plan/PlanSettings/PlanPerformanceSettings.js";
|
|
72
|
+
import { default as Ut } from "./components/Plan/PlanSettings/PlanPruneSettings.js";
|
|
73
|
+
import { default as Ht } from "./components/Plan/PlanSettings/PlanScriptsSettings.js";
|
|
74
74
|
import { default as jt } from "./components/Plan/PlanSettings/PlanSourceSettings.js";
|
|
75
75
|
import { default as Jt } from "./components/Plan/PlanSettings/PlanStrategySettings.js";
|
|
76
76
|
import { default as Ot } from "./components/Plan/PlanSettings/PlanTypeSettings.js";
|
|
77
77
|
import { default as Xt } from "./components/Plan/PlanStats/PlanStats.js";
|
|
78
78
|
import { default as Zt } from "./components/Plan/PlanUnlockModal/PlanUnlockModal.js";
|
|
79
79
|
import { default as $t } from "./components/Plan/PlanIntegrity/PlanIntegrity.js";
|
|
80
|
-
import { default as ta } from "./components/Plan/
|
|
81
|
-
import { default as
|
|
82
|
-
import { default as fa } from "./components/Plan/Mirrors/
|
|
83
|
-
import { default as
|
|
84
|
-
import { default as
|
|
85
|
-
import { default as ma } from "./components/
|
|
86
|
-
import { default as ia } from "./components/
|
|
87
|
-
import { default as Sa } from "./components/Restore/
|
|
88
|
-
import { default as
|
|
89
|
-
import { default as va } from "./components/Restore/
|
|
90
|
-
import { default as
|
|
91
|
-
import { default as Da } from "./components/Restore/RestoreWizard/
|
|
92
|
-
import { default as
|
|
93
|
-
import { default as
|
|
94
|
-
import { default as
|
|
95
|
-
import { default as
|
|
96
|
-
import { default as
|
|
97
|
-
import { default as
|
|
98
|
-
import { default as
|
|
99
|
-
import { default as
|
|
100
|
-
import { default as
|
|
101
|
-
import { default as ja } from "./components/
|
|
102
|
-
import { default as Ja } from "./components/
|
|
103
|
-
import { default as Oa } from "./components/Storage/
|
|
80
|
+
import { default as ta } from "./components/Plan/SnapshotViewer/SnapshotViewer.js";
|
|
81
|
+
import { default as oa } from "./components/Plan/SnapshotViewer/SnapshotViewerFile.js";
|
|
82
|
+
import { default as fa } from "./components/Plan/Mirrors/MirrorStatusBadge.js";
|
|
83
|
+
import { default as la } from "./components/Plan/Mirrors/MirrorStorageSelector.js";
|
|
84
|
+
import { default as da } from "./components/Plan/Mirrors/MirrorStorageSelectorModal.js";
|
|
85
|
+
import { default as ma } from "./components/Plan/PlanSettings/PlanReplicationSettings.js";
|
|
86
|
+
import { default as ia } from "./components/Plan/Restores/Restores.js";
|
|
87
|
+
import { default as Sa } from "./components/Restore/RestoreChangeViewer/RestoreChangeViewer.js";
|
|
88
|
+
import { default as ca } from "./components/Restore/RestoredFileBrowser/RestoredFileBrowser.js";
|
|
89
|
+
import { default as va } from "./components/Restore/RestoreFileSelector/RestoreFileSelector.js";
|
|
90
|
+
import { default as Ia } from "./components/Restore/RestoreWizard/RestoreConfirmStep.js";
|
|
91
|
+
import { default as Da } from "./components/Restore/RestoreWizard/RestoreFileSelectorStep.js";
|
|
92
|
+
import { default as ka } from "./components/Restore/RestoreWizard/RestorePreviewStep.js";
|
|
93
|
+
import { default as ha } from "./components/Restore/RestoreWizard/RestoreSettingsStep.js";
|
|
94
|
+
import { default as Ma } from "./components/Restore/RestoreWizard/RestoreWizard.js";
|
|
95
|
+
import { default as Na } from "./components/Settings/AppLogs/AppLogs.js";
|
|
96
|
+
import { default as ya } from "./components/Settings/GeneralSettings/GeneralSettings.js";
|
|
97
|
+
import { default as Ea } from "./components/Settings/IntegrationSettings/IntegrationSettings.js";
|
|
98
|
+
import { default as Ca } from "./components/Settings/IntegrationSettings/SMTPSettings.js";
|
|
99
|
+
import { default as Ua } from "./components/Settings/IntegrationSettings/NtfySettings.js";
|
|
100
|
+
import { default as Ha } from "./components/Settings/IntegrationSettings/ValidateEmailIntegration.js";
|
|
101
|
+
import { default as ja } from "./components/Settings/TwoFactorSetup/TwoFactorSetup.js";
|
|
102
|
+
import { default as Ja } from "./components/Skeleton/SkeletonItems.js";
|
|
103
|
+
import { default as Oa } from "./components/Storage/AddStorage/AddStorage.js";
|
|
104
|
+
import { default as Xa } from "./components/Storage/EditStorage/EditStorage.js";
|
|
105
|
+
import { default as Za } from "./components/Storage/StorageAuthSettings/StorageAuthSettings.js";
|
|
106
|
+
import { default as $a } from "./components/Storage/StorageItem/StorageItem.js";
|
|
107
|
+
import { default as to } from "./components/Storage/StorageSettings/StorageSettings.js";
|
|
108
|
+
import { default as oo } from "./components/common/SnapshotBrowser/SnapshotBrowserToolbar.js";
|
|
109
|
+
import { default as fo } from "./components/common/SnapshotBrowser/SnapshotBrowserDirectories.js";
|
|
110
|
+
import { default as lo } from "./components/common/SnapshotBrowser/SnapshotBrowserFileList.js";
|
|
111
|
+
import { default as uo } from "./components/common/SnapshotBrowser/SnapshotBrowserFileRow.js";
|
|
112
|
+
import { default as xo } from "./components/common/SnapshotBrowser/SnapshotBrowserGoUpRow.js";
|
|
113
|
+
import { useSnapshotSort as no } from "./components/common/SnapshotBrowser/hooks/useSnapshotSort.js";
|
|
114
|
+
import { useSnapshotNavigation as go } from "./components/common/SnapshotBrowser/hooks/useSnapshotNavigation.js";
|
|
115
|
+
import { useSnapshotDatabase as Po } from "./components/common/SnapshotBrowser/hooks/useSnapshotDatabase.js";
|
|
104
116
|
export {
|
|
105
117
|
x as ActionModal,
|
|
106
118
|
$e as AddPlan,
|
|
107
|
-
|
|
119
|
+
Oa as AddStorage,
|
|
108
120
|
n as AnimatedWrapper,
|
|
109
121
|
a as App,
|
|
110
|
-
|
|
111
|
-
|
|
122
|
+
r as AppContent,
|
|
123
|
+
Na as AppLogs,
|
|
112
124
|
tt as BackupEvents,
|
|
113
|
-
|
|
125
|
+
ot as BackupProgress,
|
|
114
126
|
ft as Backups,
|
|
115
127
|
g as Button,
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
128
|
+
Me as DeviceBackups,
|
|
129
|
+
Ne as DeviceCPU,
|
|
130
|
+
ye as DeviceInfo,
|
|
131
|
+
Ee as DeviceItem,
|
|
132
|
+
Ce as DeviceMemory,
|
|
133
|
+
Ue as DeviceNetworks,
|
|
134
|
+
He as DeviceRcloneSettings,
|
|
123
135
|
je as DeviceResticSettings,
|
|
124
136
|
Je as DeviceStorageDisks,
|
|
125
137
|
Oe as DeviceStorageDrives,
|
|
126
138
|
Xe as DeviceSystem,
|
|
127
139
|
Ze as EditDevice,
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
140
|
+
lt as EditPlan,
|
|
141
|
+
Xa as EditStorage,
|
|
142
|
+
P as FileIcon,
|
|
143
|
+
F as FileManager,
|
|
144
|
+
w as FolderPicker,
|
|
145
|
+
s as Footer,
|
|
134
146
|
te as FormField,
|
|
135
|
-
|
|
147
|
+
ya as GeneralSettings,
|
|
136
148
|
R as Icon,
|
|
137
|
-
|
|
138
|
-
|
|
149
|
+
oe as Input,
|
|
150
|
+
Ea as IntegrationSettings,
|
|
139
151
|
fe as IntervalField,
|
|
140
|
-
|
|
141
|
-
|
|
152
|
+
T as ItemsLayout,
|
|
153
|
+
A as LogViewer,
|
|
142
154
|
B as Logo,
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
155
|
+
fa as MirrorStatusBadge,
|
|
156
|
+
la as MirrorStorageSelector,
|
|
157
|
+
da as MirrorStorageSelectorModal,
|
|
158
|
+
b as Modal,
|
|
159
|
+
le as MultiSelect,
|
|
160
|
+
L as NotFound,
|
|
161
|
+
Ua as NtfySettings,
|
|
162
|
+
de as NumberInput,
|
|
163
|
+
V as PageHeader,
|
|
164
|
+
p as PageTitle,
|
|
152
165
|
me as PasswordField,
|
|
153
166
|
G as PathPicker,
|
|
154
|
-
|
|
155
|
-
|
|
167
|
+
Mt as PlanAdvancedSettings,
|
|
168
|
+
dt as PlanBackups,
|
|
156
169
|
mt as PlanForm,
|
|
157
170
|
it as PlanFormNav,
|
|
158
|
-
|
|
171
|
+
Nt as PlanGeneralSettings,
|
|
159
172
|
St as PlanHistory,
|
|
160
173
|
$t as PlanIntegrity,
|
|
161
|
-
|
|
174
|
+
ct as PlanItem,
|
|
162
175
|
vt as PlanLogs,
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
176
|
+
yt as PlanNotificationSettings,
|
|
177
|
+
Et as PlanNotificationSettingsTester,
|
|
178
|
+
It as PlanPendingBackup,
|
|
179
|
+
Ct as PlanPerformanceSettings,
|
|
167
180
|
Dt as PlanProgress,
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
181
|
+
kt as PlanPruneModal,
|
|
182
|
+
Ut as PlanPruneSettings,
|
|
183
|
+
ht as PlanRemoveModal,
|
|
184
|
+
ma as PlanReplicationSettings,
|
|
185
|
+
ia as PlanRestores,
|
|
186
|
+
Ht as PlanScriptsSettings,
|
|
174
187
|
jt as PlanSourceSettings,
|
|
175
188
|
Xt as PlanStats,
|
|
176
189
|
Jt as PlanStrategySettings,
|
|
177
190
|
Ot as PlanTypeSettings,
|
|
178
191
|
Zt as PlanUnlockModal,
|
|
179
192
|
ie as RadioIconSelect,
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
193
|
+
Sa as RestoreChangeViewer,
|
|
194
|
+
Ia as RestoreConfirmStep,
|
|
195
|
+
va as RestoreFileSelector,
|
|
196
|
+
Da as RestoreFileSelectorStep,
|
|
197
|
+
ka as RestorePreviewStep,
|
|
198
|
+
ha as RestoreSettingsStep,
|
|
199
|
+
Ma as RestoreWizard,
|
|
200
|
+
ca as RestoredFileBrowser,
|
|
201
|
+
Ca as SMTPSettings,
|
|
202
|
+
z as SearchItems,
|
|
190
203
|
Se as Select,
|
|
191
204
|
u as SideNav,
|
|
192
205
|
W as SidePanel,
|
|
193
|
-
|
|
194
|
-
|
|
206
|
+
ce as SizePicker,
|
|
207
|
+
Ja as SkeletonItems,
|
|
208
|
+
fo as SnapshotBrowserDirectories,
|
|
209
|
+
lo as SnapshotBrowserFileList,
|
|
210
|
+
uo as SnapshotBrowserFileRow,
|
|
211
|
+
xo as SnapshotBrowserGoUpRow,
|
|
212
|
+
oo as SnapshotBrowserToolbar,
|
|
213
|
+
ta as SnapshotViewer,
|
|
214
|
+
oa as SnapshotViewerFile,
|
|
195
215
|
q as SortItems,
|
|
196
216
|
K as StatusLabel,
|
|
197
|
-
|
|
198
|
-
|
|
217
|
+
Za as StorageAuthSettings,
|
|
218
|
+
$a as StorageItem,
|
|
199
219
|
ve as StoragePicker,
|
|
200
|
-
|
|
220
|
+
to as StorageSettings,
|
|
201
221
|
Q as Tab,
|
|
202
222
|
X as TabList,
|
|
203
223
|
Y as TabPanel,
|
|
204
224
|
Z as Tabs,
|
|
205
225
|
$ as TagsFilter,
|
|
206
|
-
|
|
226
|
+
Ie as TagsInput,
|
|
207
227
|
De as TimePicker,
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
228
|
+
ke as Toggle,
|
|
229
|
+
he as Tristate,
|
|
230
|
+
ja as TwoFactorSetup,
|
|
231
|
+
Ha as ValidateEmailIntegration,
|
|
232
|
+
Po as useSnapshotDatabase,
|
|
233
|
+
go as useSnapshotNavigation,
|
|
234
|
+
no as useSnapshotSort
|
|
211
235
|
};
|
|
212
236
|
//# sourceMappingURL=components.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"components.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePlanSingleActions.d.ts","sourceRoot":"","sources":["../../src/hooks/usePlanSingleActions.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,eAAO,MAAM,oBAAoB,QAAO;IACrC,eAAe,EAAE,OAAO,CAAC;IACzB,kBAAkB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,cAAc,EAAE,OAAO,CAAC;IACxB,iBAAiB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,eAAe,EAAE,OAAO,CAAC;IACzB,kBAAkB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,EAAE,WAAW,EAAE,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,GAAG,CAAC;IACf,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"usePlanSingleActions.d.ts","sourceRoot":"","sources":["../../src/hooks/usePlanSingleActions.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,eAAO,MAAM,oBAAoB,QAAO;IACrC,eAAe,EAAE,OAAO,CAAC;IACzB,kBAAkB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,cAAc,EAAE,OAAO,CAAC;IACxB,iBAAiB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,eAAe,EAAE,OAAO,CAAC;IACzB,kBAAkB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,EAAE,WAAW,EAAE,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,GAAG,CAAC;IACf,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,IAAI,CAAC;CA0HxB,CAAC"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { useState as o } from "react";
|
|
2
2
|
import { useParams as U, useNavigate as C } from "react-router";
|
|
3
|
-
import { toast as
|
|
3
|
+
import { toast as t } from "react-toastify";
|
|
4
4
|
import { usePerformBackup as I, usePausePlan as N, useResumePlan as D, useGetPlan as F } from "../services/plans.js";
|
|
5
5
|
const J = () => {
|
|
6
|
-
const [
|
|
6
|
+
const [f, m] = o(!1), [k, h] = o(!1), [w, S] = o(!1), [B, M] = o(!1), [y, E] = o(!1), { id: b } = U(), R = C(), l = I(), p = N(), d = D(), { data: a, isLoading: $, refetch: v, error: A } = F(b), s = (a == null ? void 0 : a.result) || {}, r = s.method === "sync", c = [...s.backups || []].sort((e, n) => n.started - e.started), i = c.filter((e) => e.inProgress), g = (s.restores || []).filter((e) => e.status === "started"), L = c[0], P = i.length > 0 || g.length > 0, u = p.isPending || d.isPending || l.isPending;
|
|
7
7
|
return {
|
|
8
8
|
// State
|
|
9
|
-
showDeleteModal:
|
|
10
|
-
setShowDeleteModal:
|
|
9
|
+
showDeleteModal: f,
|
|
10
|
+
setShowDeleteModal: m,
|
|
11
11
|
showEditModal: k,
|
|
12
12
|
setShowEditModal: h,
|
|
13
13
|
showPruneModal: B,
|
|
@@ -18,20 +18,20 @@ const J = () => {
|
|
|
18
18
|
setShowUnlockModal: S,
|
|
19
19
|
// Data
|
|
20
20
|
plan: s,
|
|
21
|
-
isLoading:
|
|
21
|
+
isLoading: $,
|
|
22
22
|
refetchPlan: v,
|
|
23
23
|
sortedHistory: c,
|
|
24
|
-
activeBackups:
|
|
24
|
+
activeBackups: i,
|
|
25
25
|
activeRestores: g,
|
|
26
26
|
lastBackupItem: L,
|
|
27
27
|
actionInProgress: P,
|
|
28
|
-
taskPending:
|
|
28
|
+
taskPending: u,
|
|
29
29
|
planError: A,
|
|
30
30
|
// Actions
|
|
31
31
|
changeStatus: () => {
|
|
32
|
-
if (
|
|
33
|
-
return
|
|
34
|
-
s.inProgress ||
|
|
32
|
+
if (i.length > 0)
|
|
33
|
+
return t.error("Can't pause a Plan while a Backup is in progress.");
|
|
34
|
+
s.inProgress || u || (s.isActive ? t.promise(p.mutateAsync(s.id), {
|
|
35
35
|
pending: "Pausing backup Plan...",
|
|
36
36
|
success: "Backup Plan Paused",
|
|
37
37
|
error: {
|
|
@@ -39,7 +39,7 @@ const J = () => {
|
|
|
39
39
|
return `Failed to Pause Backup Plan. ${(e == null ? void 0 : e.message) || "Unknown Error."}`;
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
|
-
}) :
|
|
42
|
+
}) : t.promise(d.mutateAsync(s.id), {
|
|
43
43
|
pending: "Resuming backup Plan...",
|
|
44
44
|
success: "Backup Plan Resumed",
|
|
45
45
|
error: {
|
|
@@ -51,22 +51,22 @@ const J = () => {
|
|
|
51
51
|
},
|
|
52
52
|
backupNow: () => {
|
|
53
53
|
if (P)
|
|
54
|
-
return
|
|
55
|
-
if (
|
|
54
|
+
return t.error("A Backup/Restore Process is in Progress.");
|
|
55
|
+
if (u)
|
|
56
56
|
return;
|
|
57
|
-
const e =
|
|
57
|
+
const e = t.loading(`Starting ${r ? "Sync" : "Backup"}...`);
|
|
58
58
|
l.mutate(s.id, {
|
|
59
|
-
onSuccess: () => {
|
|
60
|
-
|
|
61
|
-
render:
|
|
59
|
+
onSuccess: (n) => {
|
|
60
|
+
t.update(e, {
|
|
61
|
+
render: r ? (n == null ? void 0 : n.message) || "Sync initiated successfully! 🚀" : "Backup initiated successfully! 🚀",
|
|
62
62
|
type: "success",
|
|
63
63
|
isLoading: !1,
|
|
64
64
|
autoClose: 3e3
|
|
65
|
-
}),
|
|
65
|
+
}), r || R(`/plan/${s.id}?pendingbackup=1`);
|
|
66
66
|
},
|
|
67
|
-
onError: (
|
|
68
|
-
|
|
69
|
-
render: `${r ? "Sync" : "Backup"} failed to start. ${(
|
|
67
|
+
onError: (n) => {
|
|
68
|
+
t.update(e, {
|
|
69
|
+
render: `${r ? "Sync" : "Backup"} failed to start. ${(n == null ? void 0 : n.message) || "Unknown Error."}`,
|
|
70
70
|
type: "error",
|
|
71
71
|
isLoading: !1,
|
|
72
72
|
autoClose: !1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePlanSingleActions.js","sources":["../../src/hooks/usePlanSingleActions.tsx"],"sourcesContent":["import { useState } from 'react';\r\nimport { useNavigate, useParams } from 'react-router';\r\nimport { toast } from 'react-toastify';\r\nimport { useGetPlan, usePausePlan, usePerformBackup, useResumePlan } from '../services/plans';\r\nimport { Plan } from '../@types/plans';\r\nimport { Backup } from '../@types/backups';\r\nimport { RestoreSlim } from '../@types/restores';\r\n\r\nexport const usePlanSingleActions = (): {\r\n showDeleteModal: boolean;\r\n setShowDeleteModal: (show: boolean) => void;\r\n showEditModal: boolean;\r\n setShowEditModal: (show: boolean) => void;\r\n showPruneModal: boolean;\r\n setShowPruneModal: (show: boolean) => void;\r\n showLogsModal: boolean;\r\n setShowLogsModal: (show: boolean) => void;\r\n showUnlockModal: boolean;\r\n setShowUnlockModal: (show: boolean) => void;\r\n plan: Plan;\r\n isLoading: boolean;\r\n refetchPlan: () => void;\r\n sortedHistory: Backup[];\r\n activeBackups: Backup[];\r\n activeRestores: RestoreSlim[];\r\n lastBackupItem: Backup;\r\n actionInProgress: boolean;\r\n taskPending: boolean;\r\n planError: any;\r\n changeStatus: () => void;\r\n backupNow: () => void;\r\n} => {\r\n const [showDeleteModal, setShowDeleteModal] = useState(false);\r\n const [showEditModal, setShowEditModal] = useState(false);\r\n const [showUnlockModal, setShowUnlockModal] = useState(false);\r\n const [showPruneModal, setShowPruneModal] = useState(false);\r\n const [showLogsModal, setShowLogsModal] = useState(false);\r\n\r\n const { id } = useParams();\r\n const navigate = useNavigate();\r\n\r\n const performBackupMutation = usePerformBackup();\r\n const pauseMutation = usePausePlan();\r\n const resumeMutation = useResumePlan();\r\n\r\n const { data, isLoading, refetch: refetchPlan, error: planError } = useGetPlan(id as string);\r\n const plan: Plan = data?.result || {};\r\n\r\n const isSync = plan.method === 'sync';\r\n\r\n const sortedHistory = [...(plan.backups || [])].sort((a, b) => b.started - a.started);\r\n const activeBackups = sortedHistory.filter((s) => s.inProgress);\r\n const activeRestores = (plan.restores || []).filter((s) => s.status === 'started');\r\n const lastBackupItem = sortedHistory[0];\r\n const actionInProgress = activeBackups.length > 0 || activeRestores.length > 0;\r\n const taskPending = pauseMutation.isPending || resumeMutation.isPending || performBackupMutation.isPending;\r\n\r\n const changeStatus = () => {\r\n if (activeBackups.length > 0) {\r\n return toast.error(`Can't pause a Plan while a Backup is in progress.`);\r\n }\r\n if (plan.inProgress || taskPending) {\r\n return;\r\n }\r\n // isActive, set it to false, else true\r\n // When the action is being performed, the item should grey out and stay inaccessible.\r\n if (plan.isActive) {\r\n toast.promise(pauseMutation.mutateAsync(plan.id), {\r\n pending: 'Pausing backup Plan...',\r\n success: 'Backup Plan Paused',\r\n error: {\r\n render({ data }: any) {\r\n return `Failed to Pause Backup Plan. ${data?.message || 'Unknown Error.'}`;\r\n },\r\n },\r\n });\r\n } else {\r\n toast.promise(resumeMutation.mutateAsync(plan.id), {\r\n pending: 'Resuming backup Plan...',\r\n success: 'Backup Plan Resumed',\r\n error: {\r\n render({ data }: any) {\r\n return `Failed to Resume Backup Plan. ${data?.message || 'Unknown Error.'}`;\r\n },\r\n },\r\n });\r\n }\r\n };\r\n\r\n const backupNow = () => {\r\n if (actionInProgress) {\r\n return toast.error('A Backup/Restore Process is in Progress.');\r\n }\r\n if (taskPending) {\r\n return;\r\n }\r\n\r\n const toastId = toast.loading(`Starting ${isSync ? 'Sync' : 'Backup'}...`);\r\n\r\n performBackupMutation.mutate(plan.id, {\r\n onSuccess: () => {\r\n toast.update(toastId, {\r\n render:
|
|
1
|
+
{"version":3,"file":"usePlanSingleActions.js","sources":["../../src/hooks/usePlanSingleActions.tsx"],"sourcesContent":["import { useState } from 'react';\r\nimport { useNavigate, useParams } from 'react-router';\r\nimport { toast } from 'react-toastify';\r\nimport { useGetPlan, usePausePlan, usePerformBackup, useResumePlan } from '../services/plans';\r\nimport { Plan } from '../@types/plans';\r\nimport { Backup } from '../@types/backups';\r\nimport { RestoreSlim } from '../@types/restores';\r\n\r\nexport const usePlanSingleActions = (): {\r\n showDeleteModal: boolean;\r\n setShowDeleteModal: (show: boolean) => void;\r\n showEditModal: boolean;\r\n setShowEditModal: (show: boolean) => void;\r\n showPruneModal: boolean;\r\n setShowPruneModal: (show: boolean) => void;\r\n showLogsModal: boolean;\r\n setShowLogsModal: (show: boolean) => void;\r\n showUnlockModal: boolean;\r\n setShowUnlockModal: (show: boolean) => void;\r\n plan: Plan;\r\n isLoading: boolean;\r\n refetchPlan: () => void;\r\n sortedHistory: Backup[];\r\n activeBackups: Backup[];\r\n activeRestores: RestoreSlim[];\r\n lastBackupItem: Backup;\r\n actionInProgress: boolean;\r\n taskPending: boolean;\r\n planError: any;\r\n changeStatus: () => void;\r\n backupNow: () => void;\r\n} => {\r\n const [showDeleteModal, setShowDeleteModal] = useState(false);\r\n const [showEditModal, setShowEditModal] = useState(false);\r\n const [showUnlockModal, setShowUnlockModal] = useState(false);\r\n const [showPruneModal, setShowPruneModal] = useState(false);\r\n const [showLogsModal, setShowLogsModal] = useState(false);\r\n\r\n const { id } = useParams();\r\n const navigate = useNavigate();\r\n\r\n const performBackupMutation = usePerformBackup();\r\n const pauseMutation = usePausePlan();\r\n const resumeMutation = useResumePlan();\r\n\r\n const { data, isLoading, refetch: refetchPlan, error: planError } = useGetPlan(id as string);\r\n const plan: Plan = data?.result || {};\r\n\r\n const isSync = plan.method === 'sync';\r\n\r\n const sortedHistory = [...(plan.backups || [])].sort((a, b) => b.started - a.started);\r\n const activeBackups = sortedHistory.filter((s) => s.inProgress);\r\n const activeRestores = (plan.restores || []).filter((s) => s.status === 'started');\r\n const lastBackupItem = sortedHistory[0];\r\n const actionInProgress = activeBackups.length > 0 || activeRestores.length > 0;\r\n const taskPending = pauseMutation.isPending || resumeMutation.isPending || performBackupMutation.isPending;\r\n\r\n const changeStatus = () => {\r\n if (activeBackups.length > 0) {\r\n return toast.error(`Can't pause a Plan while a Backup is in progress.`);\r\n }\r\n if (plan.inProgress || taskPending) {\r\n return;\r\n }\r\n // isActive, set it to false, else true\r\n // When the action is being performed, the item should grey out and stay inaccessible.\r\n if (plan.isActive) {\r\n toast.promise(pauseMutation.mutateAsync(plan.id), {\r\n pending: 'Pausing backup Plan...',\r\n success: 'Backup Plan Paused',\r\n error: {\r\n render({ data }: any) {\r\n return `Failed to Pause Backup Plan. ${data?.message || 'Unknown Error.'}`;\r\n },\r\n },\r\n });\r\n } else {\r\n toast.promise(resumeMutation.mutateAsync(plan.id), {\r\n pending: 'Resuming backup Plan...',\r\n success: 'Backup Plan Resumed',\r\n error: {\r\n render({ data }: any) {\r\n return `Failed to Resume Backup Plan. ${data?.message || 'Unknown Error.'}`;\r\n },\r\n },\r\n });\r\n }\r\n };\r\n\r\n const backupNow = () => {\r\n if (actionInProgress) {\r\n return toast.error('A Backup/Restore Process is in Progress.');\r\n }\r\n if (taskPending) {\r\n return;\r\n }\r\n\r\n const toastId = toast.loading(`Starting ${isSync ? 'Sync' : 'Backup'}...`);\r\n\r\n performBackupMutation.mutate(plan.id, {\r\n onSuccess: (data) => {\r\n toast.update(toastId, {\r\n render: isSync ? data?.message || 'Sync initiated successfully! 🚀' : 'Backup initiated successfully! 🚀',\r\n type: 'success',\r\n isLoading: false,\r\n autoClose: 3000,\r\n });\r\n if (!isSync) {\r\n navigate(`/plan/${plan.id}?pendingbackup=1`);\r\n }\r\n },\r\n onError: (error: any) => {\r\n toast.update(toastId, {\r\n render: `${isSync ? 'Sync' : 'Backup'} failed to start. ${error?.message || 'Unknown Error.'}`,\r\n type: 'error',\r\n isLoading: false,\r\n autoClose: false,\r\n closeButton: true,\r\n });\r\n },\r\n });\r\n };\r\n\r\n return {\r\n // State\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 // Data\r\n plan,\r\n isLoading,\r\n refetchPlan,\r\n sortedHistory,\r\n activeBackups,\r\n activeRestores,\r\n lastBackupItem,\r\n actionInProgress,\r\n taskPending,\r\n planError,\r\n\r\n // Actions\r\n changeStatus,\r\n backupNow,\r\n };\r\n};\r\n"],"names":["usePlanSingleActions","showDeleteModal","setShowDeleteModal","useState","showEditModal","setShowEditModal","showUnlockModal","setShowUnlockModal","showPruneModal","setShowPruneModal","showLogsModal","setShowLogsModal","id","useParams","navigate","useNavigate","performBackupMutation","usePerformBackup","pauseMutation","usePausePlan","resumeMutation","useResumePlan","data","isLoading","refetchPlan","planError","useGetPlan","plan","isSync","sortedHistory","a","b","activeBackups","s","activeRestores","lastBackupItem","actionInProgress","taskPending","toast","toastId","error"],"mappings":"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"}
|
|
@@ -67,6 +67,10 @@ export declare function getSnapshotFiles({ backupId, replicationId }: {
|
|
|
67
67
|
export declare function useGetSnapshotFiles(payload: {
|
|
68
68
|
backupId: string;
|
|
69
69
|
}): import("@tanstack/react-query").UseQueryResult<any, Error>;
|
|
70
|
+
export declare function useBrowseSnapshot(): import("@tanstack/react-query").UseMutationResult<any, Error, {
|
|
71
|
+
backupId: string;
|
|
72
|
+
replicationId?: string;
|
|
73
|
+
}, unknown>;
|
|
70
74
|
export declare function retryFailedReplications({ backupId, replicationId }: {
|
|
71
75
|
backupId: string;
|
|
72
76
|
planId: string;
|
|
@@ -1 +1 @@
|
|
|
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"}
|
|
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;AAKD,wBAAgB,iBAAiB;cAzB+C,MAAM;oBAAkB,MAAM;YAgC7G;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"}
|