@plutonhq/core-frontend 0.1.13 → 0.1.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (217) hide show
  1. package/dist-lib/@types/backups.d.ts +26 -0
  2. package/dist-lib/@types/backups.d.ts.map +1 -1
  3. package/dist-lib/@types/devices.d.ts +7 -0
  4. package/dist-lib/@types/devices.d.ts.map +1 -1
  5. package/dist-lib/@types/plans.d.ts +21 -1
  6. package/dist-lib/@types/plans.d.ts.map +1 -1
  7. package/dist-lib/@types/restores.d.ts +2 -0
  8. package/dist-lib/@types/restores.d.ts.map +1 -1
  9. package/dist-lib/components/Device/DeviceBackups/DeviceBackups.d.ts +3 -2
  10. package/dist-lib/components/Device/DeviceBackups/DeviceBackups.d.ts.map +1 -1
  11. package/dist-lib/components/Device/DeviceBackups/DeviceBackups.js +73 -85
  12. package/dist-lib/components/Device/DeviceBackups/DeviceBackups.js.map +1 -1
  13. package/dist-lib/components/Plan/BackupEvents/BackupEvents.d.ts.map +1 -1
  14. package/dist-lib/components/Plan/BackupEvents/BackupEvents.js +88 -50
  15. package/dist-lib/components/Plan/BackupEvents/BackupEvents.js.map +1 -1
  16. package/dist-lib/components/Plan/BackupEvents/BackupEvents.module.scss.js +70 -38
  17. package/dist-lib/components/Plan/BackupEvents/BackupEvents.module.scss.js.map +1 -1
  18. package/dist-lib/components/Plan/BackupProgress/BackupProgress.d.ts.map +1 -1
  19. package/dist-lib/components/Plan/BackupProgress/BackupProgress.js +166 -123
  20. package/dist-lib/components/Plan/BackupProgress/BackupProgress.js.map +1 -1
  21. package/dist-lib/components/Plan/BackupProgress/BackupProgress.module.scss.js +64 -30
  22. package/dist-lib/components/Plan/BackupProgress/BackupProgress.module.scss.js.map +1 -1
  23. package/dist-lib/components/Plan/Backups/Backups.d.ts +8 -1
  24. package/dist-lib/components/Plan/Backups/Backups.d.ts.map +1 -1
  25. package/dist-lib/components/Plan/Backups/Backups.js +154 -125
  26. package/dist-lib/components/Plan/Backups/Backups.js.map +1 -1
  27. package/dist-lib/components/Plan/EditPlan/EditPlan.d.ts.map +1 -1
  28. package/dist-lib/components/Plan/EditPlan/EditPlan.js +11 -10
  29. package/dist-lib/components/Plan/EditPlan/EditPlan.js.map +1 -1
  30. package/dist-lib/components/Plan/Mirrors/MirrorDetails.d.ts +12 -0
  31. package/dist-lib/components/Plan/Mirrors/MirrorDetails.d.ts.map +1 -0
  32. package/dist-lib/components/Plan/Mirrors/MirrorDetails.js +68 -0
  33. package/dist-lib/components/Plan/Mirrors/MirrorDetails.js.map +1 -0
  34. package/dist-lib/components/Plan/Mirrors/MirrorDetails.module.scss.js +26 -0
  35. package/dist-lib/components/Plan/Mirrors/MirrorDetails.module.scss.js.map +1 -0
  36. package/dist-lib/components/Plan/Mirrors/MirrorStatusBadge.d.ts +11 -0
  37. package/dist-lib/components/Plan/Mirrors/MirrorStatusBadge.d.ts.map +1 -0
  38. package/dist-lib/components/Plan/Mirrors/MirrorStatusBadge.js +38 -0
  39. package/dist-lib/components/Plan/Mirrors/MirrorStatusBadge.js.map +1 -0
  40. package/dist-lib/components/Plan/Mirrors/MirrorStatusBadge.module.scss.js +16 -0
  41. package/dist-lib/components/Plan/Mirrors/MirrorStatusBadge.module.scss.js.map +1 -0
  42. package/dist-lib/components/Plan/Mirrors/MirrorStorageSelector.d.ts +14 -0
  43. package/dist-lib/components/Plan/Mirrors/MirrorStorageSelector.d.ts.map +1 -0
  44. package/dist-lib/components/Plan/Mirrors/MirrorStorageSelector.js +54 -0
  45. package/dist-lib/components/Plan/Mirrors/MirrorStorageSelector.js.map +1 -0
  46. package/dist-lib/components/Plan/Mirrors/MirrorStorageSelector.module.scss.js +26 -0
  47. package/dist-lib/components/Plan/Mirrors/MirrorStorageSelector.module.scss.js.map +1 -0
  48. package/dist-lib/components/Plan/Mirrors/MirrorStorageSelectorModal.d.ts +15 -0
  49. package/dist-lib/components/Plan/Mirrors/MirrorStorageSelectorModal.d.ts.map +1 -0
  50. package/dist-lib/components/Plan/Mirrors/MirrorStorageSelectorModal.js +34 -0
  51. package/dist-lib/components/Plan/Mirrors/MirrorStorageSelectorModal.js.map +1 -0
  52. package/dist-lib/components/Plan/PlanBackups/PlanBackups.d.ts.map +1 -1
  53. package/dist-lib/components/Plan/PlanBackups/PlanBackups.js +20 -17
  54. package/dist-lib/components/Plan/PlanBackups/PlanBackups.js.map +1 -1
  55. package/dist-lib/components/Plan/PlanForm/PlanForm.d.ts +2 -1
  56. package/dist-lib/components/Plan/PlanForm/PlanForm.d.ts.map +1 -1
  57. package/dist-lib/components/Plan/PlanForm/PlanForm.js +121 -94
  58. package/dist-lib/components/Plan/PlanForm/PlanForm.js.map +1 -1
  59. package/dist-lib/components/Plan/PlanIntegrity/PlanIntegrity.d.ts +16 -0
  60. package/dist-lib/components/Plan/PlanIntegrity/PlanIntegrity.d.ts.map +1 -0
  61. package/dist-lib/components/Plan/PlanIntegrity/PlanIntegrity.js +115 -0
  62. package/dist-lib/components/Plan/PlanIntegrity/PlanIntegrity.js.map +1 -0
  63. package/dist-lib/components/Plan/PlanIntegrity/PlanIntegrity.module.scss.js +26 -0
  64. package/dist-lib/components/Plan/PlanIntegrity/PlanIntegrity.module.scss.js.map +1 -0
  65. package/dist-lib/components/Plan/PlanItems/PlanItem.d.ts.map +1 -1
  66. package/dist-lib/components/Plan/PlanItems/PlanItem.js +58 -59
  67. package/dist-lib/components/Plan/PlanItems/PlanItem.js.map +1 -1
  68. package/dist-lib/components/Plan/PlanPendingBackup/PlanPendingBackup.d.ts +2 -2
  69. package/dist-lib/components/Plan/PlanPendingBackup/PlanPendingBackup.d.ts.map +1 -1
  70. package/dist-lib/components/Plan/PlanPendingBackup/PlanPendingBackup.js.map +1 -1
  71. package/dist-lib/components/Plan/PlanRemoveModal/PlanRemoveModal.js +8 -8
  72. package/dist-lib/components/Plan/PlanRemoveModal/PlanRemoveModal.js.map +1 -1
  73. package/dist-lib/components/Plan/PlanSettings/PlanReplicationSettings.d.ts +14 -0
  74. package/dist-lib/components/Plan/PlanSettings/PlanReplicationSettings.d.ts.map +1 -0
  75. package/dist-lib/components/Plan/PlanSettings/PlanReplicationSettings.js +290 -0
  76. package/dist-lib/components/Plan/PlanSettings/PlanReplicationSettings.js.map +1 -0
  77. package/dist-lib/components/Plan/PlanSettings/PlanReplicationSettings.module.scss.js +26 -0
  78. package/dist-lib/components/Plan/PlanSettings/PlanReplicationSettings.module.scss.js.map +1 -0
  79. package/dist-lib/components/Plan/PlanStats/PlanStats.d.ts.map +1 -1
  80. package/dist-lib/components/Plan/PlanStats/PlanStats.js +41 -42
  81. package/dist-lib/components/Plan/PlanStats/PlanStats.js.map +1 -1
  82. package/dist-lib/components/Plan/PlanStats/PlanStats.module.scss.js +5 -5
  83. package/dist-lib/components/Plan/PlanStorageInfo/PlanStorageInfo.d.ts +15 -0
  84. package/dist-lib/components/Plan/PlanStorageInfo/PlanStorageInfo.d.ts.map +1 -0
  85. package/dist-lib/components/Plan/PlanStorageInfo/PlanStorageInfo.js +69 -0
  86. package/dist-lib/components/Plan/PlanStorageInfo/PlanStorageInfo.js.map +1 -0
  87. package/dist-lib/components/Plan/PlanStorageInfo/PlanStorageInfo.module.scss.js +16 -0
  88. package/dist-lib/components/Plan/PlanStorageInfo/PlanStorageInfo.module.scss.js.map +1 -0
  89. package/dist-lib/components/Restore/RestoreWizard/RestoreConfirmStep.d.ts.map +1 -1
  90. package/dist-lib/components/Restore/RestoreWizard/RestoreConfirmStep.js +36 -34
  91. package/dist-lib/components/Restore/RestoreWizard/RestoreConfirmStep.js.map +1 -1
  92. package/dist-lib/components/Restore/RestoreWizard/RestorePreviewStep.d.ts.map +1 -1
  93. package/dist-lib/components/Restore/RestoreWizard/RestorePreviewStep.js +7 -5
  94. package/dist-lib/components/Restore/RestoreWizard/RestorePreviewStep.js.map +1 -1
  95. package/dist-lib/components/Restore/RestoreWizard/RestoreSettingsStep.d.ts +12 -4
  96. package/dist-lib/components/Restore/RestoreWizard/RestoreSettingsStep.d.ts.map +1 -1
  97. package/dist-lib/components/Restore/RestoreWizard/RestoreSettingsStep.js +44 -32
  98. package/dist-lib/components/Restore/RestoreWizard/RestoreSettingsStep.js.map +1 -1
  99. package/dist-lib/components/Restore/RestoreWizard/RestoreWizard.d.ts +5 -1
  100. package/dist-lib/components/Restore/RestoreWizard/RestoreWizard.d.ts.map +1 -1
  101. package/dist-lib/components/Restore/RestoreWizard/RestoreWizard.js +48 -44
  102. package/dist-lib/components/Restore/RestoreWizard/RestoreWizard.js.map +1 -1
  103. package/dist-lib/components/Restore/RestoreWizard/RestoreWizard.module.scss.js +32 -32
  104. package/dist-lib/components/Settings/GeneralSettings/GeneralSettings.d.ts +1 -1
  105. package/dist-lib/components/Settings/GeneralSettings/GeneralSettings.d.ts.map +1 -1
  106. package/dist-lib/components/Settings/GeneralSettings/GeneralSettings.js +52 -24
  107. package/dist-lib/components/Settings/GeneralSettings/GeneralSettings.js.map +1 -1
  108. package/dist-lib/components/Settings/IntegrationSettings/IntegrationSettings.d.ts.map +1 -1
  109. package/dist-lib/components/Settings/IntegrationSettings/IntegrationSettings.js +28 -19
  110. package/dist-lib/components/Settings/IntegrationSettings/IntegrationSettings.js.map +1 -1
  111. package/dist-lib/components/Settings/TwoFactorSetup/TwoFactorSetup.d.ts +7 -0
  112. package/dist-lib/components/Settings/TwoFactorSetup/TwoFactorSetup.d.ts.map +1 -0
  113. package/dist-lib/components/Settings/TwoFactorSetup/TwoFactorSetup.js +79 -0
  114. package/dist-lib/components/Settings/TwoFactorSetup/TwoFactorSetup.js.map +1 -0
  115. package/dist-lib/components/Settings/TwoFactorSetup/TwoFactorSetup.module.scss.js +24 -0
  116. package/dist-lib/components/Settings/TwoFactorSetup/TwoFactorSetup.module.scss.js.map +1 -0
  117. package/dist-lib/components/common/Icon/Icon.d.ts.map +1 -1
  118. package/dist-lib/components/common/Icon/Icon.js +11 -0
  119. package/dist-lib/components/common/Icon/Icon.js.map +1 -1
  120. package/dist-lib/components/common/PageHeader/PageHeader.module.scss.js +6 -6
  121. package/dist-lib/components/index.d.ts +6 -0
  122. package/dist-lib/components/index.d.ts.map +1 -1
  123. package/dist-lib/components.js +102 -90
  124. package/dist-lib/components.js.map +1 -1
  125. package/dist-lib/hooks/usePwaAutoUpdate.d.ts +11 -2
  126. package/dist-lib/hooks/usePwaAutoUpdate.d.ts.map +1 -1
  127. package/dist-lib/hooks/usePwaAutoUpdate.js +32 -10
  128. package/dist-lib/hooks/usePwaAutoUpdate.js.map +1 -1
  129. package/dist-lib/router.d.ts.map +1 -1
  130. package/dist-lib/router.js +46 -35
  131. package/dist-lib/router.js.map +1 -1
  132. package/dist-lib/routes/DeviceSingle/DeviceSingle.d.ts.map +1 -1
  133. package/dist-lib/routes/DeviceSingle/DeviceSingle.js +40 -40
  134. package/dist-lib/routes/DeviceSingle/DeviceSingle.js.map +1 -1
  135. package/dist-lib/routes/PlanSingle/PlanSingle.d.ts.map +1 -1
  136. package/dist-lib/routes/PlanSingle/PlanSingle.js +123 -98
  137. package/dist-lib/routes/PlanSingle/PlanSingle.js.map +1 -1
  138. package/dist-lib/services/backups.d.ts +15 -2
  139. package/dist-lib/services/backups.d.ts.map +1 -1
  140. package/dist-lib/services/backups.js +119 -100
  141. package/dist-lib/services/backups.js.map +1 -1
  142. package/dist-lib/services/plans.d.ts +20 -0
  143. package/dist-lib/services/plans.d.ts.map +1 -1
  144. package/dist-lib/services/plans.js +227 -172
  145. package/dist-lib/services/plans.js.map +1 -1
  146. package/dist-lib/services/restores.d.ts +10 -2
  147. package/dist-lib/services/restores.d.ts.map +1 -1
  148. package/dist-lib/services/restores.js +61 -57
  149. package/dist-lib/services/restores.js.map +1 -1
  150. package/dist-lib/services/settings.d.ts +16 -0
  151. package/dist-lib/services/settings.d.ts.map +1 -1
  152. package/dist-lib/services/settings.js +147 -68
  153. package/dist-lib/services/settings.js.map +1 -1
  154. package/dist-lib/services/users.d.ts.map +1 -1
  155. package/dist-lib/services/users.js +32 -32
  156. package/dist-lib/services/users.js.map +1 -1
  157. package/dist-lib/services.js +113 -101
  158. package/dist-lib/styles/core-frontend.css +1 -1
  159. package/dist-lib/utils/progressHelpers.d.ts +12 -1
  160. package/dist-lib/utils/progressHelpers.d.ts.map +1 -1
  161. package/dist-lib/utils/progressHelpers.js +121 -63
  162. package/dist-lib/utils/progressHelpers.js.map +1 -1
  163. package/dist-lib/utils.js +29 -28
  164. package/package.json +1 -1
  165. package/src/@types/backups.ts +28 -0
  166. package/src/@types/devices.ts +8 -0
  167. package/src/@types/plans.ts +23 -1
  168. package/src/@types/restores.ts +2 -0
  169. package/src/components/Device/DeviceBackups/DeviceBackups.tsx +11 -36
  170. package/src/components/Plan/BackupEvents/BackupEvents.module.scss +65 -0
  171. package/src/components/Plan/BackupEvents/BackupEvents.tsx +65 -4
  172. package/src/components/Plan/BackupProgress/BackupProgress.module.scss +121 -3
  173. package/src/components/Plan/BackupProgress/BackupProgress.tsx +149 -71
  174. package/src/components/Plan/Backups/Backups.tsx +52 -4
  175. package/src/components/Plan/EditPlan/EditPlan.tsx +1 -0
  176. package/src/components/Plan/Mirrors/MirrorDetails.module.scss +76 -0
  177. package/src/components/Plan/Mirrors/MirrorDetails.tsx +100 -0
  178. package/src/components/Plan/Mirrors/MirrorStatusBadge.module.scss +25 -0
  179. package/src/components/Plan/Mirrors/MirrorStatusBadge.tsx +65 -0
  180. package/src/components/Plan/Mirrors/MirrorStorageSelector.module.scss +97 -0
  181. package/src/components/Plan/Mirrors/MirrorStorageSelector.tsx +70 -0
  182. package/src/components/Plan/Mirrors/MirrorStorageSelectorModal.tsx +40 -0
  183. package/src/components/Plan/PlanBackups/PlanBackups.tsx +4 -1
  184. package/src/components/Plan/PlanForm/PlanForm.tsx +44 -17
  185. package/src/components/Plan/PlanIntegrity/PlanIntegrity.module.scss +110 -0
  186. package/src/components/Plan/PlanIntegrity/PlanIntegrity.tsx +187 -0
  187. package/src/components/Plan/PlanItems/PlanItem.tsx +3 -3
  188. package/src/components/Plan/PlanPendingBackup/PlanPendingBackup.tsx +2 -2
  189. package/src/components/Plan/PlanRemoveModal/PlanRemoveModal.tsx +1 -1
  190. package/src/components/Plan/PlanSettings/PlanReplicationSettings.module.scss +105 -0
  191. package/src/components/Plan/PlanSettings/PlanReplicationSettings.tsx +334 -0
  192. package/src/components/Plan/PlanStats/PlanStats.module.scss +1 -1
  193. package/src/components/Plan/PlanStats/PlanStats.tsx +8 -8
  194. package/src/components/Plan/PlanStorageInfo/PlanStorageInfo.module.scss +43 -0
  195. package/src/components/Plan/PlanStorageInfo/PlanStorageInfo.tsx +83 -0
  196. package/src/components/Restore/RestoreWizard/RestoreConfirmStep.tsx +2 -0
  197. package/src/components/Restore/RestoreWizard/RestorePreviewStep.tsx +2 -0
  198. package/src/components/Restore/RestoreWizard/RestoreSettingsStep.tsx +36 -13
  199. package/src/components/Restore/RestoreWizard/RestoreWizard.module.scss +4 -0
  200. package/src/components/Restore/RestoreWizard/RestoreWizard.tsx +9 -1
  201. package/src/components/Settings/GeneralSettings/GeneralSettings.tsx +38 -2
  202. package/src/components/Settings/IntegrationSettings/IntegrationSettings.tsx +9 -2
  203. package/src/components/Settings/TwoFactorSetup/TwoFactorSetup.module.scss +62 -0
  204. package/src/components/Settings/TwoFactorSetup/TwoFactorSetup.tsx +102 -0
  205. package/src/components/common/Icon/Icon.tsx +10 -1
  206. package/src/components/common/PageHeader/PageHeader.module.scss +3 -0
  207. package/src/components/index.ts +8 -0
  208. package/src/hooks/usePwaAutoUpdate.ts +51 -11
  209. package/src/router.tsx +26 -17
  210. package/src/routes/DeviceSingle/DeviceSingle.tsx +3 -3
  211. package/src/routes/PlanSingle/PlanSingle.tsx +21 -0
  212. package/src/services/backups.ts +32 -9
  213. package/src/services/plans.ts +75 -0
  214. package/src/services/restores.ts +10 -2
  215. package/src/services/settings.ts +90 -0
  216. package/src/services/users.ts +14 -5
  217. package/src/utils/progressHelpers.ts +85 -1
@@ -1 +1 @@
1
- {"version":3,"file":"RestoreSettingsStep.js","sources":["../../../../src/components/Restore/RestoreWizard/RestoreSettingsStep.tsx"],"sourcesContent":["import { useState } from 'react';\r\nimport Select from '../../common/form/Select/Select';\r\nimport Input from '../../common/form/Input/Input';\r\nimport Icon from '../../common/Icon/Icon';\r\nimport classes from './RestoreWizard.module.scss';\r\nimport FolderPicker from '../../common/FolderPicker/FolderPicker';\r\nimport { RestoreSettings } from '../../../@types/restores';\r\nimport Toggle from '../../common/form/Toggle/Toggle';\r\n\r\ninterface settingsStepProps {\r\n backupId: string;\r\n settings: RestoreSettings;\r\n updateSettings: (settings: settingsStepProps['settings']) => void;\r\n goNext: () => void;\r\n close: () => void;\r\n}\r\n\r\nconst settingsStep = ({ backupId, settings, updateSettings, goNext, close }: settingsStepProps) => {\r\n const [showFileManager, setShowFileManager] = useState(false);\r\n const [showCustomPathError, setShowCustomPathError] = useState(false);\r\n\r\n const gotoPreviewStep = () => {\r\n if ((settings.type === 'custom' && settings.path) || settings.type === 'original') {\r\n goNext();\r\n } else {\r\n setShowCustomPathError(true);\r\n }\r\n };\r\n\r\n return (\r\n <div className={classes.stepContent}>\r\n <div className={classes.step}>\r\n <p>\r\n Select where you want to restore <strong>\"backup-{backupId}\"</strong>\r\n </p>\r\n <div className={classes.settingBlock}>\r\n <Select\r\n label=\"\"\r\n options={[\r\n { label: 'Restore to Original Path(s)', value: 'original' },\r\n { label: 'Restore to a Custom Path', value: 'custom' },\r\n ]}\r\n fieldValue={settings.type || 'sun'}\r\n onUpdate={(val: string) => updateSettings({ ...settings, type: val as 'original' | 'custom' })}\r\n full={true}\r\n />\r\n </div>\r\n {settings.type === 'custom' && (\r\n <div className={`${classes.settingBlock} ${showCustomPathError ? classes.settingBlockError : ''}`}>\r\n <Input\r\n label=\"Restore Backup To\"\r\n placeholder=\"Restore Path\"\r\n fieldValue={settings.path}\r\n onUpdate={(val) => {\r\n updateSettings({ ...settings, path: val });\r\n if (showCustomPathError) {\r\n setShowCustomPathError(false);\r\n }\r\n }}\r\n full={true}\r\n />\r\n <button\r\n data-tooltip-id=\"appTooltip\"\r\n data-tooltip-content=\"Open FileManager to Select Path\"\r\n data-tooltip-place=\"top\"\r\n className={classes.fileManagerBtn}\r\n onClick={() => setShowFileManager(true)}\r\n >\r\n <Icon type=\"folders\" size={16} />\r\n </button>\r\n </div>\r\n )}\r\n\r\n <div className={classes.settingBlock}>\r\n <div className={classes.checkboxSettings}>\r\n <div className={classes.label}>Overwrite Policy</div>\r\n <div className={classes.checkboxSettingsOpts}>\r\n <div\r\n onClick={() => updateSettings({ ...settings, overwrite: 'always' })}\r\n className={` ${classes.checkboxOption} ${settings.overwrite === 'always' ? classes.checkboxOptionActive : ''} `}\r\n >\r\n <div>\r\n <Icon type={settings.overwrite === 'always' ? 'check-circle-filled' : 'check-circle'} size={16} />\r\n </div>\r\n <div>\r\n <h5>Always Overwrite (Default)</h5>\r\n <div>\r\n Always overwrites already existing files. Existing file content will be verified first and only mismatching parts will\r\n be restored to minimize downloads. Updates the metadata of all files.\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n onClick={() => updateSettings({ ...settings, overwrite: 'if-changed' })}\r\n className={` ${classes.checkboxOption} ${settings.overwrite === 'if-changed' ? classes.checkboxOptionActive : ''} `}\r\n >\r\n <div>\r\n <Icon type={settings.overwrite === 'if-changed' ? 'check-circle-filled' : 'check-circle'} size={16} />\r\n </div>\r\n <div>\r\n <h5>Overwrite If Changed</h5>\r\n <div>\r\n Like the previous case, but speeds up the file content check by assuming that files with matching size and modification\r\n time (mtime) are already up to date. In case of a mismatch, the full file content is verified. Updates the metadata of\r\n all files.\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n onClick={() => updateSettings({ ...settings, overwrite: 'if-newer' })}\r\n className={` ${classes.checkboxOption} ${settings.overwrite === 'if-newer' ? classes.checkboxOptionActive : ''} `}\r\n >\r\n <div>\r\n <Icon type={settings.overwrite === 'if-newer' ? 'check-circle-filled' : 'check-circle'} size={16} />\r\n </div>\r\n <div>\r\n <h5>Overwrite If Newer</h5>\r\n <div>Only overwrite existing files if the file in the snapshot has a newer modification time (mtime).</div>\r\n </div>\r\n </div>\r\n <div\r\n onClick={() => updateSettings({ ...settings, overwrite: 'never' })}\r\n className={` ${classes.checkboxOption} ${settings.overwrite === 'never' ? classes.checkboxOptionActive : ''} `}\r\n >\r\n <div>\r\n <Icon type={settings.overwrite === 'never' ? 'check-circle-filled' : 'check-circle'} size={16} />\r\n </div>\r\n <div>\r\n <h5>Never Overwrite</h5>\r\n <div>Never overwrite existing files.</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div className={classes.settingBlock}>\r\n <Toggle\r\n label=\"Delete Files that are not in the Snapshot from the Target Restore Path\"\r\n fieldValue={settings.delete}\r\n inline={false}\r\n onUpdate={(val) => {\r\n updateSettings({ ...settings, delete: val });\r\n }}\r\n />\r\n </div>\r\n </div>\r\n <div className={classes.footer}>\r\n <div className={classes.footerLeft}></div>\r\n <div className={classes.footerRight}>\r\n <button onClick={() => close()}>Cancel</button>\r\n <button onClick={() => gotoPreviewStep()}>\r\n Next: Select Files to Restore <Icon type=\"arrow-right\" size={14} />\r\n </button>\r\n </div>\r\n </div>\r\n\r\n {showFileManager && (\r\n <FolderPicker\r\n deviceId={'main'}\r\n title=\"Choose a Path to Restore\"\r\n footerText=\"Select a Path where you want to restore your backup\"\r\n selected={settings.path}\r\n close={() => setShowFileManager(false)}\r\n onSelect={(p) => updateSettings({ ...settings, path: p })}\r\n />\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nexport default settingsStep;\r\n"],"names":["settingsStep","backupId","settings","updateSettings","goNext","close","showFileManager","setShowFileManager","useState","showCustomPathError","setShowCustomPathError","gotoPreviewStep","jsxs","classes","jsx","Select","val","Input","Icon","Toggle","FolderPicker","p"],"mappings":"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"}
1
+ {"version":3,"file":"RestoreSettingsStep.js","sources":["../../../../src/components/Restore/RestoreWizard/RestoreSettingsStep.tsx"],"sourcesContent":["import { useState } from 'react';\r\nimport Select from '../../common/form/Select/Select';\r\nimport Input from '../../common/form/Input/Input';\r\nimport Icon from '../../common/Icon/Icon';\r\nimport classes from './RestoreWizard.module.scss';\r\nimport FolderPicker from '../../common/FolderPicker/FolderPicker';\r\nimport { RestoreSettings } from '../../../@types/restores';\r\nimport Toggle from '../../common/form/Toggle/Toggle';\r\nimport { Backup } from '../../..';\r\n\r\ninterface RestoreSettingsStepProps {\r\n backupId: string;\r\n deviceId: string;\r\n settings: RestoreSettings;\r\n mirrors?: Backup['mirrors'];\r\n primaryStorage: { id: string; type: string; name: string };\r\n updateSettings: (settings: RestoreSettingsStepProps['settings']) => void;\r\n goNext: () => void;\r\n close: () => void;\r\n}\r\n\r\nconst RestoreSettingsStep = ({ settings, mirrors = [], primaryStorage, updateSettings, goNext, close, deviceId }: RestoreSettingsStepProps) => {\r\n const [showFileManager, setShowFileManager] = useState(false);\r\n const [showCustomPathError, setShowCustomPathError] = useState(false);\r\n\r\n const gotoPreviewStep = () => {\r\n if ((settings.type === 'custom' && settings.path) || settings.type === 'original') {\r\n goNext();\r\n } else {\r\n setShowCustomPathError(true);\r\n }\r\n };\r\n\r\n return (\r\n <div className={classes.stepContent}>\r\n <div className={classes.step}>\r\n {mirrors && mirrors.length > 0 && (\r\n <div className={classes.settingBlock}>\r\n <Select\r\n customClasses={classes.storageSelect}\r\n label=\"Select Storage to Restore From\"\r\n options={[\r\n {\r\n label: primaryStorage!.name + ' (Primary)',\r\n value: 'primary',\r\n image: <img src={`/providers/${primaryStorage.type}.png`} />,\r\n },\r\n ...mirrors.map((m) => ({\r\n label: m.storageName + ' (Mirror)',\r\n value: m.replicationId,\r\n image: <img src={`/providers/${m.storageType}.png`} />,\r\n })),\r\n ]}\r\n fieldValue={settings.replicationId || primaryStorage.id}\r\n full={true}\r\n onUpdate={(value) => updateSettings({ ...settings, replicationId: value === 'primary' ? undefined : value })}\r\n />\r\n </div>\r\n )}\r\n\r\n <div className={classes.settingBlock}>\r\n <Select\r\n label=\"Select where you want to restore the backup\"\r\n options={[\r\n { label: 'Restore to Original Path(s)', value: 'original' },\r\n { label: 'Restore to a Custom Path', value: 'custom' },\r\n ]}\r\n fieldValue={settings.type || 'original'}\r\n onUpdate={(val: string) => updateSettings({ ...settings, type: val as 'original' | 'custom' })}\r\n full={true}\r\n />\r\n </div>\r\n {settings.type === 'custom' && (\r\n <div className={`${classes.settingBlock} ${showCustomPathError ? classes.settingBlockError : ''}`}>\r\n <Input\r\n label=\"Restore Backup To\"\r\n placeholder=\"Restore Path\"\r\n fieldValue={settings.path}\r\n onUpdate={(val) => {\r\n updateSettings({ ...settings, path: val });\r\n if (showCustomPathError) {\r\n setShowCustomPathError(false);\r\n }\r\n }}\r\n full={true}\r\n />\r\n <button\r\n data-tooltip-id=\"appTooltip\"\r\n data-tooltip-content=\"Open FileManager to Select Path\"\r\n data-tooltip-place=\"top\"\r\n className={classes.fileManagerBtn}\r\n onClick={() => setShowFileManager(true)}\r\n >\r\n <Icon type=\"folders\" size={16} />\r\n </button>\r\n </div>\r\n )}\r\n\r\n <div className={classes.settingBlock}>\r\n <div className={classes.checkboxSettings}>\r\n <div className={classes.label}>Overwrite Policy</div>\r\n <div className={classes.checkboxSettingsOpts}>\r\n <div\r\n onClick={() => updateSettings({ ...settings, overwrite: 'always' })}\r\n className={` ${classes.checkboxOption} ${settings.overwrite === 'always' ? classes.checkboxOptionActive : ''} `}\r\n >\r\n <div>\r\n <Icon type={settings.overwrite === 'always' ? 'check-circle-filled' : 'check-circle'} size={16} />\r\n </div>\r\n <div>\r\n <h5>Always Overwrite (Default)</h5>\r\n <div>\r\n Always overwrites already existing files. Existing file content will be verified first and only mismatching parts will\r\n be restored to minimize downloads. Updates the metadata of all files.\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n onClick={() => updateSettings({ ...settings, overwrite: 'if-changed' })}\r\n className={` ${classes.checkboxOption} ${settings.overwrite === 'if-changed' ? classes.checkboxOptionActive : ''} `}\r\n >\r\n <div>\r\n <Icon type={settings.overwrite === 'if-changed' ? 'check-circle-filled' : 'check-circle'} size={16} />\r\n </div>\r\n <div>\r\n <h5>Overwrite If Changed</h5>\r\n <div>\r\n Like the previous case, but speeds up the file content check by assuming that files with matching size and modification\r\n time (mtime) are already up to date. In case of a mismatch, the full file content is verified. Updates the metadata of\r\n all files.\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n onClick={() => updateSettings({ ...settings, overwrite: 'if-newer' })}\r\n className={` ${classes.checkboxOption} ${settings.overwrite === 'if-newer' ? classes.checkboxOptionActive : ''} `}\r\n >\r\n <div>\r\n <Icon type={settings.overwrite === 'if-newer' ? 'check-circle-filled' : 'check-circle'} size={16} />\r\n </div>\r\n <div>\r\n <h5>Overwrite If Newer</h5>\r\n <div>Only overwrite existing files if the file in the snapshot has a newer modification time (mtime).</div>\r\n </div>\r\n </div>\r\n <div\r\n onClick={() => updateSettings({ ...settings, overwrite: 'never' })}\r\n className={` ${classes.checkboxOption} ${settings.overwrite === 'never' ? classes.checkboxOptionActive : ''} `}\r\n >\r\n <div>\r\n <Icon type={settings.overwrite === 'never' ? 'check-circle-filled' : 'check-circle'} size={16} />\r\n </div>\r\n <div>\r\n <h5>Never Overwrite</h5>\r\n <div>Never overwrite existing files.</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div className={classes.settingBlock}>\r\n <Toggle\r\n label=\"Delete Files that are not in the Snapshot from the Target Restore Path\"\r\n fieldValue={settings.delete}\r\n inline={false}\r\n onUpdate={(val) => updateSettings({ ...settings, delete: val })}\r\n />\r\n </div>\r\n </div>\r\n <div className={classes.footer}>\r\n <div className={classes.footerLeft}></div>\r\n <div className={classes.footerRight}>\r\n <button onClick={() => close()}>Cancel</button>\r\n <button onClick={() => gotoPreviewStep()}>\r\n Next: Select Files to Restore <Icon type=\"arrow-right\" size={14} />\r\n </button>\r\n </div>\r\n </div>\r\n\r\n {showFileManager && (\r\n <FolderPicker\r\n deviceId={deviceId || 'main'}\r\n title=\"Choose a Path to Restore\"\r\n footerText=\"Select a Path where you want to restore your backup\"\r\n selected={settings.path}\r\n close={() => setShowFileManager(false)}\r\n onSelect={(p) => updateSettings({ ...settings, path: p })}\r\n />\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nexport default RestoreSettingsStep;\r\n"],"names":["RestoreSettingsStep","settings","mirrors","primaryStorage","updateSettings","goNext","close","deviceId","showFileManager","setShowFileManager","useState","showCustomPathError","setShowCustomPathError","gotoPreviewStep","jsxs","classes","jsx","Select","m","value","val","Input","Icon","Toggle","FolderPicker","p"],"mappings":"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"}
@@ -1,8 +1,12 @@
1
+ import { Backup, Plan } from '../../..';
1
2
  interface RestoreWizardProps {
2
3
  backupId: string;
3
4
  planId: string;
5
+ deviceId: string;
6
+ planStorage: Plan['storage'];
7
+ mirrors?: Backup['mirrors'];
4
8
  close: () => void;
5
9
  }
6
- declare const RestoreWizard: ({ backupId, planId, close }: RestoreWizardProps) => import("react/jsx-runtime").JSX.Element;
10
+ declare const RestoreWizard: ({ backupId, planId, deviceId, mirrors, planStorage, close }: RestoreWizardProps) => import("react/jsx-runtime").JSX.Element;
7
11
  export default RestoreWizard;
8
12
  //# sourceMappingURL=RestoreWizard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RestoreWizard.d.ts","sourceRoot":"","sources":["../../../../src/components/Restore/RestoreWizard/RestoreWizard.tsx"],"names":[],"mappings":"AAWA,UAAU,kBAAkB;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,QAAA,MAAM,aAAa,GAAI,6BAA6B,kBAAkB,4CAmHrE,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"RestoreWizard.d.ts","sourceRoot":"","sources":["../../../../src/components/Restore/RestoreWizard/RestoreWizard.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAExC,UAAU,kBAAkB;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IAC5B,KAAK,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,QAAA,MAAM,aAAa,GAAI,6DAA6D,kBAAkB,4CAuHrG,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -1,115 +1,119 @@
1
1
  import { jsx as t, jsxs as r } from "react/jsx-runtime";
2
- import { useState as h, useMemo as x } from "react";
3
- import { useIsFetching as P, useIsMutating as R } from "@tanstack/react-query";
4
- import o from "../../common/Icon/Icon.js";
2
+ import { useState as h, useMemo as k } from "react";
3
+ import { useIsFetching as $, useIsMutating as C } from "@tanstack/react-query";
4
+ import n from "../../common/Icon/Icon.js";
5
5
  import s from "./RestoreWizard.module.scss.js";
6
- import k from "./RestoreSettingsStep.js";
7
- import $ from "./RestorePreviewStep.js";
8
- import C from "./RestoreConfirmStep.js";
9
- import { useGetSnapshotFiles as F } from "../../../services/backups.js";
10
- import B from "./RestoreFileSelectorStep.js";
11
- const J = ({ backupId: c, planId: u, close: l }) => {
12
- const [e, n] = h(1), [p, g] = h({
6
+ import F from "./RestoreSettingsStep.js";
7
+ import B from "./RestorePreviewStep.js";
8
+ import M from "./RestoreConfirmStep.js";
9
+ import { useGetSnapshotFiles as W } from "../../../services/backups.js";
10
+ import j from "./RestoreFileSelectorStep.js";
11
+ const Q = ({ backupId: a, planId: g, deviceId: v, mirrors: y, planStorage: N, close: c }) => {
12
+ const [e, o] = h(1), [p, u] = h({
13
13
  type: "original",
14
14
  path: "",
15
15
  overwrite: "always",
16
16
  includes: [],
17
17
  excludes: [],
18
- delete: !1
19
- }), [S, v] = h({ stats: null, files: [] }), y = P(), N = R(), f = y > 0 || N > 0, { data: a, error: m } = F({ backupId: c }), d = a != null && a.result && Array.isArray(a.result) ? a.result : [], z = x(() => ({
18
+ delete: !1,
19
+ storageId: void 0
20
+ }), [S, z] = h({ stats: null, files: [] }), R = $(), w = C(), f = R > 0 || w > 0, { data: l, error: m } = W({ backupId: a }), d = l != null && l.result && Array.isArray(l.result) ? l.result : [], x = k(() => ({
20
21
  total_files: d.length,
21
- total_bytes: d.reduce((i, w) => i + w.size, 0)
22
+ total_bytes: d.reduce((i, P) => i + P.size, 0)
22
23
  }), [d]);
23
24
  return /* @__PURE__ */ t("div", { className: s.restoreWizard, children: /* @__PURE__ */ r("div", { className: s.content, style: { maxWidth: (e === 2 || e === 3) && 1200 || void 0 }, children: [
24
25
  /* @__PURE__ */ r("div", { className: s.header, children: [
25
26
  /* @__PURE__ */ r("h3", { children: [
26
- /* @__PURE__ */ t(o, { type: "restore", size: 16 }),
27
+ /* @__PURE__ */ t(n, { type: "restore", size: 16 }),
27
28
  " Restore Backup"
28
29
  ] }),
29
- /* @__PURE__ */ t("button", { className: s.close, onClick: () => !f && l(), children: /* @__PURE__ */ t(o, { type: "close", size: 24 }) })
30
+ /* @__PURE__ */ t("button", { className: s.close, onClick: () => !f && c(), children: /* @__PURE__ */ t(n, { type: "close", size: 24 }) })
30
31
  ] }),
31
32
  /* @__PURE__ */ t("div", { className: s.steps, children: /* @__PURE__ */ r("ul", { children: [
32
33
  /* @__PURE__ */ r("li", { className: ` ${e >= 1 ? s.stepCurrent : ""} ${e > 1 ? s.stepPassed : ""}`, children: [
33
34
  /* @__PURE__ */ r("span", { children: [
34
- e > 1 && /* @__PURE__ */ t(o, { type: "check", size: 11 }),
35
+ e > 1 && /* @__PURE__ */ t(n, { type: "check", size: 11 }),
35
36
  e === 1 ? "●" : ""
36
37
  ] }),
37
38
  /* @__PURE__ */ t("i", { children: "Settings" })
38
39
  ] }),
39
40
  /* @__PURE__ */ r("li", { className: ` ${e >= 2 ? s.stepCurrent : ""} ${e > 2 ? s.stepPassed : ""}`, children: [
40
41
  /* @__PURE__ */ r("span", { children: [
41
- e > 2 && /* @__PURE__ */ t(o, { type: "check", size: 11 }),
42
+ e > 2 && /* @__PURE__ */ t(n, { type: "check", size: 11 }),
42
43
  e === 2 ? "●" : ""
43
44
  ] }),
44
45
  /* @__PURE__ */ t("i", { children: "Select Files" })
45
46
  ] }),
46
47
  /* @__PURE__ */ r("li", { className: ` ${e >= 3 ? s.stepCurrent : ""} ${e > 3 ? s.stepPassed : ""}`, children: [
47
48
  /* @__PURE__ */ r("span", { children: [
48
- e > 3 && /* @__PURE__ */ t(o, { type: "check", size: 11 }),
49
+ e > 3 && /* @__PURE__ */ t(n, { type: "check", size: 11 }),
49
50
  e === 3 ? "●" : ""
50
51
  ] }),
51
52
  /* @__PURE__ */ t("i", { children: "Preview" })
52
53
  ] }),
53
54
  /* @__PURE__ */ r("li", { className: ` ${e === 4 ? s.stepCurrent : ""}`, children: [
54
- /* @__PURE__ */ t("span", { children: e === 4 && /* @__PURE__ */ t(o, { type: "check", size: 11 }) }),
55
+ /* @__PURE__ */ t("span", { children: e === 4 && /* @__PURE__ */ t(n, { type: "check", size: 11 }) }),
55
56
  /* @__PURE__ */ t("i", { children: "Restore" })
56
57
  ] })
57
58
  ] }) }),
58
59
  e === 1 && /* @__PURE__ */ t(
59
- k,
60
+ F,
60
61
  {
61
- backupId: c,
62
+ backupId: a,
63
+ deviceId: v,
62
64
  settings: p,
63
- updateSettings: (i) => g(i),
64
- goNext: () => n(2),
65
- close: l
65
+ primaryStorage: N,
66
+ mirrors: y,
67
+ updateSettings: (i) => u(i),
68
+ goNext: () => o(2),
69
+ close: c
66
70
  }
67
71
  ),
68
72
  e === 2 && /* @__PURE__ */ t(
69
- B,
73
+ j,
70
74
  {
71
- backupId: c,
75
+ backupId: a,
72
76
  settings: p,
73
- updateSettings: (i) => g(i),
77
+ updateSettings: (i) => u(i),
74
78
  files: d,
75
79
  isLoading: f,
76
80
  errorFetching: (m == null ? void 0 : m.message) || null,
77
81
  currentStep: e,
78
- goBack: () => e > 0 && n(e - 1),
79
- goNext: () => n(3),
80
- close: l,
82
+ goBack: () => e > 0 && o(e - 1),
83
+ goNext: () => o(3),
84
+ close: c,
81
85
  method: "backup"
82
86
  }
83
87
  ),
84
88
  e === 3 && /* @__PURE__ */ t(
85
- $,
89
+ B,
86
90
  {
87
- backupId: c,
88
- planId: u,
91
+ backupId: a,
92
+ planId: g,
89
93
  settings: p,
90
94
  preview: S,
91
- updatePreview: (i) => v(i),
92
- goBack: () => e > 0 && n(e - 1),
93
- goNext: () => n(4),
94
- close: l
95
+ updatePreview: (i) => z(i),
96
+ goBack: () => e > 0 && o(e - 1),
97
+ goNext: () => o(4),
98
+ close: c
95
99
  }
96
100
  ),
97
101
  e === 4 && /* @__PURE__ */ t(
98
- C,
102
+ M,
99
103
  {
100
- backupId: c,
101
- planId: u,
104
+ backupId: a,
105
+ planId: g,
102
106
  settings: p,
103
107
  stats: S.stats,
104
- snapshotsStats: z,
108
+ snapshotsStats: x,
105
109
  method: "backup",
106
- goBack: () => e > 0 && n(e - 1),
107
- close: l
110
+ goBack: () => e > 0 && o(e - 1),
111
+ close: c
108
112
  }
109
113
  )
110
114
  ] }) });
111
115
  };
112
116
  export {
113
- J as default
117
+ Q as default
114
118
  };
115
119
  //# sourceMappingURL=RestoreWizard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RestoreWizard.js","sources":["../../../../src/components/Restore/RestoreWizard/RestoreWizard.tsx"],"sourcesContent":["import { useMemo, useState } from 'react';\r\nimport { useIsFetching, useIsMutating } from '@tanstack/react-query';\r\nimport Icon from '../../common/Icon/Icon';\r\nimport classes from './RestoreWizard.module.scss';\r\nimport RestoreSettingsStep from './RestoreSettingsStep';\r\nimport RestorePreviewStep from './RestorePreviewStep';\r\nimport RestoreConfirmStep from './RestoreConfirmStep';\r\nimport { RestoredFileItem, RestoredItemsStats, RestoreFileItem, RestoreSettings } from '../../../@types/restores';\r\nimport { useGetSnapshotFiles } from '../../../services/backups';\r\nimport RestoreFileSelectorStep from './RestoreFileSelectorStep';\r\n\r\ninterface RestoreWizardProps {\r\n backupId: string;\r\n planId: string;\r\n close: () => void;\r\n}\r\n\r\nconst RestoreWizard = ({ backupId, planId, close }: RestoreWizardProps) => {\r\n const [step, setStep] = useState(1);\r\n const [restoreSettings, setRestoreSettings] = useState<RestoreSettings>({\r\n type: 'original',\r\n path: '',\r\n overwrite: 'always',\r\n includes: [],\r\n excludes: [],\r\n delete: false,\r\n });\r\n const [restorePreview, setRestorePreview] = useState<{ stats: RestoredItemsStats | null; files: RestoredFileItem[] }>({ stats: null, files: [] });\r\n const isFetching = useIsFetching();\r\n const isMutating = useIsMutating();\r\n const isLoading = isFetching > 0 || isMutating > 0;\r\n const { data: snapshotData, error: snapShotError } = useGetSnapshotFiles({ backupId });\r\n const files: RestoreFileItem[] = snapshotData?.result && Array.isArray(snapshotData.result) ? snapshotData.result : [];\r\n\r\n const snapShotsStats = useMemo(() => {\r\n return {\r\n total_files: files.length,\r\n total_bytes: files.reduce((acc, file) => acc + file.size, 0),\r\n };\r\n }, [files]);\r\n\r\n return (\r\n <div className={classes.restoreWizard}>\r\n <div className={classes.content} style={{ maxWidth: ((step === 2 || step === 3) && 1200) || undefined }}>\r\n <div className={classes.header}>\r\n <h3>\r\n <Icon type=\"restore\" size={16} /> Restore Backup\r\n </h3>\r\n <button className={classes.close} onClick={() => !isLoading && close()}>\r\n <Icon type=\"close\" size={24} />\r\n </button>\r\n </div>\r\n <div className={classes.steps}>\r\n <ul>\r\n <li className={` ${step >= 1 ? classes.stepCurrent : ''} ${step > 1 ? classes.stepPassed : ''}`}>\r\n <span>\r\n {step > 1 && <Icon type=\"check\" size={11} />}\r\n {step === 1 ? '●' : ''}\r\n </span>\r\n <i>Settings</i>\r\n </li>\r\n <li className={` ${step >= 2 ? classes.stepCurrent : ''} ${step > 2 ? classes.stepPassed : ''}`}>\r\n <span>\r\n {step > 2 && <Icon type=\"check\" size={11} />}\r\n {step === 2 ? '●' : ''}\r\n </span>\r\n <i>Select Files</i>\r\n </li>\r\n <li className={` ${step >= 3 ? classes.stepCurrent : ''} ${step > 3 ? classes.stepPassed : ''}`}>\r\n <span>\r\n {step > 3 && <Icon type=\"check\" size={11} />}\r\n {step === 3 ? '●' : ''}\r\n </span>\r\n <i>Preview</i>\r\n </li>\r\n <li className={` ${step === 4 ? classes.stepCurrent : ''}`}>\r\n <span>{step === 4 && <Icon type=\"check\" size={11} />}</span>\r\n <i>Restore</i>\r\n </li>\r\n </ul>\r\n </div>\r\n {step === 1 && (\r\n <RestoreSettingsStep\r\n backupId={backupId}\r\n settings={restoreSettings}\r\n updateSettings={(settings) => setRestoreSettings(settings)}\r\n goNext={() => setStep(2)}\r\n close={close}\r\n />\r\n )}\r\n {step === 2 && (\r\n <RestoreFileSelectorStep\r\n backupId={backupId}\r\n settings={restoreSettings}\r\n updateSettings={(settings) => setRestoreSettings(settings as RestoreSettings)}\r\n files={files}\r\n isLoading={isLoading}\r\n errorFetching={snapShotError?.message || null}\r\n currentStep={step}\r\n goBack={() => step > 0 && setStep(step - 1)}\r\n goNext={() => setStep(3)}\r\n close={close}\r\n method=\"backup\"\r\n />\r\n )}\r\n {step === 3 && (\r\n <RestorePreviewStep\r\n backupId={backupId}\r\n planId={planId}\r\n settings={restoreSettings}\r\n preview={restorePreview}\r\n updatePreview={(preview) => setRestorePreview(preview)}\r\n goBack={() => step > 0 && setStep(step - 1)}\r\n goNext={() => setStep(4)}\r\n close={close}\r\n />\r\n )}\r\n {step === 4 && (\r\n <RestoreConfirmStep\r\n backupId={backupId}\r\n planId={planId}\r\n settings={restoreSettings}\r\n stats={restorePreview.stats}\r\n snapshotsStats={snapShotsStats}\r\n method=\"backup\"\r\n goBack={() => step > 0 && setStep(step - 1)}\r\n close={close}\r\n />\r\n )}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default RestoreWizard;\r\n"],"names":["RestoreWizard","backupId","planId","close","step","setStep","useState","restoreSettings","setRestoreSettings","restorePreview","setRestorePreview","isFetching","useIsFetching","isMutating","useIsMutating","isLoading","snapshotData","snapShotError","useGetSnapshotFiles","files","snapShotsStats","useMemo","acc","file","classes","jsxs","jsx","Icon","RestoreSettingsStep","settings","RestoreFileSelectorStep","RestorePreviewStep","preview","RestoreConfirmStep"],"mappings":";;;;;;;;;;AAiBA,MAAMA,IAAgB,CAAC,EAAE,UAAAC,GAAU,QAAAC,GAAQ,OAAAC,QAAgC;AACxE,QAAM,CAACC,GAAMC,CAAO,IAAIC,EAAS,CAAC,GAC5B,CAACC,GAAiBC,CAAkB,IAAIF,EAA0B;AAAA,IACrE,MAAM;AAAA,IACN,MAAM;AAAA,IACN,WAAW;AAAA,IACX,UAAU,CAAA;AAAA,IACV,UAAU,CAAA;AAAA,IACV,QAAQ;AAAA,EAAA,CACV,GACK,CAACG,GAAgBC,CAAiB,IAAIJ,EAA0E,EAAE,OAAO,MAAM,OAAO,CAAA,GAAI,GAC1IK,IAAaC,EAAA,GACbC,IAAaC,EAAA,GACbC,IAAYJ,IAAa,KAAKE,IAAa,GAC3C,EAAE,MAAMG,GAAc,OAAOC,MAAkBC,EAAoB,EAAE,UAAAjB,GAAU,GAC/EkB,IAA2BH,KAAA,QAAAA,EAAc,UAAU,MAAM,QAAQA,EAAa,MAAM,IAAIA,EAAa,SAAS,CAAA,GAE9GI,IAAiBC,EAAQ,OACrB;AAAA,IACJ,aAAaF,EAAM;AAAA,IACnB,aAAaA,EAAM,OAAO,CAACG,GAAKC,MAASD,IAAMC,EAAK,MAAM,CAAC;AAAA,EAAA,IAE9D,CAACJ,CAAK,CAAC;AAEV,2BACI,OAAA,EAAI,WAAWK,EAAQ,eACrB,UAAA,gBAAAC,EAAC,SAAI,WAAWD,EAAQ,SAAS,OAAO,EAAE,WAAYpB,MAAS,KAAKA,MAAS,MAAM,QAAS,UACzF,UAAA;AAAA,IAAA,gBAAAqB,EAAC,OAAA,EAAI,WAAWD,EAAQ,QACrB,UAAA;AAAA,MAAA,gBAAAC,EAAC,MAAA,EACE,UAAA;AAAA,QAAA,gBAAAC,EAACC,GAAA,EAAK,MAAK,WAAU,MAAM,IAAI;AAAA,QAAE;AAAA,MAAA,GACpC;AAAA,wBACC,UAAA,EAAO,WAAWH,EAAQ,OAAO,SAAS,MAAM,CAACT,KAAaZ,EAAA,GAC5D,UAAA,gBAAAuB,EAACC,GAAA,EAAK,MAAK,SAAQ,MAAM,IAAI,EAAA,CAChC;AAAA,IAAA,GACH;AAAA,sBACC,OAAA,EAAI,WAAWH,EAAQ,OACrB,4BAAC,MAAA,EACE,UAAA;AAAA,MAAA,gBAAAC,EAAC,MAAA,EAAG,WAAW,IAAIrB,KAAQ,IAAIoB,EAAQ,cAAc,EAAE,KAAKpB,IAAO,IAAIoB,EAAQ,aAAa,EAAE,IAC3F,UAAA;AAAA,QAAA,gBAAAC,EAAC,QAAA,EACG,UAAA;AAAA,UAAArB,IAAO,KAAK,gBAAAsB,EAACC,GAAA,EAAK,MAAK,SAAQ,MAAM,IAAI;AAAA,UACzCvB,MAAS,IAAI,MAAM;AAAA,QAAA,GACvB;AAAA,QACA,gBAAAsB,EAAC,OAAE,UAAA,WAAA,CAAQ;AAAA,MAAA,GACd;AAAA,MACA,gBAAAD,EAAC,MAAA,EAAG,WAAW,IAAIrB,KAAQ,IAAIoB,EAAQ,cAAc,EAAE,KAAKpB,IAAO,IAAIoB,EAAQ,aAAa,EAAE,IAC3F,UAAA;AAAA,QAAA,gBAAAC,EAAC,QAAA,EACG,UAAA;AAAA,UAAArB,IAAO,KAAK,gBAAAsB,EAACC,GAAA,EAAK,MAAK,SAAQ,MAAM,IAAI;AAAA,UACzCvB,MAAS,IAAI,MAAM;AAAA,QAAA,GACvB;AAAA,QACA,gBAAAsB,EAAC,OAAE,UAAA,eAAA,CAAY;AAAA,MAAA,GAClB;AAAA,MACA,gBAAAD,EAAC,MAAA,EAAG,WAAW,IAAIrB,KAAQ,IAAIoB,EAAQ,cAAc,EAAE,IAAIpB,IAAO,IAAIoB,EAAQ,aAAa,EAAE,IAC1F,UAAA;AAAA,QAAA,gBAAAC,EAAC,QAAA,EACG,UAAA;AAAA,UAAArB,IAAO,KAAK,gBAAAsB,EAACC,GAAA,EAAK,MAAK,SAAQ,MAAM,IAAI;AAAA,UACzCvB,MAAS,IAAI,MAAM;AAAA,QAAA,GACvB;AAAA,QACA,gBAAAsB,EAAC,OAAE,UAAA,UAAA,CAAO;AAAA,MAAA,GACb;AAAA,MACA,gBAAAD,EAAC,QAAG,WAAW,IAAIrB,MAAS,IAAIoB,EAAQ,cAAc,EAAE,IACrD,UAAA;AAAA,QAAA,gBAAAE,EAAC,QAAA,EAAM,gBAAS,KAAK,gBAAAA,EAACC,KAAK,MAAK,SAAQ,MAAM,GAAA,CAAI,EAAA,CAAG;AAAA,QACrD,gBAAAD,EAAC,OAAE,UAAA,UAAA,CAAO;AAAA,MAAA,EAAA,CACb;AAAA,IAAA,EAAA,CACH,EAAA,CACH;AAAA,IACCtB,MAAS,KACP,gBAAAsB;AAAA,MAACE;AAAAA,MAAA;AAAA,QACE,UAAA3B;AAAA,QACA,UAAUM;AAAA,QACV,gBAAgB,CAACsB,MAAarB,EAAmBqB,CAAQ;AAAA,QACzD,QAAQ,MAAMxB,EAAQ,CAAC;AAAA,QACvB,OAAAF;AAAA,MAAA;AAAA,IAAA;AAAA,IAGLC,MAAS,KACP,gBAAAsB;AAAA,MAACI;AAAA,MAAA;AAAA,QACE,UAAA7B;AAAA,QACA,UAAUM;AAAA,QACV,gBAAgB,CAACsB,MAAarB,EAAmBqB,CAA2B;AAAA,QAC5E,OAAAV;AAAA,QACA,WAAAJ;AAAA,QACA,gBAAeE,KAAA,gBAAAA,EAAe,YAAW;AAAA,QACzC,aAAab;AAAA,QACb,QAAQ,MAAMA,IAAO,KAAKC,EAAQD,IAAO,CAAC;AAAA,QAC1C,QAAQ,MAAMC,EAAQ,CAAC;AAAA,QACvB,OAAAF;AAAA,QACA,QAAO;AAAA,MAAA;AAAA,IAAA;AAAA,IAGZC,MAAS,KACP,gBAAAsB;AAAA,MAACK;AAAA,MAAA;AAAA,QACE,UAAA9B;AAAA,QACA,QAAAC;AAAA,QACA,UAAUK;AAAA,QACV,SAASE;AAAA,QACT,eAAe,CAACuB,MAAYtB,EAAkBsB,CAAO;AAAA,QACrD,QAAQ,MAAM5B,IAAO,KAAKC,EAAQD,IAAO,CAAC;AAAA,QAC1C,QAAQ,MAAMC,EAAQ,CAAC;AAAA,QACvB,OAAAF;AAAA,MAAA;AAAA,IAAA;AAAA,IAGLC,MAAS,KACP,gBAAAsB;AAAA,MAACO;AAAA,MAAA;AAAA,QACE,UAAAhC;AAAA,QACA,QAAAC;AAAA,QACA,UAAUK;AAAA,QACV,OAAOE,EAAe;AAAA,QACtB,gBAAgBW;AAAA,QAChB,QAAO;AAAA,QACP,QAAQ,MAAMhB,IAAO,KAAKC,EAAQD,IAAO,CAAC;AAAA,QAC1C,OAAAD;AAAA,MAAA;AAAA,IAAA;AAAA,EACH,EAAA,CAEN,EAAA,CACH;AAEN;"}
1
+ {"version":3,"file":"RestoreWizard.js","sources":["../../../../src/components/Restore/RestoreWizard/RestoreWizard.tsx"],"sourcesContent":["import { useMemo, useState } from 'react';\r\nimport { useIsFetching, useIsMutating } from '@tanstack/react-query';\r\nimport Icon from '../../common/Icon/Icon';\r\nimport classes from './RestoreWizard.module.scss';\r\nimport RestoreSettingsStep from './RestoreSettingsStep';\r\nimport RestorePreviewStep from './RestorePreviewStep';\r\nimport RestoreConfirmStep from './RestoreConfirmStep';\r\nimport { RestoredFileItem, RestoredItemsStats, RestoreFileItem, RestoreSettings } from '../../../@types/restores';\r\nimport { useGetSnapshotFiles } from '../../../services/backups';\r\nimport RestoreFileSelectorStep from './RestoreFileSelectorStep';\r\nimport { Backup, Plan } from '../../..';\r\n\r\ninterface RestoreWizardProps {\r\n backupId: string;\r\n planId: string;\r\n deviceId: string;\r\n planStorage: Plan['storage'];\r\n mirrors?: Backup['mirrors'];\r\n close: () => void;\r\n}\r\n\r\nconst RestoreWizard = ({ backupId, planId, deviceId, mirrors, planStorage, close }: RestoreWizardProps) => {\r\n const [step, setStep] = useState(1);\r\n const [restoreSettings, setRestoreSettings] = useState<RestoreSettings>({\r\n type: 'original',\r\n path: '',\r\n overwrite: 'always',\r\n includes: [],\r\n excludes: [],\r\n delete: false,\r\n storageId: undefined,\r\n });\r\n const [restorePreview, setRestorePreview] = useState<{ stats: RestoredItemsStats | null; files: RestoredFileItem[] }>({ stats: null, files: [] });\r\n const isFetching = useIsFetching();\r\n const isMutating = useIsMutating();\r\n const isLoading = isFetching > 0 || isMutating > 0;\r\n const { data: snapshotData, error: snapShotError } = useGetSnapshotFiles({ backupId });\r\n const files: RestoreFileItem[] = snapshotData?.result && Array.isArray(snapshotData.result) ? snapshotData.result : [];\r\n\r\n const snapShotsStats = useMemo(() => {\r\n return {\r\n total_files: files.length,\r\n total_bytes: files.reduce((acc, file) => acc + file.size, 0),\r\n };\r\n }, [files]);\r\n\r\n return (\r\n <div className={classes.restoreWizard}>\r\n <div className={classes.content} style={{ maxWidth: ((step === 2 || step === 3) && 1200) || undefined }}>\r\n <div className={classes.header}>\r\n <h3>\r\n <Icon type=\"restore\" size={16} /> Restore Backup\r\n </h3>\r\n <button className={classes.close} onClick={() => !isLoading && close()}>\r\n <Icon type=\"close\" size={24} />\r\n </button>\r\n </div>\r\n <div className={classes.steps}>\r\n <ul>\r\n <li className={` ${step >= 1 ? classes.stepCurrent : ''} ${step > 1 ? classes.stepPassed : ''}`}>\r\n <span>\r\n {step > 1 && <Icon type=\"check\" size={11} />}\r\n {step === 1 ? '●' : ''}\r\n </span>\r\n <i>Settings</i>\r\n </li>\r\n <li className={` ${step >= 2 ? classes.stepCurrent : ''} ${step > 2 ? classes.stepPassed : ''}`}>\r\n <span>\r\n {step > 2 && <Icon type=\"check\" size={11} />}\r\n {step === 2 ? '●' : ''}\r\n </span>\r\n <i>Select Files</i>\r\n </li>\r\n <li className={` ${step >= 3 ? classes.stepCurrent : ''} ${step > 3 ? classes.stepPassed : ''}`}>\r\n <span>\r\n {step > 3 && <Icon type=\"check\" size={11} />}\r\n {step === 3 ? '●' : ''}\r\n </span>\r\n <i>Preview</i>\r\n </li>\r\n <li className={` ${step === 4 ? classes.stepCurrent : ''}`}>\r\n <span>{step === 4 && <Icon type=\"check\" size={11} />}</span>\r\n <i>Restore</i>\r\n </li>\r\n </ul>\r\n </div>\r\n {step === 1 && (\r\n <RestoreSettingsStep\r\n backupId={backupId}\r\n deviceId={deviceId}\r\n settings={restoreSettings}\r\n primaryStorage={planStorage}\r\n mirrors={mirrors}\r\n updateSettings={(settings) => setRestoreSettings(settings)}\r\n goNext={() => setStep(2)}\r\n close={close}\r\n />\r\n )}\r\n {step === 2 && (\r\n <RestoreFileSelectorStep\r\n backupId={backupId}\r\n settings={restoreSettings}\r\n updateSettings={(settings) => setRestoreSettings(settings as RestoreSettings)}\r\n files={files}\r\n isLoading={isLoading}\r\n errorFetching={snapShotError?.message || null}\r\n currentStep={step}\r\n goBack={() => step > 0 && setStep(step - 1)}\r\n goNext={() => setStep(3)}\r\n close={close}\r\n method=\"backup\"\r\n />\r\n )}\r\n {step === 3 && (\r\n <RestorePreviewStep\r\n backupId={backupId}\r\n planId={planId}\r\n settings={restoreSettings}\r\n preview={restorePreview}\r\n updatePreview={(preview) => setRestorePreview(preview)}\r\n goBack={() => step > 0 && setStep(step - 1)}\r\n goNext={() => setStep(4)}\r\n close={close}\r\n />\r\n )}\r\n {step === 4 && (\r\n <RestoreConfirmStep\r\n backupId={backupId}\r\n planId={planId}\r\n settings={restoreSettings}\r\n stats={restorePreview.stats}\r\n snapshotsStats={snapShotsStats}\r\n method=\"backup\"\r\n goBack={() => step > 0 && setStep(step - 1)}\r\n close={close}\r\n />\r\n )}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default RestoreWizard;\r\n"],"names":["RestoreWizard","backupId","planId","deviceId","mirrors","planStorage","close","step","setStep","useState","restoreSettings","setRestoreSettings","restorePreview","setRestorePreview","isFetching","useIsFetching","isMutating","useIsMutating","isLoading","snapshotData","snapShotError","useGetSnapshotFiles","files","snapShotsStats","useMemo","acc","file","classes","jsxs","jsx","Icon","RestoreSettingsStep","settings","RestoreFileSelectorStep","RestorePreviewStep","preview","RestoreConfirmStep"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- const t = "_restoreWizard_sFTj0", e = "_content_pzve9", o = "_header_lVx7o", s = "_close_lxYtd", r = "_steps_MtJoL", n = "_stepCurrent_ChpYC", c = "_stepPassed_VW7Ub", _ = "_stepContent_TyRSf", i = "_step_6Gek8", p = "_settingBlock_ZrYM2", a = "_label_WS4nz", l = "_fileManagerBtn_WzWxG", k = "_settingBlockError_n40cs", b = "_preview_eQ0pk", h = "_previewError_sQsVK", v = "_previewButton_6vKzE", g = "_previewEmpty_ETnVM", x = "_restoreConfirm_MxhKX", B = "_restoreButton_Do8Sv", f = "_restoreError_10HHM", d = "_footer_xisOv", E = "_backButton_hq7vg", u = "_footerRight_7c691", w = "_restoreDisabled_jG2LO", C = "_checkboxSettings_fytx3", O = "_checkboxSettingsOpts_n9FNs", M = "_checkboxOption_9hMT3", S = "_checkboxOptionActive_A0T1V", z = {
1
+ const t = "_restoreWizard_wOgi9", e = "_content_nSjit", o = "_header_Vkxq0", r = "_close_8GR4N", s = "_steps_Pby13", n = "_stepCurrent_8yTis", c = "_stepPassed_8Zj6o", _ = "_stepContent_kTqdE", i = "_step_Hn0FW", p = "_settingBlock_7GPIv", a = "_label_dK7yV", l = "_fileManagerBtn_mY14R", b = "_settingBlockError_rsQRx", k = "_preview_GNDQl", g = "_previewError_j2xz9", x = "_previewButton_mrCKR", h = "_previewEmpty_qW6AM", B = "_restoreConfirm_n6NRE", d = "_restoreButton_yzxcd", v = "_restoreError_S2Gmn", E = "_footer_ypHCA", f = "_backButton_rPUX7", u = "_footerRight_XfMMx", w = "_restoreDisabled_N1CZT", C = "_checkboxSettings_NAeEi", m = "_checkboxSettingsOpts_rglV2", O = "_checkboxOption_4bmMx", R = "_checkboxOptionActive_RNL3I", y = {
2
2
  restoreWizard: t,
3
3
  content: e,
4
4
  header: o,
5
- close: s,
6
- steps: r,
5
+ close: r,
6
+ steps: s,
7
7
  stepCurrent: n,
8
8
  stepPassed: c,
9
9
  stepContent: _,
@@ -11,52 +11,52 @@ const t = "_restoreWizard_sFTj0", e = "_content_pzve9", o = "_header_lVx7o", s =
11
11
  settingBlock: p,
12
12
  label: a,
13
13
  fileManagerBtn: l,
14
- settingBlockError: k,
15
- preview: b,
16
- previewError: h,
17
- previewButton: v,
18
- previewEmpty: g,
19
- restoreConfirm: x,
20
- restoreButton: B,
21
- restoreError: f,
22
- footer: d,
23
- backButton: E,
14
+ settingBlockError: b,
15
+ preview: k,
16
+ previewError: g,
17
+ previewButton: x,
18
+ previewEmpty: h,
19
+ restoreConfirm: B,
20
+ restoreButton: d,
21
+ restoreError: v,
22
+ footer: E,
23
+ backButton: f,
24
24
  footerRight: u,
25
25
  restoreDisabled: w,
26
26
  checkboxSettings: C,
27
- checkboxSettingsOpts: O,
28
- checkboxOption: M,
29
- checkboxOptionActive: S
27
+ checkboxSettingsOpts: m,
28
+ checkboxOption: O,
29
+ checkboxOptionActive: R
30
30
  };
31
31
  export {
32
- E as backButton,
33
- M as checkboxOption,
34
- S as checkboxOptionActive,
32
+ f as backButton,
33
+ O as checkboxOption,
34
+ R as checkboxOptionActive,
35
35
  C as checkboxSettings,
36
- O as checkboxSettingsOpts,
37
- s as close,
36
+ m as checkboxSettingsOpts,
37
+ r as close,
38
38
  e as content,
39
- z as default,
39
+ y as default,
40
40
  l as fileManagerBtn,
41
- d as footer,
41
+ E as footer,
42
42
  u as footerRight,
43
43
  o as header,
44
44
  a as label,
45
- b as preview,
46
- v as previewButton,
47
- g as previewEmpty,
48
- h as previewError,
49
- B as restoreButton,
50
- x as restoreConfirm,
45
+ k as preview,
46
+ x as previewButton,
47
+ h as previewEmpty,
48
+ g as previewError,
49
+ d as restoreButton,
50
+ B as restoreConfirm,
51
51
  w as restoreDisabled,
52
- f as restoreError,
52
+ v as restoreError,
53
53
  t as restoreWizard,
54
54
  p as settingBlock,
55
- k as settingBlockError,
55
+ b as settingBlockError,
56
56
  i as step,
57
57
  _ as stepContent,
58
58
  n as stepCurrent,
59
59
  c as stepPassed,
60
- r as steps
60
+ s as steps
61
61
  };
62
62
  //# sourceMappingURL=RestoreWizard.module.scss.js.map
@@ -3,6 +3,6 @@ interface GeneralSettingsProps {
3
3
  settings: Record<string, any>;
4
4
  onUpdate: (settings: Record<string, any>) => void;
5
5
  }
6
- declare const GeneralSettings: ({ settings, onUpdate }: GeneralSettingsProps) => import("react/jsx-runtime").JSX.Element;
6
+ declare const GeneralSettings: ({ settings, settingsID, onUpdate }: GeneralSettingsProps) => import("react/jsx-runtime").JSX.Element;
7
7
  export default GeneralSettings;
8
8
  //# sourceMappingURL=GeneralSettings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GeneralSettings.d.ts","sourceRoot":"","sources":["../../../../src/components/Settings/GeneralSettings/GeneralSettings.tsx"],"names":[],"mappings":"AAKA,UAAU,oBAAoB;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;CACpD;AAED,QAAA,MAAM,eAAe,GAAI,wBAAwB,oBAAoB,4CAmDpE,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"GeneralSettings.d.ts","sourceRoot":"","sources":["../../../../src/components/Settings/GeneralSettings/GeneralSettings.tsx"],"names":[],"mappings":"AASA,UAAU,oBAAoB;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;CACpD;AAED,QAAA,MAAM,eAAe,GAAI,oCAAoC,oBAAoB,4CAmFhF,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -1,44 +1,55 @@
1
- import { jsxs as c, jsx as a } from "react/jsx-runtime";
2
- import { useTheme as n } from "../../../context/ThemeContext.js";
3
- import m from "../../common/form/Input/Input.js";
4
- import p from "../../common/form/Tristate/Tristate.js";
5
- import d from "./GeneralSettings.module.scss.js";
6
- const t = ({ settings: e, onUpdate: i }) => {
7
- const { setTheme: o } = n(), r = (l) => {
8
- o(l), i({ ...e, theme: l });
1
+ import { jsxs as F, jsx as a } from "react/jsx-runtime";
2
+ import { useState as d } from "react";
3
+ import S from "../../common/ActionModal/ActionModal.js";
4
+ import t from "../../common/form/Input/Input.js";
5
+ import v from "../../common/form/Toggle/Toggle.js";
6
+ import w from "../../common/form/Tristate/Tristate.js";
7
+ import T from "../TwoFactorSetup/TwoFactorSetup.js";
8
+ import { useTheme as y } from "../../../context/ThemeContext.js";
9
+ import i from "./GeneralSettings.module.scss.js";
10
+ const L = ({ settings: e, settingsID: u, onUpdate: o }) => {
11
+ var c;
12
+ const { setTheme: f } = y(), [p, n] = d(!1), [h, m] = d(!1), { totp: r } = e || {}, s = r == null ? void 0 : r.secret, A = (l) => {
13
+ if (l === !0 && !s) {
14
+ n(!0);
15
+ return;
16
+ } else
17
+ o({ ...e, totp: { ...r, enabled: l } });
18
+ }, b = (l) => {
19
+ f(l), o({ ...e, theme: l });
9
20
  };
10
- return /* @__PURE__ */ c("div", { children: [
11
- /* @__PURE__ */ a("div", { className: d.field, children: /* @__PURE__ */ a(
12
- m,
21
+ return /* @__PURE__ */ F("div", { children: [
22
+ /* @__PURE__ */ a("div", { className: i.field, children: /* @__PURE__ */ a(
23
+ t,
13
24
  {
14
25
  label: "App Instance Title",
15
26
  fieldValue: (e == null ? void 0 : e.title) || "",
16
- onUpdate: (l) => i({ ...e, title: l }),
27
+ onUpdate: (l) => o({ ...e, title: l }),
17
28
  inline: !1
18
29
  }
19
30
  ) }),
20
- /* @__PURE__ */ a("div", { className: d.field, children: /* @__PURE__ */ a(
21
- m,
31
+ /* @__PURE__ */ a("div", { className: i.field, children: /* @__PURE__ */ a(
32
+ t,
22
33
  {
23
34
  label: "App Instance Description",
24
35
  fieldValue: (e == null ? void 0 : e.description) || "",
25
- onUpdate: (l) => i({ ...e, description: l }),
36
+ onUpdate: (l) => o({ ...e, description: l }),
26
37
  inline: !1
27
38
  }
28
39
  ) }),
29
- /* @__PURE__ */ a("div", { className: d.field, children: /* @__PURE__ */ a(
30
- m,
40
+ /* @__PURE__ */ a("div", { className: i.field, children: /* @__PURE__ */ a(
41
+ t,
31
42
  {
32
43
  label: "Admin Email",
33
44
  fieldValue: e.admin_email || "",
34
- onUpdate: (l) => i({ ...e, admin_email: l }),
45
+ onUpdate: (l) => o({ ...e, admin_email: l }),
35
46
  type: "email",
36
47
  placeholder: "johndoe@mail.com",
37
48
  inline: !1
38
49
  }
39
50
  ) }),
40
- /* @__PURE__ */ a("div", { className: d.field, children: /* @__PURE__ */ a(
41
- p,
51
+ /* @__PURE__ */ a("div", { className: i.field, children: /* @__PURE__ */ a(
52
+ w,
42
53
  {
43
54
  label: "Color Scheme",
44
55
  fieldValue: e.theme,
@@ -47,13 +58,30 @@ const t = ({ settings: e, onUpdate: i }) => {
47
58
  { label: "Dark", value: "dark" },
48
59
  { label: "Light", value: "light" }
49
60
  ],
50
- onUpdate: (l) => r(l),
51
- inline: !0
61
+ onUpdate: (l) => b(l),
62
+ inline: !1
63
+ }
64
+ ) }),
65
+ /* @__PURE__ */ a("div", { className: i.field, children: /* @__PURE__ */ a(v, { label: "Enable 2FA", fieldValue: ((c = e == null ? void 0 : e.totp) == null ? void 0 : c.enabled) || !1, onUpdate: (l) => A(l), inline: !0 }) }),
66
+ p && /* @__PURE__ */ a(
67
+ S,
68
+ {
69
+ title: "Enable Two-Factor Authentication (2FA)",
70
+ message: "Are you sure you want to enable Two-Factor Authentication (2FA) to secure Pluton Login? You will be required to use an authenticator app to login if you enable this feature.",
71
+ closeModal: () => n(!1),
72
+ width: "420px",
73
+ primaryAction: {
74
+ title: "Yes, Enable 2FA",
75
+ type: "default",
76
+ isPending: !1,
77
+ action: () => m(!0)
78
+ }
52
79
  }
53
- ) })
80
+ ),
81
+ h && /* @__PURE__ */ a(T, { id: u, close: () => m(!1) })
54
82
  ] });
55
83
  };
56
84
  export {
57
- t as default
85
+ L as default
58
86
  };
59
87
  //# sourceMappingURL=GeneralSettings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GeneralSettings.js","sources":["../../../../src/components/Settings/GeneralSettings/GeneralSettings.tsx"],"sourcesContent":["import { useTheme } from '../../../context/ThemeContext';\r\nimport Input from '../../common/form/Input/Input';\r\nimport Tristate from '../../common/form/Tristate/Tristate';\r\nimport classes from './GeneralSettings.module.scss';\r\n\r\ninterface GeneralSettingsProps {\r\n settingsID: number;\r\n settings: Record<string, any>;\r\n onUpdate: (settings: Record<string, any>) => void;\r\n}\r\n\r\nconst GeneralSettings = ({ settings, onUpdate }: GeneralSettingsProps) => {\r\n const { setTheme } = useTheme();\r\n\r\n const handleThemeChange = (newThemeValue: 'auto' | 'light' | 'dark') => {\r\n setTheme(newThemeValue);\r\n onUpdate({ ...settings, theme: newThemeValue });\r\n };\r\n\r\n return (\r\n <div>\r\n <div className={classes.field}>\r\n <Input\r\n label=\"App Instance Title\"\r\n fieldValue={(settings?.title || '') as string}\r\n onUpdate={(val) => onUpdate({ ...settings, title: val })}\r\n inline={false}\r\n />\r\n </div>\r\n <div className={classes.field}>\r\n <Input\r\n label=\"App Instance Description\"\r\n fieldValue={(settings?.description || '') as string}\r\n onUpdate={(val) => onUpdate({ ...settings, description: val })}\r\n inline={false}\r\n />\r\n </div>\r\n <div className={classes.field}>\r\n <Input\r\n label=\"Admin Email\"\r\n fieldValue={settings.admin_email || ''}\r\n onUpdate={(val) => onUpdate({ ...settings, admin_email: val })}\r\n type=\"email\"\r\n placeholder=\"johndoe@mail.com\"\r\n inline={false}\r\n />\r\n </div>\r\n <div className={classes.field}>\r\n <Tristate\r\n label=\"Color Scheme\"\r\n fieldValue={settings.theme as string}\r\n options={[\r\n { label: 'Auto', value: 'auto' },\r\n { label: 'Dark', value: 'dark' },\r\n { label: 'Light', value: 'light' },\r\n ]}\r\n onUpdate={(val: string) => handleThemeChange(val as 'auto' | 'light' | 'dark')}\r\n inline={true}\r\n />\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default GeneralSettings;\r\n"],"names":["GeneralSettings","settings","onUpdate","setTheme","useTheme","handleThemeChange","newThemeValue","jsx","classes","Input","val","Tristate"],"mappings":";;;;;AAWA,MAAMA,IAAkB,CAAC,EAAE,UAAAC,GAAU,UAAAC,QAAqC;AACvE,QAAM,EAAE,UAAAC,EAAA,IAAaC,EAAA,GAEfC,IAAoB,CAACC,MAA6C;AACrE,IAAAH,EAASG,CAAa,GACtBJ,EAAS,EAAE,GAAGD,GAAU,OAAOK,GAAe;AAAA,EACjD;AAEA,2BACI,OAAA,EACE,UAAA;AAAA,IAAA,gBAAAC,EAAC,OAAA,EAAI,WAAWC,EAAQ,OACrB,UAAA,gBAAAD;AAAA,MAACE;AAAA,MAAA;AAAA,QACE,OAAM;AAAA,QACN,aAAaR,KAAA,gBAAAA,EAAU,UAAS;AAAA,QAChC,UAAU,CAACS,MAAQR,EAAS,EAAE,GAAGD,GAAU,OAAOS,GAAK;AAAA,QACvD,QAAQ;AAAA,MAAA;AAAA,IAAA,GAEd;AAAA,IACA,gBAAAH,EAAC,OAAA,EAAI,WAAWC,EAAQ,OACrB,UAAA,gBAAAD;AAAA,MAACE;AAAA,MAAA;AAAA,QACE,OAAM;AAAA,QACN,aAAaR,KAAA,gBAAAA,EAAU,gBAAe;AAAA,QACtC,UAAU,CAACS,MAAQR,EAAS,EAAE,GAAGD,GAAU,aAAaS,GAAK;AAAA,QAC7D,QAAQ;AAAA,MAAA;AAAA,IAAA,GAEd;AAAA,IACA,gBAAAH,EAAC,OAAA,EAAI,WAAWC,EAAQ,OACrB,UAAA,gBAAAD;AAAA,MAACE;AAAA,MAAA;AAAA,QACE,OAAM;AAAA,QACN,YAAYR,EAAS,eAAe;AAAA,QACpC,UAAU,CAACS,MAAQR,EAAS,EAAE,GAAGD,GAAU,aAAaS,GAAK;AAAA,QAC7D,MAAK;AAAA,QACL,aAAY;AAAA,QACZ,QAAQ;AAAA,MAAA;AAAA,IAAA,GAEd;AAAA,IACA,gBAAAH,EAAC,OAAA,EAAI,WAAWC,EAAQ,OACrB,UAAA,gBAAAD;AAAA,MAACI;AAAA,MAAA;AAAA,QACE,OAAM;AAAA,QACN,YAAYV,EAAS;AAAA,QACrB,SAAS;AAAA,UACN,EAAE,OAAO,QAAQ,OAAO,OAAA;AAAA,UACxB,EAAE,OAAO,QAAQ,OAAO,OAAA;AAAA,UACxB,EAAE,OAAO,SAAS,OAAO,QAAA;AAAA,QAAQ;AAAA,QAEpC,UAAU,CAACS,MAAgBL,EAAkBK,CAAgC;AAAA,QAC7E,QAAQ;AAAA,MAAA;AAAA,IAAA,EACX,CACH;AAAA,EAAA,GACH;AAEN;"}
1
+ {"version":3,"file":"GeneralSettings.js","sources":["../../../../src/components/Settings/GeneralSettings/GeneralSettings.tsx"],"sourcesContent":["import { useState } from 'react';\r\nimport { ActionModal } from '../..';\r\nimport { useTheme } from '../../../context/ThemeContext';\r\nimport Input from '../../common/form/Input/Input';\r\nimport Toggle from '../../common/form/Toggle/Toggle';\r\nimport Tristate from '../../common/form/Tristate/Tristate';\r\nimport TwoFactorSetup from '../TwoFactorSetup/TwoFactorSetup';\r\nimport classes from './GeneralSettings.module.scss';\r\n\r\ninterface GeneralSettingsProps {\r\n settingsID: number;\r\n settings: Record<string, any>;\r\n onUpdate: (settings: Record<string, any>) => void;\r\n}\r\n\r\nconst GeneralSettings = ({ settings, settingsID, onUpdate }: GeneralSettingsProps) => {\r\n const { setTheme } = useTheme();\r\n const [show2FASetupConfirm, setShow2FASetupConfirm] = useState(false);\r\n const [show2FASetup, setShow2FASetup] = useState(false);\r\n\r\n const { totp } = settings || {};\r\n const is2FASetupComplete = totp?.secret;\r\n\r\n const update2FASetting = (enabled: boolean) => {\r\n if (enabled === true && !is2FASetupComplete) {\r\n setShow2FASetupConfirm(true);\r\n return;\r\n } else {\r\n onUpdate({ ...settings, totp: { ...totp, enabled } });\r\n }\r\n };\r\n\r\n const handleThemeChange = (newThemeValue: 'auto' | 'light' | 'dark') => {\r\n setTheme(newThemeValue);\r\n onUpdate({ ...settings, theme: newThemeValue });\r\n };\r\n\r\n return (\r\n <div>\r\n <div className={classes.field}>\r\n <Input\r\n label=\"App Instance Title\"\r\n fieldValue={(settings?.title || '') as string}\r\n onUpdate={(val) => onUpdate({ ...settings, title: val })}\r\n inline={false}\r\n />\r\n </div>\r\n <div className={classes.field}>\r\n <Input\r\n label=\"App Instance Description\"\r\n fieldValue={(settings?.description || '') as string}\r\n onUpdate={(val) => onUpdate({ ...settings, description: val })}\r\n inline={false}\r\n />\r\n </div>\r\n <div className={classes.field}>\r\n <Input\r\n label=\"Admin Email\"\r\n fieldValue={settings.admin_email || ''}\r\n onUpdate={(val) => onUpdate({ ...settings, admin_email: val })}\r\n type=\"email\"\r\n placeholder=\"johndoe@mail.com\"\r\n inline={false}\r\n />\r\n </div>\r\n <div className={classes.field}>\r\n <Tristate\r\n label=\"Color Scheme\"\r\n fieldValue={settings.theme as string}\r\n options={[\r\n { label: 'Auto', value: 'auto' },\r\n { label: 'Dark', value: 'dark' },\r\n { label: 'Light', value: 'light' },\r\n ]}\r\n onUpdate={(val: string) => handleThemeChange(val as 'auto' | 'light' | 'dark')}\r\n inline={false}\r\n />\r\n </div>\r\n <div className={classes.field}>\r\n <Toggle label=\"Enable 2FA\" fieldValue={settings?.totp?.enabled || false} onUpdate={(val) => update2FASetting(val)} inline={true} />\r\n </div>\r\n {show2FASetupConfirm && (\r\n <ActionModal\r\n title={`Enable Two-Factor Authentication (2FA)`}\r\n message={`Are you sure you want to enable Two-Factor Authentication (2FA) to secure Pluton Login? You will be required to use an authenticator app to login if you enable this feature.`}\r\n closeModal={() => setShow2FASetupConfirm(false)}\r\n width=\"420px\"\r\n primaryAction={{\r\n title: `Yes, Enable 2FA`,\r\n type: 'default',\r\n isPending: false,\r\n action: () => setShow2FASetup(true),\r\n }}\r\n />\r\n )}\r\n {show2FASetup && <TwoFactorSetup id={settingsID} close={() => setShow2FASetup(false)} />}\r\n </div>\r\n );\r\n};\r\n\r\nexport default GeneralSettings;\r\n"],"names":["GeneralSettings","settings","settingsID","onUpdate","setTheme","useTheme","show2FASetupConfirm","setShow2FASetupConfirm","useState","show2FASetup","setShow2FASetup","totp","is2FASetupComplete","update2FASetting","enabled","handleThemeChange","newThemeValue","jsx","classes","Input","val","Tristate","Toggle","_a","ActionModal","TwoFactorSetup"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"IntegrationSettings.d.ts","sourceRoot":"","sources":["../../../../src/components/Settings/IntegrationSettings/IntegrationSettings.tsx"],"names":[],"mappings":"AAOA,UAAU,wBAAwB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,QAAQ,EAAE,CAAC,QAAQ,EAAE,wBAAwB,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;CACrE;AAED,QAAA,MAAM,mBAAmB,GAAI,oCAAoC,wBAAwB,4CA8CxF,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"IntegrationSettings.d.ts","sourceRoot":"","sources":["../../../../src/components/Settings/IntegrationSettings/IntegrationSettings.tsx"],"names":[],"mappings":"AAOA,UAAU,wBAAwB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,QAAQ,EAAE,CAAC,QAAQ,EAAE,wBAAwB,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;CACrE;AAED,QAAA,MAAM,mBAAmB,GAAI,oCAAoC,wBAAwB,4CAqDxF,CAAC;AAEF,eAAe,mBAAmB,CAAC"}