@plutonhq/core-frontend 0.1.6 → 0.1.7

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.
Files changed (64) hide show
  1. package/dist-lib/components/Plan/Backups/Backups.module.scss.js +44 -42
  2. package/dist-lib/components/Plan/Backups/Backups.module.scss.js.map +1 -1
  3. package/dist-lib/components/Plan/PlanPendingBackup/PlanPendingBackup.d.ts +3 -2
  4. package/dist-lib/components/Plan/PlanPendingBackup/PlanPendingBackup.d.ts.map +1 -1
  5. package/dist-lib/components/Plan/PlanPendingBackup/PlanPendingBackup.js +29 -22
  6. package/dist-lib/components/Plan/PlanPendingBackup/PlanPendingBackup.js.map +1 -1
  7. package/dist-lib/components/Plan/PlanProgress/PlanProgress.d.ts +2 -1
  8. package/dist-lib/components/Plan/PlanProgress/PlanProgress.d.ts.map +1 -1
  9. package/dist-lib/components/Plan/PlanProgress/PlanProgress.js +22 -18
  10. package/dist-lib/components/Plan/PlanProgress/PlanProgress.js.map +1 -1
  11. package/dist-lib/components/Plan/Restores/Restores.js +5 -5
  12. package/dist-lib/components/Plan/Restores/Restores.js.map +1 -1
  13. package/dist-lib/components/Restore/RestoreFileSelector/RestoreFileSelector.js +73 -73
  14. package/dist-lib/components/Restore/RestoreFileSelector/RestoreFileSelector.js.map +1 -1
  15. package/dist-lib/components/Restore/RestoreWizard/RestoreConfirmStep.d.ts.map +1 -1
  16. package/dist-lib/components/Restore/RestoreWizard/RestoreConfirmStep.js +50 -50
  17. package/dist-lib/components/Restore/RestoreWizard/RestoreConfirmStep.js.map +1 -1
  18. package/dist-lib/components/Restore/RestoreWizard/RestorePreviewStep.js +8 -8
  19. package/dist-lib/components/Restore/RestoreWizard/RestorePreviewStep.js.map +1 -1
  20. package/dist-lib/components/Restore/RestoreWizard/RestoreWizard.module.scss.js +34 -36
  21. package/dist-lib/components/Restore/RestoreWizard/RestoreWizard.module.scss.js.map +1 -1
  22. package/dist-lib/components/Restore/RestoredFileBrowser/RestoredFileBrowser.d.ts +2 -1
  23. package/dist-lib/components/Restore/RestoredFileBrowser/RestoredFileBrowser.d.ts.map +1 -1
  24. package/dist-lib/components/Restore/RestoredFileBrowser/RestoredFileBrowser.js +62 -60
  25. package/dist-lib/components/Restore/RestoredFileBrowser/RestoredFileBrowser.js.map +1 -1
  26. package/dist-lib/components/common/LogViewer/LogViewer.d.ts.map +1 -1
  27. package/dist-lib/components/common/LogViewer/LogViewer.js +51 -47
  28. package/dist-lib/components/common/LogViewer/LogViewer.js.map +1 -1
  29. package/dist-lib/components/common/LogViewer/LogViewer.module.scss.js +24 -24
  30. package/dist-lib/hooks/usePlanSingleActions.d.ts.map +1 -1
  31. package/dist-lib/hooks/usePlanSingleActions.js +49 -37
  32. package/dist-lib/hooks/usePlanSingleActions.js.map +1 -1
  33. package/dist-lib/routes/PlanSingle/PlanSingle.d.ts.map +1 -1
  34. package/dist-lib/routes/PlanSingle/PlanSingle.js +68 -67
  35. package/dist-lib/routes/PlanSingle/PlanSingle.js.map +1 -1
  36. package/dist-lib/services/backups.d.ts.map +1 -1
  37. package/dist-lib/services/backups.js +35 -34
  38. package/dist-lib/services/backups.js.map +1 -1
  39. package/dist-lib/services/plans.d.ts +5 -2
  40. package/dist-lib/services/plans.d.ts.map +1 -1
  41. package/dist-lib/services/plans.js +45 -43
  42. package/dist-lib/services/plans.js.map +1 -1
  43. package/dist-lib/services/restores.d.ts.map +1 -1
  44. package/dist-lib/services/restores.js +56 -55
  45. package/dist-lib/services/restores.js.map +1 -1
  46. package/dist-lib/services.js +19 -19
  47. package/dist-lib/styles/core-frontend.css +1 -1
  48. package/package.json +1 -1
  49. package/src/components/Plan/Backups/Backups.module.scss +2 -1
  50. package/src/components/Plan/PlanPendingBackup/PlanPendingBackup.tsx +27 -18
  51. package/src/components/Plan/PlanProgress/PlanProgress.tsx +13 -2
  52. package/src/components/Plan/Restores/Restores.tsx +1 -1
  53. package/src/components/Restore/RestoreFileSelector/RestoreFileSelector.tsx +4 -4
  54. package/src/components/Restore/RestoreWizard/RestoreConfirmStep.tsx +26 -19
  55. package/src/components/Restore/RestoreWizard/RestorePreviewStep.tsx +1 -1
  56. package/src/components/Restore/RestoreWizard/RestoreWizard.module.scss +2 -2
  57. package/src/components/Restore/RestoredFileBrowser/RestoredFileBrowser.tsx +18 -14
  58. package/src/components/common/LogViewer/LogViewer.module.scss +1 -1
  59. package/src/components/common/LogViewer/LogViewer.tsx +18 -10
  60. package/src/hooks/usePlanSingleActions.tsx +21 -8
  61. package/src/routes/PlanSingle/PlanSingle.tsx +2 -0
  62. package/src/services/backups.ts +12 -4
  63. package/src/services/plans.ts +4 -3
  64. package/src/services/restores.ts +12 -4
@@ -1,52 +1,54 @@
1
- const a = "_backupsTable_9JCxh", e = "_noBackups_eYEm5", s = "_backupsTableHead_AovbA", t = "_backupsTableContent_lAUbX", n = "_backupsTableRow_7wKPY", o = "_editIcon_Mpb3f", c = "_backupTitle_ZnBYq", l = "_activeBackup_uAxzN", b = "_downloadLabel_mKgLI", d = "_downloadLabelFailed_1npxP", _ = "_downloadLabelDone_c2LO8", p = "_snapOptsBtn_bxtLY", u = "_changes_MShZK", i = "_changesNew_I8rJr", k = "_changesModified_Rbfxu", w = "_changesRemoved_ieqxx", g = "_target_4R3Iy", T = "_status_MLwsp", r = "_statusHasError_UmGXn", h = "_settings_ZmUwV", L = "_backupsTableRowActive_3FYwx", R = "_updateModalContent_x0Nol", v = "_field_RXjXe", x = {
1
+ const a = "_backupsTable_xxleF", e = "_noBackups_kiIxb", t = "_backupsTableHead_BJWCZ", s = "_backupsTableContent_RhTcO", o = "_backupsTableRow_1V0gu", n = "_editIcon_pvZ1E", c = "_backupTitle_P0p7W", l = "_restoreTitle_3aIfN", _ = "_activeBackup_jTeNk", d = "_downloadLabel_9DzTd", b = "_downloadLabelFailed_xltYE", p = "_downloadLabelDone_Tsxqg", u = "_snapOptsBtn_xMayx", i = "_changes_1sOXU", k = "_changesNew_rghUF", T = "_changesModified_FGSxn", g = "_changesRemoved_XQVVD", r = "_target_LMkAJ", w = "_status_uUVvt", h = "_statusHasError_tvt0J", v = "_settings_wCSWo", B = "_backupsTableRowActive_WIaBM", x = "_updateModalContent_TtDFx", L = "_field_Eqs57", R = {
2
2
  backupsTable: a,
3
3
  noBackups: e,
4
- backupsTableHead: s,
5
- backupsTableContent: t,
6
- backupsTableRow: n,
7
- editIcon: o,
4
+ backupsTableHead: t,
5
+ backupsTableContent: s,
6
+ backupsTableRow: o,
7
+ editIcon: n,
8
8
  backupTitle: c,
9
- activeBackup: l,
10
- downloadLabel: b,
11
- downloadLabelFailed: d,
12
- downloadLabelDone: _,
13
- snapOptsBtn: p,
14
- changes: u,
15
- changesNew: i,
16
- changesModified: k,
17
- changesRemoved: w,
18
- target: g,
19
- status: T,
20
- statusHasError: r,
21
- settings: h,
22
- backupsTableRowActive: L,
23
- updateModalContent: R,
24
- field: v
9
+ restoreTitle: l,
10
+ activeBackup: _,
11
+ downloadLabel: d,
12
+ downloadLabelFailed: b,
13
+ downloadLabelDone: p,
14
+ snapOptsBtn: u,
15
+ changes: i,
16
+ changesNew: k,
17
+ changesModified: T,
18
+ changesRemoved: g,
19
+ target: r,
20
+ status: w,
21
+ statusHasError: h,
22
+ settings: v,
23
+ backupsTableRowActive: B,
24
+ updateModalContent: x,
25
+ field: L
25
26
  };
26
27
  export {
27
- l as activeBackup,
28
+ _ as activeBackup,
28
29
  c as backupTitle,
29
30
  a as backupsTable,
30
- t as backupsTableContent,
31
- s as backupsTableHead,
32
- n as backupsTableRow,
33
- L as backupsTableRowActive,
34
- u as changes,
35
- k as changesModified,
36
- i as changesNew,
37
- w as changesRemoved,
38
- x as default,
39
- b as downloadLabel,
40
- _ as downloadLabelDone,
41
- d as downloadLabelFailed,
42
- o as editIcon,
43
- v as field,
31
+ s as backupsTableContent,
32
+ t as backupsTableHead,
33
+ o as backupsTableRow,
34
+ B as backupsTableRowActive,
35
+ i as changes,
36
+ T as changesModified,
37
+ k as changesNew,
38
+ g as changesRemoved,
39
+ R as default,
40
+ d as downloadLabel,
41
+ p as downloadLabelDone,
42
+ b as downloadLabelFailed,
43
+ n as editIcon,
44
+ L as field,
44
45
  e as noBackups,
45
- h as settings,
46
- p as snapOptsBtn,
47
- T as status,
48
- r as statusHasError,
49
- g as target,
50
- R as updateModalContent
46
+ l as restoreTitle,
47
+ v as settings,
48
+ u as snapOptsBtn,
49
+ w as status,
50
+ h as statusHasError,
51
+ r as target,
52
+ x as updateModalContent
51
53
  };
52
54
  //# sourceMappingURL=Backups.module.scss.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Backups.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Backups.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,7 +1,8 @@
1
1
  interface PlanPendingBackup {
2
2
  planId: string;
3
- onPendingBackupDetect: () => void;
3
+ type?: 'backup' | 'restore';
4
+ onPendingDetect: () => void;
4
5
  }
5
- declare const PlanPendingBackup: ({ planId, onPendingBackupDetect }: PlanPendingBackup) => import("react/jsx-runtime").JSX.Element;
6
+ declare const PlanPendingBackup: ({ planId, type, onPendingDetect }: PlanPendingBackup) => import("react/jsx-runtime").JSX.Element;
6
7
  export default PlanPendingBackup;
7
8
  //# sourceMappingURL=PlanPendingBackup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlanPendingBackup.d.ts","sourceRoot":"","sources":["../../../../src/components/Plan/PlanPendingBackup/PlanPendingBackup.tsx"],"names":[],"mappings":"AAMA,UAAU,iBAAiB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,qBAAqB,EAAE,MAAM,IAAI,CAAC;CACpC;AAED,QAAA,MAAM,iBAAiB,GAAI,mCAAmC,iBAAiB,4CA0C9E,CAAC;AACF,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"PlanPendingBackup.d.ts","sourceRoot":"","sources":["../../../../src/components/Plan/PlanPendingBackup/PlanPendingBackup.tsx"],"names":[],"mappings":"AAMA,UAAU,iBAAiB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC5B,eAAe,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED,QAAA,MAAM,iBAAiB,GAAI,mCAA8C,iBAAiB,4CAkDzF,CAAC;AACF,eAAe,iBAAiB,CAAC"}
@@ -1,33 +1,40 @@
1
- import { jsxs as a, jsx as e } from "react/jsx-runtime";
2
- import { useEffect as u } from "react";
1
+ import { jsxs as r, jsx as s } from "react/jsx-runtime";
2
+ import { useEffect as m } from "react";
3
3
  import { useSearchParams as p } from "react-router";
4
- import { useCheckActiveBackups as m } from "../../../services/plans.js";
5
- import c from "./PlanPendingBackup.module.scss.js";
6
- import i from "../../common/Icon/Icon.js";
7
- const w = ({ planId: s, onPendingBackupDetect: o }) => {
8
- const [, l] = p(), d = m();
9
- return u(() => {
10
- const t = window.setInterval(() => {
11
- d.mutate(s, {
12
- onSuccess: (r) => {
13
- console.log("[isBackupPending] data :", r), r.result && (window.clearInterval(t), l((n) => (n.delete("pendingbackup"), n)), o());
4
+ import { useCheckActiveBackupsOrRestore as k } from "../../../services/plans.js";
5
+ import e from "./PlanPendingBackup.module.scss.js";
6
+ import o from "../../common/Icon/Icon.js";
7
+ const N = ({ planId: t, type: c = "backup", onPendingDetect: l }) => {
8
+ const [, d] = p(), u = k();
9
+ return m(() => {
10
+ const n = window.setInterval(() => {
11
+ u.mutate(
12
+ { planId: t, type: c },
13
+ {
14
+ onSuccess: (i) => {
15
+ console.log("[isBackupPending] data :", i), i.result && (window.clearInterval(n), d((a) => (c === "restore" ? a.delete("pendingrestore") : a.delete("pendingbackup"), a)), l());
16
+ }
14
17
  }
15
- });
18
+ );
16
19
  }, 1e3);
17
- return () => window.clearInterval(t);
18
- }, [s]), /* @__PURE__ */ a("div", { className: c.backup, children: [
19
- /* @__PURE__ */ e("div", { className: c.backupIcon, children: /* @__PURE__ */ e(i, { type: "loading", size: 24 }) }),
20
- /* @__PURE__ */ a("div", { className: c.backupLeft, children: [
21
- /* @__PURE__ */ e("div", { className: c.backupId, children: "Starting Backup..." }),
22
- /* @__PURE__ */ e("div", { className: c.backupStart, children: /* @__PURE__ */ a("div", { children: [
23
- /* @__PURE__ */ e(i, { type: "clock", size: 12 }),
20
+ return () => window.clearInterval(n);
21
+ }, [t, c]), /* @__PURE__ */ r("div", { className: e.backup, children: [
22
+ /* @__PURE__ */ s("div", { className: e.backupIcon, children: /* @__PURE__ */ s(o, { type: "loading", size: 24 }) }),
23
+ /* @__PURE__ */ r("div", { className: e.backupLeft, children: [
24
+ /* @__PURE__ */ r("div", { className: e.backupId, children: [
25
+ "Starting ",
26
+ c,
27
+ "..."
28
+ ] }),
29
+ /* @__PURE__ */ s("div", { className: e.backupStart, children: /* @__PURE__ */ r("div", { children: [
30
+ /* @__PURE__ */ s(o, { type: "clock", size: 12 }),
24
31
  " Starting in a few seconds"
25
32
  ] }) })
26
33
  ] }),
27
- /* @__PURE__ */ e("div", { className: c.backupRight, children: /* @__PURE__ */ e("span", { className: `skeleton-box ${c.progressSkeleton}` }) })
34
+ /* @__PURE__ */ s("div", { className: e.backupRight, children: /* @__PURE__ */ s("span", { className: `skeleton-box ${e.progressSkeleton}` }) })
28
35
  ] });
29
36
  };
30
37
  export {
31
- w as default
38
+ N as default
32
39
  };
33
40
  //# sourceMappingURL=PlanPendingBackup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlanPendingBackup.js","sources":["../../../../src/components/Plan/PlanPendingBackup/PlanPendingBackup.tsx"],"sourcesContent":["import { useEffect } from 'react';\r\nimport { useSearchParams } from 'react-router';\r\nimport { useCheckActiveBackups } from '../../../services/plans';\r\nimport classes from './PlanPendingBackup.module.scss';\r\nimport Icon from '../../common/Icon/Icon';\r\n\r\ninterface PlanPendingBackup {\r\n planId: string;\r\n onPendingBackupDetect: () => void;\r\n}\r\n\r\nconst PlanPendingBackup = ({ planId, onPendingBackupDetect }: PlanPendingBackup) => {\r\n const [, setSearchParams] = useSearchParams();\r\n const checkActiveBackupsMutation = useCheckActiveBackups();\r\n\r\n useEffect(() => {\r\n const interval = window.setInterval(() => {\r\n checkActiveBackupsMutation.mutate(planId, {\r\n onSuccess: (data) => {\r\n console.log('[isBackupPending] data :', data);\r\n if (data.result) {\r\n window.clearInterval(interval);\r\n setSearchParams((params) => {\r\n params.delete('pendingbackup');\r\n return params;\r\n });\r\n onPendingBackupDetect();\r\n }\r\n },\r\n });\r\n }, 1000);\r\n\r\n return () => window.clearInterval(interval);\r\n }, [planId]);\r\n\r\n return (\r\n <div className={classes.backup}>\r\n <div className={classes.backupIcon}>\r\n <Icon type=\"loading\" size={24} />\r\n </div>\r\n <div className={classes.backupLeft}>\r\n <div className={classes.backupId}>Starting Backup...</div>\r\n <div className={classes.backupStart}>\r\n <div>\r\n <Icon type=\"clock\" size={12} /> Starting in a few seconds\r\n </div>\r\n </div>\r\n </div>\r\n <div className={classes.backupRight}>\r\n <span className={`skeleton-box ${classes.progressSkeleton}`} />\r\n </div>\r\n </div>\r\n );\r\n};\r\nexport default PlanPendingBackup;\r\n"],"names":["PlanPendingBackup","planId","onPendingBackupDetect","setSearchParams","useSearchParams","checkActiveBackupsMutation","useCheckActiveBackups","useEffect","interval","data","params","jsxs","classes","jsx","Icon"],"mappings":";;;;;;AAWA,MAAMA,IAAoB,CAAC,EAAE,QAAAC,GAAQ,uBAAAC,QAA+C;AACjF,QAAM,CAAA,EAAGC,CAAe,IAAIC,EAAA,GACtBC,IAA6BC,EAAA;AAEnC,SAAAC,EAAU,MAAM;AACb,UAAMC,IAAW,OAAO,YAAY,MAAM;AACvC,MAAAH,EAA2B,OAAOJ,GAAQ;AAAA,QACvC,WAAW,CAACQ,MAAS;AAClB,kBAAQ,IAAI,4BAA4BA,CAAI,GACxCA,EAAK,WACN,OAAO,cAAcD,CAAQ,GAC7BL,EAAgB,CAACO,OACdA,EAAO,OAAO,eAAe,GACtBA,EACT,GACDR,EAAA;AAAA,QAEN;AAAA,MAAA,CACF;AAAA,IACJ,GAAG,GAAI;AAEP,WAAO,MAAM,OAAO,cAAcM,CAAQ;AAAA,EAC7C,GAAG,CAACP,CAAM,CAAC,GAGR,gBAAAU,EAAC,OAAA,EAAI,WAAWC,EAAQ,QACrB,UAAA;AAAA,IAAA,gBAAAC,EAAC,OAAA,EAAI,WAAWD,EAAQ,YACrB,UAAA,gBAAAC,EAACC,KAAK,MAAK,WAAU,MAAM,GAAA,CAAI,EAAA,CAClC;AAAA,IACA,gBAAAH,EAAC,OAAA,EAAI,WAAWC,EAAQ,YACrB,UAAA;AAAA,MAAA,gBAAAC,EAAC,OAAA,EAAI,WAAWD,EAAQ,UAAU,UAAA,sBAAkB;AAAA,wBACnD,OAAA,EAAI,WAAWA,EAAQ,aACrB,4BAAC,OAAA,EACE,UAAA;AAAA,QAAA,gBAAAC,EAACC,GAAA,EAAK,MAAK,SAAQ,MAAM,IAAI;AAAA,QAAE;AAAA,MAAA,EAAA,CAClC,EAAA,CACH;AAAA,IAAA,GACH;AAAA,IACA,gBAAAD,EAAC,OAAA,EAAI,WAAWD,EAAQ,aACrB,UAAA,gBAAAC,EAAC,QAAA,EAAK,WAAW,gBAAgBD,EAAQ,gBAAgB,GAAA,CAAI,EAAA,CAChE;AAAA,EAAA,GACH;AAEN;"}
1
+ {"version":3,"file":"PlanPendingBackup.js","sources":["../../../../src/components/Plan/PlanPendingBackup/PlanPendingBackup.tsx"],"sourcesContent":["import { useEffect } from 'react';\r\nimport { useSearchParams } from 'react-router';\r\nimport { useCheckActiveBackupsOrRestore } from '../../../services/plans';\r\nimport classes from './PlanPendingBackup.module.scss';\r\nimport Icon from '../../common/Icon/Icon';\r\n\r\ninterface PlanPendingBackup {\r\n planId: string;\r\n type?: 'backup' | 'restore';\r\n onPendingDetect: () => void;\r\n}\r\n\r\nconst PlanPendingBackup = ({ planId, type = 'backup', onPendingDetect }: PlanPendingBackup) => {\r\n const [, setSearchParams] = useSearchParams();\r\n const checkActivesMutation = useCheckActiveBackupsOrRestore();\r\n\r\n useEffect(() => {\r\n const interval = window.setInterval(() => {\r\n checkActivesMutation.mutate(\r\n { planId, type },\r\n {\r\n onSuccess: (data) => {\r\n console.log('[isBackupPending] data :', data);\r\n if (data.result) {\r\n window.clearInterval(interval);\r\n setSearchParams((params) => {\r\n if (type === 'restore') {\r\n params.delete('pendingrestore');\r\n } else {\r\n params.delete('pendingbackup');\r\n }\r\n\r\n return params;\r\n });\r\n onPendingDetect();\r\n }\r\n },\r\n },\r\n );\r\n }, 1000);\r\n\r\n return () => window.clearInterval(interval);\r\n }, [planId, type]);\r\n\r\n return (\r\n <div className={classes.backup}>\r\n <div className={classes.backupIcon}>\r\n <Icon type=\"loading\" size={24} />\r\n </div>\r\n <div className={classes.backupLeft}>\r\n <div className={classes.backupId}>Starting {type}...</div>\r\n <div className={classes.backupStart}>\r\n <div>\r\n <Icon type=\"clock\" size={12} /> Starting in a few seconds\r\n </div>\r\n </div>\r\n </div>\r\n <div className={classes.backupRight}>\r\n <span className={`skeleton-box ${classes.progressSkeleton}`} />\r\n </div>\r\n </div>\r\n );\r\n};\r\nexport default PlanPendingBackup;\r\n"],"names":["PlanPendingBackup","planId","type","onPendingDetect","setSearchParams","useSearchParams","checkActivesMutation","useCheckActiveBackupsOrRestore","useEffect","interval","data","params","jsxs","classes","jsx","Icon"],"mappings":";;;;;;AAYA,MAAMA,IAAoB,CAAC,EAAE,QAAAC,GAAQ,MAAAC,IAAO,UAAU,iBAAAC,QAAyC;AAC5F,QAAM,CAAA,EAAGC,CAAe,IAAIC,EAAA,GACtBC,IAAuBC,EAAA;AAE7B,SAAAC,EAAU,MAAM;AACb,UAAMC,IAAW,OAAO,YAAY,MAAM;AACvC,MAAAH,EAAqB;AAAA,QAClB,EAAE,QAAAL,GAAQ,MAAAC,EAAA;AAAA,QACV;AAAA,UACG,WAAW,CAACQ,MAAS;AAClB,oBAAQ,IAAI,4BAA4BA,CAAI,GACxCA,EAAK,WACN,OAAO,cAAcD,CAAQ,GAC7BL,EAAgB,CAACO,OACVT,MAAS,YACVS,EAAO,OAAO,gBAAgB,IAE9BA,EAAO,OAAO,eAAe,GAGzBA,EACT,GACDR,EAAA;AAAA,UAEN;AAAA,QAAA;AAAA,MACH;AAAA,IAEN,GAAG,GAAI;AAEP,WAAO,MAAM,OAAO,cAAcM,CAAQ;AAAA,EAC7C,GAAG,CAACR,GAAQC,CAAI,CAAC,GAGd,gBAAAU,EAAC,OAAA,EAAI,WAAWC,EAAQ,QACrB,UAAA;AAAA,IAAA,gBAAAC,EAAC,OAAA,EAAI,WAAWD,EAAQ,YACrB,UAAA,gBAAAC,EAACC,KAAK,MAAK,WAAU,MAAM,GAAA,CAAI,EAAA,CAClC;AAAA,IACA,gBAAAH,EAAC,OAAA,EAAI,WAAWC,EAAQ,YACrB,UAAA;AAAA,MAAA,gBAAAD,EAAC,OAAA,EAAI,WAAWC,EAAQ,UAAU,UAAA;AAAA,QAAA;AAAA,QAAUX;AAAA,QAAK;AAAA,MAAA,GAAG;AAAA,wBACnD,OAAA,EAAI,WAAWW,EAAQ,aACrB,4BAAC,OAAA,EACE,UAAA;AAAA,QAAA,gBAAAC,EAACC,GAAA,EAAK,MAAK,SAAQ,MAAM,IAAI;AAAA,QAAE;AAAA,MAAA,EAAA,CAClC,EAAA,CACH;AAAA,IAAA,GACH;AAAA,IACA,gBAAAD,EAAC,OAAA,EAAI,WAAWD,EAAQ,aACrB,UAAA,gBAAAC,EAAC,QAAA,EAAK,WAAW,gBAAgBD,EAAQ,gBAAgB,GAAA,CAAI,EAAA,CAChE;AAAA,EAAA,GACH;AAEN;"}
@@ -4,10 +4,11 @@ import { RestoreSlim } from '../../../@types/restores';
4
4
  interface PlanProgressProps {
5
5
  plan: Plan;
6
6
  isBackupPending: boolean;
7
+ isRestorePending?: boolean;
7
8
  activeBackups: Backup[];
8
9
  activeRestores: RestoreSlim[];
9
10
  refetchPlan: () => void;
10
11
  }
11
- declare const PlanProgress: ({ plan, isBackupPending, activeBackups, activeRestores, refetchPlan }: PlanProgressProps) => import("react/jsx-runtime").JSX.Element;
12
+ declare const PlanProgress: ({ plan, isBackupPending, isRestorePending, activeBackups, activeRestores, refetchPlan }: PlanProgressProps) => import("react/jsx-runtime").JSX.Element;
12
13
  export default PlanProgress;
13
14
  //# sourceMappingURL=PlanProgress.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlanProgress.d.ts","sourceRoot":"","sources":["../../../../src/components/Plan/PlanProgress/PlanProgress.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAKvD,UAAU,iBAAiB;IACxB,IAAI,EAAE,IAAI,CAAC;IACX,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,EAAE,WAAW,EAAE,CAAC;IAC9B,WAAW,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED,QAAA,MAAM,YAAY,GAAI,uEAAuE,iBAAiB,4CAyD7G,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"PlanProgress.d.ts","sourceRoot":"","sources":["../../../../src/components/Plan/PlanProgress/PlanProgress.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAKvD,UAAU,iBAAiB;IACxB,IAAI,EAAE,IAAI,CAAC;IACX,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,EAAE,WAAW,EAAE,CAAC;IAC9B,WAAW,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED,QAAA,MAAM,YAAY,GAAI,yFAAyF,iBAAiB,4CAmE/H,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -1,45 +1,49 @@
1
- import { jsxs as i, jsx as e } from "react/jsx-runtime";
2
- import l from "../BackupProgress/BackupProgress.js";
3
- import m from "../PlanPendingBackup/PlanPendingBackup.js";
1
+ import { jsxs as s, jsx as e } from "react/jsx-runtime";
2
+ import n from "../BackupProgress/BackupProgress.js";
3
+ import p from "../PlanPendingBackup/PlanPendingBackup.js";
4
4
  import a from "./PlanProgress.module.scss.js";
5
- const v = ({ plan: c, isBackupPending: n, activeBackups: d, activeRestores: r, refetchPlan: p }) => /* @__PURE__ */ i("div", { children: [
6
- n && /* @__PURE__ */ i("div", { className: a.activeBackups, children: [
5
+ const k = ({ plan: c, isBackupPending: t, isRestorePending: m, activeBackups: d, activeRestores: r, refetchPlan: l }) => /* @__PURE__ */ s("div", { children: [
6
+ t && /* @__PURE__ */ s("div", { className: a.activeBackups, children: [
7
7
  /* @__PURE__ */ e("div", { className: a.backupsHeader, children: /* @__PURE__ */ e("h3", { children: "Backup in Progress" }) }),
8
- /* @__PURE__ */ e("div", { className: a.activeBackupsTable, children: /* @__PURE__ */ e(m, { planId: c.id, onPendingBackupDetect: () => p() }) })
8
+ /* @__PURE__ */ e("div", { className: a.activeBackupsTable, children: /* @__PURE__ */ e(p, { planId: c.id, onPendingDetect: () => l() }) })
9
9
  ] }),
10
- d.length > 0 && /* @__PURE__ */ i("div", { className: a.activeBackups, children: [
11
- /* @__PURE__ */ e("div", { className: a.backupsHeader, children: /* @__PURE__ */ i("h3", { children: [
10
+ d.length > 0 && /* @__PURE__ */ s("div", { className: a.activeBackups, children: [
11
+ /* @__PURE__ */ e("div", { className: a.backupsHeader, children: /* @__PURE__ */ s("h3", { children: [
12
12
  "Active Backups ",
13
13
  /* @__PURE__ */ e("span", { children: d.length })
14
14
  ] }) }),
15
- /* @__PURE__ */ e("div", { className: a.activeBackupsTable, children: d.map((s) => /* @__PURE__ */ e(
16
- l,
15
+ /* @__PURE__ */ e("div", { className: a.activeBackupsTable, children: d.map((i) => /* @__PURE__ */ e(
16
+ n,
17
17
  {
18
18
  type: "backup",
19
- item: s,
19
+ item: i,
20
20
  sourceId: c.sourceId || "",
21
21
  sourceType: "main",
22
22
  planId: c.id
23
23
  },
24
- s.id
24
+ i.id
25
25
  )) })
26
26
  ] }),
27
- r.length > 0 && /* @__PURE__ */ i("div", { className: a.activeBackups, children: [
27
+ m && /* @__PURE__ */ s("div", { className: a.activeBackups, children: [
28
+ /* @__PURE__ */ e("div", { className: a.backupsHeader, children: /* @__PURE__ */ e("h3", { children: "Restore in Progress" }) }),
29
+ /* @__PURE__ */ e("div", { className: a.activeBackupsTable, children: /* @__PURE__ */ e(p, { planId: c.id, type: "restore", onPendingDetect: () => l() }) })
30
+ ] }),
31
+ r.length > 0 && /* @__PURE__ */ s("div", { className: a.activeBackups, children: [
28
32
  /* @__PURE__ */ e("div", { className: a.backupsHeader, children: /* @__PURE__ */ e("h3", { children: "Restoring Backup" }) }),
29
- /* @__PURE__ */ e("div", { className: a.activeBackupsTable, children: r.map((s) => /* @__PURE__ */ e(
30
- l,
33
+ /* @__PURE__ */ e("div", { className: a.activeBackupsTable, children: r.map((i) => /* @__PURE__ */ e(
34
+ n,
31
35
  {
32
36
  type: "restore",
33
- item: s,
37
+ item: i,
34
38
  sourceId: c.sourceId || "",
35
39
  sourceType: "main",
36
40
  planId: c.id
37
41
  },
38
- s.id
42
+ i.id
39
43
  )) })
40
44
  ] })
41
45
  ] });
42
46
  export {
43
- v as default
47
+ k as default
44
48
  };
45
49
  //# sourceMappingURL=PlanProgress.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlanProgress.js","sources":["../../../../src/components/Plan/PlanProgress/PlanProgress.tsx"],"sourcesContent":["import { Backup } from '../../../@types/backups';\r\nimport { Plan } from '../../../@types/plans';\r\nimport { RestoreSlim } from '../../../@types/restores';\r\nimport BackupProgress from '../BackupProgress/BackupProgress';\r\nimport PlanPendingBackup from '../PlanPendingBackup/PlanPendingBackup';\r\nimport classes from './PlanProgress.module.scss';\r\n\r\ninterface PlanProgressProps {\r\n plan: Plan;\r\n isBackupPending: boolean;\r\n activeBackups: Backup[];\r\n activeRestores: RestoreSlim[];\r\n refetchPlan: () => void;\r\n}\r\n\r\nconst PlanProgress = ({ plan, isBackupPending, activeBackups, activeRestores, refetchPlan }: PlanProgressProps) => {\r\n return (\r\n <div>\r\n {isBackupPending && (\r\n <div className={classes.activeBackups}>\r\n <div className={classes.backupsHeader}>\r\n <h3>Backup in Progress</h3>\r\n </div>\r\n <div className={classes.activeBackupsTable}>\r\n <PlanPendingBackup planId={plan.id} onPendingBackupDetect={() => refetchPlan()} />\r\n </div>\r\n </div>\r\n )}\r\n\r\n {activeBackups.length > 0 && (\r\n <div className={classes.activeBackups}>\r\n <div className={classes.backupsHeader}>\r\n <h3>\r\n Active Backups <span>{activeBackups.length}</span>\r\n </h3>\r\n </div>\r\n <div className={classes.activeBackupsTable}>\r\n {activeBackups.map((backup) => (\r\n <BackupProgress\r\n key={backup.id}\r\n type={'backup'}\r\n item={backup}\r\n sourceId={plan.sourceId || ''}\r\n sourceType={'main'}\r\n planId={plan.id}\r\n />\r\n ))}\r\n </div>\r\n </div>\r\n )}\r\n\r\n {activeRestores.length > 0 && (\r\n <div className={classes.activeBackups}>\r\n <div className={classes.backupsHeader}>\r\n <h3>Restoring Backup</h3>\r\n </div>\r\n <div className={classes.activeBackupsTable}>\r\n {activeRestores.map((restore) => (\r\n <BackupProgress\r\n key={restore.id}\r\n type={'restore'}\r\n item={restore}\r\n sourceId={plan.sourceId || ''}\r\n sourceType={'main'}\r\n planId={plan.id}\r\n />\r\n ))}\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nexport default PlanProgress;\r\n"],"names":["PlanProgress","plan","isBackupPending","activeBackups","activeRestores","refetchPlan","jsxs","classes","jsx","PlanPendingBackup","backup","BackupProgress","restore"],"mappings":";;;;AAeA,MAAMA,IAAe,CAAC,EAAE,MAAAC,GAAM,iBAAAC,GAAiB,eAAAC,GAAe,gBAAAC,GAAgB,aAAAC,0BAEvE,OAAA,EACG,UAAA;AAAA,EAAAH,KACE,gBAAAI,EAAC,OAAA,EAAI,WAAWC,EAAQ,eACrB,UAAA;AAAA,IAAA,gBAAAC,EAAC,SAAI,WAAWD,EAAQ,eACrB,UAAA,gBAAAC,EAAC,MAAA,EAAG,gCAAkB,EAAA,CACzB;AAAA,IACA,gBAAAA,EAAC,OAAA,EAAI,WAAWD,EAAQ,oBACrB,UAAA,gBAAAC,EAACC,GAAA,EAAkB,QAAQR,EAAK,IAAI,uBAAuB,MAAMI,EAAA,GAAe,EAAA,CACnF;AAAA,EAAA,GACH;AAAA,EAGFF,EAAc,SAAS,uBACpB,OAAA,EAAI,WAAWI,EAAQ,eACrB,UAAA;AAAA,IAAA,gBAAAC,EAAC,OAAA,EAAI,WAAWD,EAAQ,eACrB,4BAAC,MAAA,EAAG,UAAA;AAAA,MAAA;AAAA,MACc,gBAAAC,EAAC,QAAA,EAAM,UAAAL,EAAc,OAAA,CAAO;AAAA,IAAA,EAAA,CAC9C,EAAA,CACH;AAAA,IACA,gBAAAK,EAAC,SAAI,WAAWD,EAAQ,oBACpB,UAAAJ,EAAc,IAAI,CAACO,MACjB,gBAAAF;AAAA,MAACG;AAAA,MAAA;AAAA,QAEE,MAAM;AAAA,QACN,MAAMD;AAAA,QACN,UAAUT,EAAK,YAAY;AAAA,QAC3B,YAAY;AAAA,QACZ,QAAQA,EAAK;AAAA,MAAA;AAAA,MALRS,EAAO;AAAA,IAAA,CAOjB,EAAA,CACJ;AAAA,EAAA,GACH;AAAA,EAGFN,EAAe,SAAS,uBACrB,OAAA,EAAI,WAAWG,EAAQ,eACrB,UAAA;AAAA,IAAA,gBAAAC,EAAC,SAAI,WAAWD,EAAQ,eACrB,UAAA,gBAAAC,EAAC,MAAA,EAAG,8BAAgB,EAAA,CACvB;AAAA,IACA,gBAAAA,EAAC,SAAI,WAAWD,EAAQ,oBACpB,UAAAH,EAAe,IAAI,CAACQ,MAClB,gBAAAJ;AAAA,MAACG;AAAA,MAAA;AAAA,QAEE,MAAM;AAAA,QACN,MAAMC;AAAA,QACN,UAAUX,EAAK,YAAY;AAAA,QAC3B,YAAY;AAAA,QACZ,QAAQA,EAAK;AAAA,MAAA;AAAA,MALRW,EAAQ;AAAA,IAAA,CAOlB,EAAA,CACJ;AAAA,EAAA,EAAA,CACH;AAAA,GAEN;"}
1
+ {"version":3,"file":"PlanProgress.js","sources":["../../../../src/components/Plan/PlanProgress/PlanProgress.tsx"],"sourcesContent":["import { Backup } from '../../../@types/backups';\r\nimport { Plan } from '../../../@types/plans';\r\nimport { RestoreSlim } from '../../../@types/restores';\r\nimport BackupProgress from '../BackupProgress/BackupProgress';\r\nimport PlanPendingBackup from '../PlanPendingBackup/PlanPendingBackup';\r\nimport classes from './PlanProgress.module.scss';\r\n\r\ninterface PlanProgressProps {\r\n plan: Plan;\r\n isBackupPending: boolean;\r\n isRestorePending?: boolean;\r\n activeBackups: Backup[];\r\n activeRestores: RestoreSlim[];\r\n refetchPlan: () => void;\r\n}\r\n\r\nconst PlanProgress = ({ plan, isBackupPending, isRestorePending, activeBackups, activeRestores, refetchPlan }: PlanProgressProps) => {\r\n return (\r\n <div>\r\n {isBackupPending && (\r\n <div className={classes.activeBackups}>\r\n <div className={classes.backupsHeader}>\r\n <h3>Backup in Progress</h3>\r\n </div>\r\n <div className={classes.activeBackupsTable}>\r\n <PlanPendingBackup planId={plan.id} onPendingDetect={() => refetchPlan()} />\r\n </div>\r\n </div>\r\n )}\r\n\r\n {activeBackups.length > 0 && (\r\n <div className={classes.activeBackups}>\r\n <div className={classes.backupsHeader}>\r\n <h3>\r\n Active Backups <span>{activeBackups.length}</span>\r\n </h3>\r\n </div>\r\n <div className={classes.activeBackupsTable}>\r\n {activeBackups.map((backup) => (\r\n <BackupProgress\r\n key={backup.id}\r\n type={'backup'}\r\n item={backup}\r\n sourceId={plan.sourceId || ''}\r\n sourceType={'main'}\r\n planId={plan.id}\r\n />\r\n ))}\r\n </div>\r\n </div>\r\n )}\r\n\r\n {isRestorePending && (\r\n <div className={classes.activeBackups}>\r\n <div className={classes.backupsHeader}>\r\n <h3>Restore in Progress</h3>\r\n </div>\r\n <div className={classes.activeBackupsTable}>\r\n <PlanPendingBackup planId={plan.id} type=\"restore\" onPendingDetect={() => refetchPlan()} />\r\n </div>\r\n </div>\r\n )}\r\n {activeRestores.length > 0 && (\r\n <div className={classes.activeBackups}>\r\n <div className={classes.backupsHeader}>\r\n <h3>Restoring Backup</h3>\r\n </div>\r\n <div className={classes.activeBackupsTable}>\r\n {activeRestores.map((restore) => (\r\n <BackupProgress\r\n key={restore.id}\r\n type={'restore'}\r\n item={restore}\r\n sourceId={plan.sourceId || ''}\r\n sourceType={'main'}\r\n planId={plan.id}\r\n />\r\n ))}\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nexport default PlanProgress;\r\n"],"names":["PlanProgress","plan","isBackupPending","isRestorePending","activeBackups","activeRestores","refetchPlan","jsxs","classes","jsx","PlanPendingBackup","backup","BackupProgress","restore"],"mappings":";;;;AAgBA,MAAMA,IAAe,CAAC,EAAE,MAAAC,GAAM,iBAAAC,GAAiB,kBAAAC,GAAkB,eAAAC,GAAe,gBAAAC,GAAgB,aAAAC,0BAEzF,OAAA,EACG,UAAA;AAAA,EAAAJ,KACE,gBAAAK,EAAC,OAAA,EAAI,WAAWC,EAAQ,eACrB,UAAA;AAAA,IAAA,gBAAAC,EAAC,SAAI,WAAWD,EAAQ,eACrB,UAAA,gBAAAC,EAAC,MAAA,EAAG,gCAAkB,EAAA,CACzB;AAAA,IACA,gBAAAA,EAAC,OAAA,EAAI,WAAWD,EAAQ,oBACrB,UAAA,gBAAAC,EAACC,GAAA,EAAkB,QAAQT,EAAK,IAAI,iBAAiB,MAAMK,EAAA,GAAe,EAAA,CAC7E;AAAA,EAAA,GACH;AAAA,EAGFF,EAAc,SAAS,uBACpB,OAAA,EAAI,WAAWI,EAAQ,eACrB,UAAA;AAAA,IAAA,gBAAAC,EAAC,OAAA,EAAI,WAAWD,EAAQ,eACrB,4BAAC,MAAA,EAAG,UAAA;AAAA,MAAA;AAAA,MACc,gBAAAC,EAAC,QAAA,EAAM,UAAAL,EAAc,OAAA,CAAO;AAAA,IAAA,EAAA,CAC9C,EAAA,CACH;AAAA,IACA,gBAAAK,EAAC,SAAI,WAAWD,EAAQ,oBACpB,UAAAJ,EAAc,IAAI,CAACO,MACjB,gBAAAF;AAAA,MAACG;AAAA,MAAA;AAAA,QAEE,MAAM;AAAA,QACN,MAAMD;AAAA,QACN,UAAUV,EAAK,YAAY;AAAA,QAC3B,YAAY;AAAA,QACZ,QAAQA,EAAK;AAAA,MAAA;AAAA,MALRU,EAAO;AAAA,IAAA,CAOjB,EAAA,CACJ;AAAA,EAAA,GACH;AAAA,EAGFR,KACE,gBAAAI,EAAC,OAAA,EAAI,WAAWC,EAAQ,eACrB,UAAA;AAAA,IAAA,gBAAAC,EAAC,SAAI,WAAWD,EAAQ,eACrB,UAAA,gBAAAC,EAAC,MAAA,EAAG,iCAAmB,EAAA,CAC1B;AAAA,sBACC,OAAA,EAAI,WAAWD,EAAQ,oBACrB,4BAACE,GAAA,EAAkB,QAAQT,EAAK,IAAI,MAAK,WAAU,iBAAiB,MAAMK,EAAA,GAAe,EAAA,CAC5F;AAAA,EAAA,GACH;AAAA,EAEFD,EAAe,SAAS,uBACrB,OAAA,EAAI,WAAWG,EAAQ,eACrB,UAAA;AAAA,IAAA,gBAAAC,EAAC,SAAI,WAAWD,EAAQ,eACrB,UAAA,gBAAAC,EAAC,MAAA,EAAG,8BAAgB,EAAA,CACvB;AAAA,IACA,gBAAAA,EAAC,SAAI,WAAWD,EAAQ,oBACpB,UAAAH,EAAe,IAAI,CAACQ,MAClB,gBAAAJ;AAAA,MAACG;AAAA,MAAA;AAAA,QAEE,MAAM;AAAA,QACN,MAAMC;AAAA,QACN,UAAUZ,EAAK,YAAY;AAAA,QAC3B,YAAY;AAAA,QACZ,QAAQA,EAAK;AAAA,MAAA;AAAA,MALRY,EAAQ;AAAA,IAAA,CAOlB,EAAA,CACJ;AAAA,EAAA,EAAA,CACH;AAAA,GAEN;"}
@@ -17,7 +17,7 @@ const se = ({
17
17
  sourceId: S,
18
18
  sourceType: B
19
19
  }) => {
20
- const [a, p] = c(!1), [n, b] = c(!1), [h, u] = c(!1), [w, k] = c(!1), M = O(), v = V(), x = (s) => {
20
+ const [a, p] = c(!1), [n, b] = c(!1), [h, u] = c(!1), [w, T] = c(!1), M = O(), v = V(), x = (s) => {
21
21
  console.log("remove :", s.id), v.mutate(s.id, {
22
22
  onError: () => {
23
23
  D.error("Failed to Remove Restore Entry");
@@ -39,13 +39,13 @@ const se = ({
39
39
  ] }),
40
40
  /* @__PURE__ */ o("div", { className: t.backupsTableContent, children: [
41
41
  R.filter((s) => s.status !== "started").map((s) => {
42
- const { id: i, backupId: A, started: d, ended: l, config: T, status: P, taskStats: r, errorMsg: y } = s, N = d && l && new Date(l).getTime() / 1e3 - new Date(d).getTime() / 1e3;
42
+ const { id: i, backupId: A, started: d, ended: l, config: k, status: P, taskStats: r, errorMsg: y } = s, N = d && l && new Date(l).getTime() / 1e3 - new Date(d).getTime() / 1e3;
43
43
  return /* @__PURE__ */ o(
44
44
  "div",
45
45
  {
46
46
  className: `${t.backupsTableRow} ${a && a === i ? t.backupsTableRowActive : ""}`,
47
47
  children: [
48
- /* @__PURE__ */ o("div", { className: t.backupTitle, onClick: () => !f && k(i), children: [
48
+ /* @__PURE__ */ o("div", { className: t.restoreTitle, onClick: () => !f && T(i), children: [
49
49
  /* @__PURE__ */ e(m, { type: f ? "sync" : "box", size: 14 }),
50
50
  " ",
51
51
  f ? "sync" : "backup",
@@ -63,7 +63,7 @@ const se = ({
63
63
  }
64
64
  ),
65
65
  /* @__PURE__ */ e("div", { title: N + "s", children: F(N) }),
66
- /* @__PURE__ */ e("div", { className: t.target, "data-tooltip-id": "htmlToolTip", "data-tooltip-html": `${T.target}`, children: T.target || "Original" }),
66
+ /* @__PURE__ */ e("div", { className: t.target, "data-tooltip-id": "htmlToolTip", "data-tooltip-html": `${k.target}`, children: k.target || "Original" }),
67
67
  /* @__PURE__ */ e("div", { "data-tooltip-id": "", "data-tooltip-html": q((r == null ? void 0 : r.bytes_restored) || 0), children: j((r == null ? void 0 : r.files_restored) || 0) }),
68
68
  /* @__PURE__ */ e("div", { title: K(l || d), children: l ? C(new Date(l)) : C(new Date(d)) }),
69
69
  /* @__PURE__ */ e("div", { className: t.snapOptsBtn, children: /* @__PURE__ */ e("button", { onClick: () => p(a && a === i ? !1 : i), children: /* @__PURE__ */ e(m, { type: "dots-vertical", size: 12 }) }) }),
@@ -133,7 +133,7 @@ const se = ({
133
133
  planId: g,
134
134
  sourceId: S,
135
135
  sourceType: B,
136
- close: () => k(!1)
136
+ close: () => T(!1)
137
137
  }
138
138
  )
139
139
  ] });
@@ -1 +1 @@
1
- {"version":3,"file":"Restores.js","sources":["../../../../src/components/Plan/Restores/Restores.tsx"],"sourcesContent":["import { useState } from 'react';\r\nimport { toast } from 'react-toastify';\r\nimport { useQueryClient } from '@tanstack/react-query';\r\nimport Icon from '../../common/Icon/Icon';\r\nimport ActionModal from '../../common/ActionModal/ActionModal';\r\nimport { RestoreSlim } from '../../../@types/restores';\r\nimport { formatBytes, formatDateTime, formatDuration, formatNumberToK, timeAgo } from '../../../utils/helpers';\r\nimport classes from '../Backups/Backups.module.scss';\r\nimport StatusLabel from '../../common/StatusLabel/StatusLabel';\r\nimport { useDeleteRestore } from '../../../services/restores';\r\nimport BackupEvents from '../BackupEvents/BackupEvents';\r\nimport RestoreChangeViewer from '../../Restore/RestoreChangeViewer/RestoreChangeViewer';\r\n\r\nconst Restores = ({\r\n planId,\r\n method,\r\n restores = [],\r\n sourceId,\r\n sourceType,\r\n}: {\r\n planId: string;\r\n method: string;\r\n sourceId: string;\r\n sourceType: string;\r\n restores: RestoreSlim[];\r\n}) => {\r\n const [showSnapOptions, setShowSnapOptions] = useState<false | string>(false);\r\n const [previewRestore, setPreviewRestore] = useState<false | RestoreSlim>(false);\r\n const [showDeleteModal, setShowDeleteModal] = useState<RestoreSlim | false>(false);\r\n const [showRestoreEvents, setShowRestoreEvents] = useState<false | string>(false);\r\n const queryClient = useQueryClient();\r\n const deleteRestoreMutation = useDeleteRestore();\r\n\r\n const removeRestore = (restore: RestoreSlim) => {\r\n console.log('remove :', restore.id);\r\n deleteRestoreMutation.mutate(restore.id, {\r\n onError: () => {\r\n toast.error(`Failed to Remove Restore Entry`);\r\n },\r\n onSuccess: () => {\r\n queryClient.invalidateQueries({ queryKey: ['plan', planId] });\r\n toast.success(`Restore Entry Removed Successfully.`, { autoClose: 5000 });\r\n setShowDeleteModal(false);\r\n },\r\n });\r\n };\r\n\r\n const isSync = method === 'sync';\r\n\r\n return (\r\n <div className={classes.backupsTable}>\r\n <div className={classes.backupsTableHead}>\r\n <div>Restored Backup</div>\r\n <div>Status</div>\r\n <div>Duration</div>\r\n <div>Restore Path</div>\r\n <div>Files</div>\r\n <div>Date</div>\r\n <div></div>\r\n </div>\r\n <div className={classes.backupsTableContent}>\r\n {restores\r\n .filter((s) => s.status !== 'started')\r\n .map((restore) => {\r\n const { id, backupId, started, ended, config, status, taskStats, errorMsg } = restore;\r\n const duration = started && ended && new Date(ended).getTime() / 1000 - new Date(started).getTime() / 1000;\r\n return (\r\n <div\r\n key={id}\r\n className={`${classes.backupsTableRow} ${showSnapOptions && showSnapOptions === id ? classes.backupsTableRowActive : ''}`}\r\n >\r\n <div className={classes.backupTitle} onClick={() => !isSync && setShowRestoreEvents(id)}>\r\n <Icon type={isSync ? 'sync' : 'box'} size={14} /> {isSync ? 'sync' : 'backup'}-{backupId}\r\n </div>\r\n <div\r\n className={classes.status}\r\n data-tooltip-id=\"htmlToolTip\"\r\n data-tooltip-html={`<div><string>Error</string>: ${errorMsg}</div>`}\r\n data-tooltip-hidden={!errorMsg}\r\n >\r\n <StatusLabel status={status} hasError={!!errorMsg} />\r\n </div>\r\n <div title={duration + 's'}>{formatDuration(duration)}</div>\r\n <div className={classes.target} data-tooltip-id=\"htmlToolTip\" data-tooltip-html={`${config.target}`}>\r\n {config.target || 'Original'}\r\n </div>\r\n <div data-tooltip-id=\"\" data-tooltip-html={formatBytes(taskStats?.bytes_restored || 0)}>\r\n {formatNumberToK(taskStats?.files_restored || 0)}\r\n </div>\r\n <div title={formatDateTime(ended || started)}>{ended ? timeAgo(new Date(ended)) : timeAgo(new Date(started))}</div>\r\n <div className={classes.snapOptsBtn}>\r\n <button onClick={() => setShowSnapOptions(showSnapOptions && showSnapOptions === id ? false : id)}>\r\n <Icon type=\"dots-vertical\" size={12} />\r\n </button>\r\n </div>\r\n {showSnapOptions === id && (\r\n <div className={classes.settings}>\r\n <button\r\n onClick={() => {\r\n setPreviewRestore(restore);\r\n setShowSnapOptions(false);\r\n }}\r\n >\r\n <Icon type={'eye'} size={14} /> View Changes\r\n </button>\r\n <button\r\n onClick={() => {\r\n setShowDeleteModal(restore);\r\n setShowSnapOptions(false);\r\n }}\r\n >\r\n <Icon type=\"trash\" size={14} /> Remove\r\n </button>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n })}\r\n {restores.length === 0 && <div className={classes.noBackups}>No Backups Restored Yet.</div>}\r\n </div>\r\n {showDeleteModal && (\r\n <ActionModal\r\n title=\"Remove Restore Entry\"\r\n message={\r\n <>\r\n Are you sure you want to remove this Restore entry <strong>\"restore-{showDeleteModal.id}\"</strong> from the database?\r\n </>\r\n }\r\n closeModal={() => !deleteRestoreMutation.isPending && setShowDeleteModal(false)}\r\n width=\"400px\"\r\n primaryAction={{\r\n title: 'Yes, Remove Restore',\r\n type: 'danger',\r\n icon: 'trash',\r\n isPending: deleteRestoreMutation.isPending,\r\n action: () => removeRestore(showDeleteModal),\r\n }}\r\n />\r\n )}\r\n {previewRestore && previewRestore?.taskStats && <RestoreChangeViewer restore={previewRestore} close={() => setPreviewRestore(false)} />}\r\n {showRestoreEvents && (\r\n <BackupEvents\r\n id={showRestoreEvents}\r\n type=\"restore\"\r\n planId={planId}\r\n sourceId={sourceId}\r\n sourceType={sourceType}\r\n close={() => setShowRestoreEvents(false)}\r\n />\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nexport default Restores;\r\n"],"names":["Restores","planId","method","restores","sourceId","sourceType","showSnapOptions","setShowSnapOptions","useState","previewRestore","setPreviewRestore","showDeleteModal","setShowDeleteModal","showRestoreEvents","setShowRestoreEvents","queryClient","useQueryClient","deleteRestoreMutation","useDeleteRestore","removeRestore","restore","toast","isSync","jsxs","classes","jsx","id","backupId","started","ended","config","status","taskStats","errorMsg","duration","Icon","StatusLabel","formatDuration","formatBytes","formatNumberToK","formatDateTime","timeAgo","ActionModal","Fragment","RestoreChangeViewer","BackupEvents"],"mappings":"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"}
1
+ {"version":3,"file":"Restores.js","sources":["../../../../src/components/Plan/Restores/Restores.tsx"],"sourcesContent":["import { useState } from 'react';\r\nimport { toast } from 'react-toastify';\r\nimport { useQueryClient } from '@tanstack/react-query';\r\nimport Icon from '../../common/Icon/Icon';\r\nimport ActionModal from '../../common/ActionModal/ActionModal';\r\nimport { RestoreSlim } from '../../../@types/restores';\r\nimport { formatBytes, formatDateTime, formatDuration, formatNumberToK, timeAgo } from '../../../utils/helpers';\r\nimport classes from '../Backups/Backups.module.scss';\r\nimport StatusLabel from '../../common/StatusLabel/StatusLabel';\r\nimport { useDeleteRestore } from '../../../services/restores';\r\nimport BackupEvents from '../BackupEvents/BackupEvents';\r\nimport RestoreChangeViewer from '../../Restore/RestoreChangeViewer/RestoreChangeViewer';\r\n\r\nconst Restores = ({\r\n planId,\r\n method,\r\n restores = [],\r\n sourceId,\r\n sourceType,\r\n}: {\r\n planId: string;\r\n method: string;\r\n sourceId: string;\r\n sourceType: string;\r\n restores: RestoreSlim[];\r\n}) => {\r\n const [showSnapOptions, setShowSnapOptions] = useState<false | string>(false);\r\n const [previewRestore, setPreviewRestore] = useState<false | RestoreSlim>(false);\r\n const [showDeleteModal, setShowDeleteModal] = useState<RestoreSlim | false>(false);\r\n const [showRestoreEvents, setShowRestoreEvents] = useState<false | string>(false);\r\n const queryClient = useQueryClient();\r\n const deleteRestoreMutation = useDeleteRestore();\r\n\r\n const removeRestore = (restore: RestoreSlim) => {\r\n console.log('remove :', restore.id);\r\n deleteRestoreMutation.mutate(restore.id, {\r\n onError: () => {\r\n toast.error(`Failed to Remove Restore Entry`);\r\n },\r\n onSuccess: () => {\r\n queryClient.invalidateQueries({ queryKey: ['plan', planId] });\r\n toast.success(`Restore Entry Removed Successfully.`, { autoClose: 5000 });\r\n setShowDeleteModal(false);\r\n },\r\n });\r\n };\r\n\r\n const isSync = method === 'sync';\r\n\r\n return (\r\n <div className={classes.backupsTable}>\r\n <div className={classes.backupsTableHead}>\r\n <div>Restored Backup</div>\r\n <div>Status</div>\r\n <div>Duration</div>\r\n <div>Restore Path</div>\r\n <div>Files</div>\r\n <div>Date</div>\r\n <div></div>\r\n </div>\r\n <div className={classes.backupsTableContent}>\r\n {restores\r\n .filter((s) => s.status !== 'started')\r\n .map((restore) => {\r\n const { id, backupId, started, ended, config, status, taskStats, errorMsg } = restore;\r\n const duration = started && ended && new Date(ended).getTime() / 1000 - new Date(started).getTime() / 1000;\r\n return (\r\n <div\r\n key={id}\r\n className={`${classes.backupsTableRow} ${showSnapOptions && showSnapOptions === id ? classes.backupsTableRowActive : ''}`}\r\n >\r\n <div className={classes.restoreTitle} onClick={() => !isSync && setShowRestoreEvents(id)}>\r\n <Icon type={isSync ? 'sync' : 'box'} size={14} /> {isSync ? 'sync' : 'backup'}-{backupId}\r\n </div>\r\n <div\r\n className={classes.status}\r\n data-tooltip-id=\"htmlToolTip\"\r\n data-tooltip-html={`<div><string>Error</string>: ${errorMsg}</div>`}\r\n data-tooltip-hidden={!errorMsg}\r\n >\r\n <StatusLabel status={status} hasError={!!errorMsg} />\r\n </div>\r\n <div title={duration + 's'}>{formatDuration(duration)}</div>\r\n <div className={classes.target} data-tooltip-id=\"htmlToolTip\" data-tooltip-html={`${config.target}`}>\r\n {config.target || 'Original'}\r\n </div>\r\n <div data-tooltip-id=\"\" data-tooltip-html={formatBytes(taskStats?.bytes_restored || 0)}>\r\n {formatNumberToK(taskStats?.files_restored || 0)}\r\n </div>\r\n <div title={formatDateTime(ended || started)}>{ended ? timeAgo(new Date(ended)) : timeAgo(new Date(started))}</div>\r\n <div className={classes.snapOptsBtn}>\r\n <button onClick={() => setShowSnapOptions(showSnapOptions && showSnapOptions === id ? false : id)}>\r\n <Icon type=\"dots-vertical\" size={12} />\r\n </button>\r\n </div>\r\n {showSnapOptions === id && (\r\n <div className={classes.settings}>\r\n <button\r\n onClick={() => {\r\n setPreviewRestore(restore);\r\n setShowSnapOptions(false);\r\n }}\r\n >\r\n <Icon type={'eye'} size={14} /> View Changes\r\n </button>\r\n <button\r\n onClick={() => {\r\n setShowDeleteModal(restore);\r\n setShowSnapOptions(false);\r\n }}\r\n >\r\n <Icon type=\"trash\" size={14} /> Remove\r\n </button>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n })}\r\n {restores.length === 0 && <div className={classes.noBackups}>No Backups Restored Yet.</div>}\r\n </div>\r\n {showDeleteModal && (\r\n <ActionModal\r\n title=\"Remove Restore Entry\"\r\n message={\r\n <>\r\n Are you sure you want to remove this Restore entry <strong>\"restore-{showDeleteModal.id}\"</strong> from the database?\r\n </>\r\n }\r\n closeModal={() => !deleteRestoreMutation.isPending && setShowDeleteModal(false)}\r\n width=\"400px\"\r\n primaryAction={{\r\n title: 'Yes, Remove Restore',\r\n type: 'danger',\r\n icon: 'trash',\r\n isPending: deleteRestoreMutation.isPending,\r\n action: () => removeRestore(showDeleteModal),\r\n }}\r\n />\r\n )}\r\n {previewRestore && previewRestore?.taskStats && <RestoreChangeViewer restore={previewRestore} close={() => setPreviewRestore(false)} />}\r\n {showRestoreEvents && (\r\n <BackupEvents\r\n id={showRestoreEvents}\r\n type=\"restore\"\r\n planId={planId}\r\n sourceId={sourceId}\r\n sourceType={sourceType}\r\n close={() => setShowRestoreEvents(false)}\r\n />\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nexport default Restores;\r\n"],"names":["Restores","planId","method","restores","sourceId","sourceType","showSnapOptions","setShowSnapOptions","useState","previewRestore","setPreviewRestore","showDeleteModal","setShowDeleteModal","showRestoreEvents","setShowRestoreEvents","queryClient","useQueryClient","deleteRestoreMutation","useDeleteRestore","removeRestore","restore","toast","isSync","jsxs","classes","jsx","id","backupId","started","ended","config","status","taskStats","errorMsg","duration","Icon","StatusLabel","formatDuration","formatBytes","formatNumberToK","formatDateTime","timeAgo","ActionModal","Fragment","RestoreChangeViewer","BackupEvents"],"mappings":"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"}