@duplicati/ngclient 0.0.1 → 0.0.5

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 (197) hide show
  1. package/chunk-2DCEAXBG.js +1 -0
  2. package/chunk-2WYEYW3N.js +1 -0
  3. package/chunk-43IMNGQL.js +1 -0
  4. package/chunk-63RKHEAK.js +1 -0
  5. package/chunk-6HCEXB2Z.js +1 -0
  6. package/chunk-7POJIDMZ.js +1 -0
  7. package/chunk-7PZ2UDVE.js +1 -0
  8. package/chunk-AYLGFKRR.js +1 -0
  9. package/chunk-BFEHLVAY.js +1 -0
  10. package/chunk-BHHWIMLQ.js +1 -0
  11. package/chunk-BOT7P6RM.js +1 -0
  12. package/chunk-BRNQESTL.js +1 -0
  13. package/chunk-EIZWLO2R.js +2 -0
  14. package/chunk-EJZT4TGZ.js +1 -0
  15. package/chunk-F3A4UEZK.js +1 -0
  16. package/chunk-GAT3R5MA.js +2 -0
  17. package/chunk-GBVLF3BS.js +1 -0
  18. package/chunk-GY2VPOAT.js +1 -0
  19. package/chunk-HHIFLECY.js +1 -0
  20. package/chunk-IMLDBH2T.js +1 -0
  21. package/chunk-IOM7KF2W.js +1 -0
  22. package/chunk-J6KTHSHX.js +1 -0
  23. package/chunk-JRXXG6O7.js +1 -0
  24. package/chunk-LD5EWOQM.js +1 -0
  25. package/chunk-LT6J7X37.js +1 -0
  26. package/chunk-OP5BV4PG.js +1 -0
  27. package/chunk-OX435KV6.js +1 -0
  28. package/chunk-PJNE2N54.js +1 -0
  29. package/chunk-QTQWYR6H.js +1 -0
  30. package/chunk-RCES7NCR.js +1 -0
  31. package/chunk-RL2VWNJG.js +8 -0
  32. package/chunk-RZUDMW24.js +1 -0
  33. package/chunk-S2HNK7TK.js +1 -0
  34. package/chunk-S2YPSAFD.js +1 -0
  35. package/chunk-TGC6GY4N.js +1 -0
  36. package/chunk-UJYJZACJ.js +1 -0
  37. package/chunk-VAAR5GXC.js +1 -0
  38. package/chunk-VF6HT3GY.js +1 -0
  39. package/chunk-XBN37RRV.js +1 -0
  40. package/chunk-YC5LTBFM.js +1 -0
  41. package/index.html +15 -0
  42. package/main-TLCKWB2W.js +1 -0
  43. package/package.json +3 -40
  44. package/sparkle-ui-assets/fonts/InterTight-VariableFont_wght.ttf +0 -0
  45. package/sparkle-ui-assets/fonts/InterTight-VariableFont_wght.woff2 +0 -0
  46. package/styles-6W7ZCKNM.css +1 -0
  47. package/.dockerignore +0 -13
  48. package/.github/workflows/npm-publish.yml +0 -59
  49. package/.prettierignore +0 -13
  50. package/.prettierrc +0 -12
  51. package/.vscode/extensions.json +0 -4
  52. package/.vscode/launch.json +0 -13
  53. package/.vscode/settings.json +0 -8
  54. package/.vscode/tasks.json +0 -24
  55. package/Dockerfile +0 -38
  56. package/LICENSE +0 -21
  57. package/README.md +0 -27
  58. package/angular.json +0 -98
  59. package/bun.lockb +0 -0
  60. package/openapi-ts.config.ts +0 -13
  61. package/scripts/generate-package-json.ts +0 -15
  62. package/src/app/about/about.component.html +0 -15
  63. package/src/app/about/about.component.scss +0 -19
  64. package/src/app/about/about.component.ts +0 -13
  65. package/src/app/about/changelog/changelog.component.html +0 -3
  66. package/src/app/about/changelog/changelog.component.scss +0 -7
  67. package/src/app/about/changelog/changelog.component.ts +0 -18
  68. package/src/app/about/general/general.component.html +0 -9
  69. package/src/app/about/general/general.component.scss +0 -23
  70. package/src/app/about/general/general.component.ts +0 -30
  71. package/src/app/about/libraries/libraries.component.html +0 -3
  72. package/src/app/about/libraries/libraries.component.scss +0 -7
  73. package/src/app/about/libraries/libraries.component.ts +0 -18
  74. package/src/app/about/logs/logs.component.html +0 -5
  75. package/src/app/about/logs/logs.component.scss +0 -7
  76. package/src/app/about/logs/logs.component.ts +0 -18
  77. package/src/app/about/system-info/system-info.component.html +0 -3
  78. package/src/app/about/system-info/system-info.component.scss +0 -7
  79. package/src/app/about/system-info/system-info.component.ts +0 -17
  80. package/src/app/add-backup/add-backup.component.html +0 -29
  81. package/src/app/add-backup/add-backup.component.scss +0 -38
  82. package/src/app/add-backup/add-backup.component.ts +0 -14
  83. package/src/app/app.component.ts +0 -35
  84. package/src/app/app.config.ts +0 -23
  85. package/src/app/app.routes.ts +0 -121
  86. package/src/app/core/components/file-tree/file-tree.component.html +0 -87
  87. package/src/app/core/components/file-tree/file-tree.component.scss +0 -80
  88. package/src/app/core/components/file-tree/file-tree.component.ts +0 -485
  89. package/src/app/core/components/logo/logo.component.html +0 -22
  90. package/src/app/core/components/logo/logo.component.scss +0 -12
  91. package/src/app/core/components/logo/logo.component.ts +0 -11
  92. package/src/app/core/components/status-bar/status-bar.component.html +0 -38
  93. package/src/app/core/components/status-bar/status-bar.component.scss +0 -27
  94. package/src/app/core/components/status-bar/status-bar.component.ts +0 -33
  95. package/src/app/core/components/status-bar/status-bar.state.ts +0 -182
  96. package/src/app/core/components/toggle-card/toggle-card.component.html +0 -11
  97. package/src/app/core/components/toggle-card/toggle-card.component.scss +0 -49
  98. package/src/app/core/components/toggle-card/toggle-card.component.ts +0 -28
  99. package/src/app/core/interceptors/http.interceptor.ts +0 -69
  100. package/src/app/core/interceptors/websocket.interceptor.ts +0 -66
  101. package/src/app/core/openapi/core/ApiError.ts +0 -21
  102. package/src/app/core/openapi/core/ApiRequestOptions.ts +0 -21
  103. package/src/app/core/openapi/core/ApiResult.ts +0 -7
  104. package/src/app/core/openapi/core/OpenAPI.ts +0 -55
  105. package/src/app/core/openapi/core/request.ts +0 -337
  106. package/src/app/core/openapi/index.ts +0 -6
  107. package/src/app/core/openapi/schemas.gen.ts +0 -3611
  108. package/src/app/core/openapi/services.gen.ts +0 -1460
  109. package/src/app/core/openapi/types.gen.ts +0 -1510
  110. package/src/app/core/pipes/duration.pipe.ts +0 -27
  111. package/src/app/core/pipes/relative-time.pipe.ts +0 -14
  112. package/src/app/core/providers/dayjs.ts +0 -16
  113. package/src/app/core/services/dict.en.ts +0 -0
  114. package/src/app/core/services/dictionary.service.ts +0 -12
  115. package/src/app/core/services/localstorage.token.ts +0 -82
  116. package/src/app/core/services/password-generator.service.ts +0 -39
  117. package/src/app/core/services/relay-websocket.service.ts +0 -268
  118. package/src/app/core/services/timespan-literals.service.ts +0 -25
  119. package/src/app/core/states/app-auth.state.ts +0 -87
  120. package/src/app/core/states/backups.state.ts +0 -71
  121. package/src/app/core/states/relayconfig.state.ts +0 -23
  122. package/src/app/core/states/sysinfo.state.ts +0 -31
  123. package/src/app/core/states/tasks.state.ts +0 -34
  124. package/src/app/core/types/subscribed.ts +0 -7
  125. package/src/app/core/validators/custom.validators.ts +0 -120
  126. package/src/app/create-edit-backup/create-edit-backup.component.html +0 -28
  127. package/src/app/create-edit-backup/create-edit-backup.component.scss +0 -15
  128. package/src/app/create-edit-backup/create-edit-backup.component.ts +0 -33
  129. package/src/app/create-edit-backup/create-edit-backup.state.ts +0 -582
  130. package/src/app/create-edit-backup/destination/destination.component.html +0 -367
  131. package/src/app/create-edit-backup/destination/destination.component.scss +0 -85
  132. package/src/app/create-edit-backup/destination/destination.component.ts +0 -249
  133. package/src/app/create-edit-backup/destination/destination.config.ts +0 -103
  134. package/src/app/create-edit-backup/destination/destination.mapper.ts +0 -177
  135. package/src/app/create-edit-backup/general/general.component.html +0 -108
  136. package/src/app/create-edit-backup/general/general.component.scss +0 -34
  137. package/src/app/create-edit-backup/general/general.component.ts +0 -136
  138. package/src/app/create-edit-backup/options/options.component.html +0 -95
  139. package/src/app/create-edit-backup/options/options.component.scss +0 -42
  140. package/src/app/create-edit-backup/options/options.component.ts +0 -113
  141. package/src/app/create-edit-backup/schedule/schedule.component.html +0 -102
  142. package/src/app/create-edit-backup/schedule/schedule.component.scss +0 -38
  143. package/src/app/create-edit-backup/schedule/schedule.component.ts +0 -137
  144. package/src/app/create-edit-backup/source-data/source-data.component.html +0 -93
  145. package/src/app/create-edit-backup/source-data/source-data.component.scss +0 -41
  146. package/src/app/create-edit-backup/source-data/source-data.component.ts +0 -114
  147. package/src/app/home/backup.const.ts +0 -167
  148. package/src/app/home/home.component.html +0 -98
  149. package/src/app/home/home.component.scss +0 -88
  150. package/src/app/home/home.component.ts +0 -54
  151. package/src/app/layout/layout.component.html +0 -64
  152. package/src/app/layout/layout.component.scss +0 -24
  153. package/src/app/layout/layout.component.ts +0 -51
  154. package/src/app/layout/layout.state.ts +0 -70
  155. package/src/app/login/login.component.html +0 -12
  156. package/src/app/login/login.component.scss +0 -25
  157. package/src/app/login/login.component.ts +0 -34
  158. package/src/app/logout/logout.component.html +0 -1
  159. package/src/app/logout/logout.component.scss +0 -3
  160. package/src/app/logout/logout.component.ts +0 -18
  161. package/src/app/restore/restore.component.html +0 -56
  162. package/src/app/restore/restore.component.scss +0 -37
  163. package/src/app/restore/restore.component.ts +0 -55
  164. package/src/app/restore-flow/options/options.component.html +0 -57
  165. package/src/app/restore-flow/options/options.component.scss +0 -16
  166. package/src/app/restore-flow/options/options.component.ts +0 -58
  167. package/src/app/restore-flow/restore-flow.component.html +0 -14
  168. package/src/app/restore-flow/restore-flow.component.scss +0 -15
  169. package/src/app/restore-flow/restore-flow.component.ts +0 -23
  170. package/src/app/restore-flow/restore-flow.state.ts +0 -120
  171. package/src/app/restore-flow/select-files/select-files.component.html +0 -42
  172. package/src/app/restore-flow/select-files/select-files.component.scss +0 -16
  173. package/src/app/restore-flow/select-files/select-files.component.ts +0 -129
  174. package/src/app/settings/settings.component.html +0 -256
  175. package/src/app/settings/settings.component.scss +0 -106
  176. package/src/app/settings/settings.component.ts +0 -475
  177. package/src/environments/environment-token.ts +0 -4
  178. package/src/environments/environment.prod.ts +0 -6
  179. package/src/environments/environment.ts +0 -6
  180. package/src/index.html +0 -15
  181. package/src/main.ts +0 -6
  182. package/src/proxy.conf.mjs +0 -6
  183. package/src/styles.scss +0 -41
  184. package/tsconfig.app.json +0 -15
  185. package/tsconfig.json +0 -30
  186. /package/{src/assets → assets}/duplicati-logo.png +0 -0
  187. /package/{src/assets → assets}/duplicati-logo.svg +0 -0
  188. /package/{src/assets → assets}/favicon.ico +0 -0
  189. /package/{src/assets → assets}/images/backup.png +0 -0
  190. /package/{src/assets → assets}/images/dark-theme.png +0 -0
  191. /package/{src/assets → assets}/images/folder.png +0 -0
  192. /package/{src/assets → assets}/images/light-theme.png +0 -0
  193. /package/{src/assets → assets}/images/new-backup.png +0 -0
  194. /package/{src/assets → assets}/images/restore.png +0 -0
  195. /package/{src/assets → assets}/images/system-theme.png +0 -0
  196. /package/{src/assets → assets}/spk.css +0 -0
  197. /package/{src/assets → assets}/spk.woff2 +0 -0
package/angular.json DELETED
@@ -1,98 +0,0 @@
1
- {
2
- "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
3
- "version": 1,
4
- "newProjectRoot": "projects",
5
- "projects": {
6
- "ngclient": {
7
- "projectType": "application",
8
- "schematics": {
9
- "@schematics/angular:component": {
10
- "inlineTemplate": true,
11
- "inlineStyle": true,
12
- "style": "scss",
13
- "skipTests": true
14
- },
15
- "@schematics/angular:class": {
16
- "skipTests": true
17
- },
18
- "@schematics/angular:directive": {
19
- "skipTests": true
20
- },
21
- "@schematics/angular:guard": {
22
- "skipTests": true
23
- },
24
- "@schematics/angular:interceptor": {
25
- "skipTests": true
26
- },
27
- "@schematics/angular:pipe": {
28
- "skipTests": true
29
- },
30
- "@schematics/angular:resolver": {
31
- "skipTests": true
32
- },
33
- "@schematics/angular:service": {
34
- "skipTests": true
35
- }
36
- },
37
- "root": "",
38
- "sourceRoot": "src",
39
- "prefix": "app",
40
- "architect": {
41
- "build": {
42
- "builder": "@angular-devkit/build-angular:application",
43
- "options": {
44
- "outputPath": "dist/ngclient",
45
- "index": "src/index.html",
46
- "browser": "src/main.ts",
47
- "polyfills": [],
48
- "tsConfig": "tsconfig.app.json",
49
- "inlineStyleLanguage": "scss",
50
- "assets": [
51
- "src/assets",
52
- {
53
- "glob": "**/*",
54
- "input": "./node_modules/@sparkle-ui/core/assets",
55
- "output": "./sparkle-ui-assets/"
56
- }
57
- ],
58
- "styles": ["src/styles.scss"],
59
- "scripts": []
60
- },
61
- "configurations": {
62
- "production": {
63
- "outputHashing": "all",
64
- "fileReplacements": [
65
- {
66
- "replace": "src/environments/environment.ts",
67
- "with": "src/environments/environment.prod.ts"
68
- }
69
- ]
70
- },
71
- "development": {
72
- "optimization": false,
73
- "extractLicenses": false,
74
- "sourceMap": true
75
- }
76
- },
77
- "defaultConfiguration": "production"
78
- },
79
- "serve": {
80
- "builder": "@angular-devkit/build-angular:dev-server",
81
- "configurations": {
82
- "production": {
83
- "buildTarget": "ngclient:build:production"
84
- },
85
- "development": {
86
- "buildTarget": "ngclient:build:development",
87
- "proxyConfig": "src/proxy.conf.mjs"
88
- }
89
- },
90
- "defaultConfiguration": "development"
91
- },
92
- "extract-i18n": {
93
- "builder": "@angular-devkit/build-angular:extract-i18n"
94
- }
95
- }
96
- }
97
- }
98
- }
package/bun.lockb DELETED
Binary file
@@ -1,13 +0,0 @@
1
- import { defineConfig } from '@hey-api/openapi-ts';
2
-
3
- const localFile = false; // && './swagger-orgid-tokens.json';
4
- const apiInput = 'http://localhost:8200/swagger/v1/swagger.json';
5
- export default defineConfig({
6
- client: 'angular',
7
- input: localFile || apiInput,
8
- output: 'src/app/core/openapi',
9
- schemas: true,
10
- services: {
11
- asClass: true,
12
- },
13
- });
@@ -1,15 +0,0 @@
1
- import packageJson from '../package.json';
2
-
3
- // @ts-ignore
4
- import { write } from 'bun';
5
-
6
- const newPackageJson = {
7
- version: packageJson.version,
8
- name: packageJson.name,
9
- license: packageJson.license,
10
- contributors: packageJson.contributors,
11
- };
12
-
13
- await write('./dist/ngclient/browser/package.json', JSON.stringify(newPackageJson, null, 2));
14
-
15
- console.log('package.json generated');
@@ -1,15 +0,0 @@
1
- <div class="nav">
2
- <button spk-button class="raised" routerLink="/about/general" routerLinkActive="primary">General</button>
3
-
4
- <button spk-button class="raised" routerLink="/about/changelog" routerLinkActive="primary">Changelog</button>
5
-
6
- <button spk-button class="raised" routerLink="/about/libraries" routerLinkActive="primary">Libraries</button>
7
-
8
- <button spk-button class="raised" routerLink="/about/system-info" routerLinkActive="primary">System info</button>
9
-
10
- <button spk-button class="raised" routerLink="/about/logs" routerLinkActive="primary">Logs</button>
11
- </div>
12
-
13
- <section>
14
- <router-outlet />
15
- </section>
@@ -1,19 +0,0 @@
1
- @use '@sparkle-ui/core/styles/helpers' as *;
2
-
3
- :host {
4
- display: flex;
5
- flex-direction: column;
6
- gap: 0;
7
- padding: p2r(40);
8
- }
9
-
10
- .nav {
11
- display: flex;
12
- gap: p2r(8);
13
- }
14
-
15
- section {
16
- display: flex;
17
- flex-direction: column;
18
- padding: p2r(32 0);
19
- }
@@ -1,13 +0,0 @@
1
- import { ChangeDetectionStrategy, Component } from '@angular/core';
2
- import { RouterLink, RouterLinkActive, RouterOutlet } from '@angular/router';
3
- import { SparkleButtonComponent } from '@sparkle-ui/core';
4
-
5
- @Component({
6
- selector: 'app-about',
7
- standalone: true,
8
- imports: [SparkleButtonComponent, RouterOutlet, RouterLink, RouterLinkActive],
9
- templateUrl: './about.component.html',
10
- styleUrl: './about.component.scss',
11
- changeDetection: ChangeDetectionStrategy.OnPush,
12
- })
13
- export default class AboutComponent {}
@@ -1,3 +0,0 @@
1
- <h3>Changelog</h3>
2
-
3
- <pre>{{ changelog()?.Changelog }}</pre>
@@ -1,7 +0,0 @@
1
- :host {
2
- display: block;
3
- }
4
-
5
- h3 {
6
- font: var(--title-30);
7
- }
@@ -1,18 +0,0 @@
1
- import { JsonPipe } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, inject } from '@angular/core';
3
- import { toSignal } from '@angular/core/rxjs-interop';
4
- import { DuplicatiServerService } from '../../core/openapi';
5
-
6
- @Component({
7
- selector: 'app-changelog',
8
- standalone: true,
9
- imports: [JsonPipe],
10
- templateUrl: './changelog.component.html',
11
- styleUrl: './changelog.component.scss',
12
- changeDetection: ChangeDetectionStrategy.OnPush,
13
- })
14
- export default class ChangelogComponent {
15
- #dupServer = inject(DuplicatiServerService);
16
-
17
- changelog = toSignal(this.#dupServer.getApiV1Changelog());
18
- }
@@ -1,9 +0,0 @@
1
- @if (isLoading()) {
2
- <spk-progress-bar class="indeterminate primary" />
3
- }
4
-
5
- <section>
6
- <h3>General</h3>
7
-
8
- <div [innerHTML]="generalInfo()"></div>
9
- </section>
@@ -1,23 +0,0 @@
1
- @use '@sparkle-ui/core/styles/helpers' as *;
2
-
3
- :host {
4
- display: block;
5
- position: relative;
6
- }
7
-
8
- h3 {
9
- font: var(--title-30);
10
- }
11
-
12
- section {
13
- display: flex;
14
- flex-direction: column;
15
- gap: p2r(16);
16
- }
17
-
18
- spk-progress-bar {
19
- position: absolute;
20
- top: 0;
21
- left: 0;
22
- right: 0;
23
- }
@@ -1,30 +0,0 @@
1
- import { JsonPipe } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, inject, signal } from '@angular/core';
3
- import { toSignal } from '@angular/core/rxjs-interop';
4
- import { DomSanitizer } from '@angular/platform-browser';
5
- import { SparkleProgressBarComponent } from '@sparkle-ui/core';
6
- import { finalize, map } from 'rxjs';
7
- import { DuplicatiServerService } from '../../core/openapi';
8
-
9
- @Component({
10
- selector: 'app-general',
11
- standalone: true,
12
- imports: [JsonPipe, SparkleProgressBarComponent],
13
- templateUrl: './general.component.html',
14
- styleUrl: './general.component.scss',
15
- changeDetection: ChangeDetectionStrategy.OnPush,
16
- })
17
- export default class GeneralComponent {
18
- #sanitizer = inject(DomSanitizer);
19
- #dupServer = inject(DuplicatiServerService);
20
-
21
- isLoading = signal(true);
22
- generalInfo = toSignal(
23
- this.#dupServer.getApiV1Acknowledgements().pipe(
24
- map((x) =>
25
- x.Acknowledgements ? this.#sanitizer.bypassSecurityTrustHtml(x.Acknowledgements.replace(/\r/g, '\n')) : ''
26
- ),
27
- finalize(() => this.isLoading.set(false))
28
- )
29
- );
30
- }
@@ -1,3 +0,0 @@
1
- <h3>Libraries</h3>
2
-
3
- <pre>{{ licenses() | json }}</pre>
@@ -1,7 +0,0 @@
1
- :host {
2
- display: block;
3
- }
4
-
5
- h3 {
6
- font: var(--title-30);
7
- }
@@ -1,18 +0,0 @@
1
- import { JsonPipe } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, inject } from '@angular/core';
3
- import { toSignal } from '@angular/core/rxjs-interop';
4
- import { DuplicatiServerService } from '../../core/openapi';
5
-
6
- @Component({
7
- selector: 'app-libraries',
8
- standalone: true,
9
- imports: [JsonPipe],
10
- templateUrl: './libraries.component.html',
11
- styleUrl: './libraries.component.scss',
12
- changeDetection: ChangeDetectionStrategy.OnPush,
13
- })
14
- export default class LibrariesComponent {
15
- #dupServer = inject(DuplicatiServerService);
16
-
17
- licenses = toSignal(this.#dupServer.getApiV1Licenses());
18
- }
@@ -1,5 +0,0 @@
1
- <h3>Logs</h3>
2
-
3
- @for (log of logs(); track $index) {
4
- <pre style="white-space: wrap">{{ log | json }}</pre>
5
- }
@@ -1,7 +0,0 @@
1
- :host {
2
- display: block;
3
- }
4
-
5
- h3 {
6
- font: var(--title-30);
7
- }
@@ -1,18 +0,0 @@
1
- import { JsonPipe } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, inject } from '@angular/core';
3
- import { toSignal } from '@angular/core/rxjs-interop';
4
- import { DuplicatiServerService } from '../../core/openapi';
5
-
6
- @Component({
7
- selector: 'app-logs',
8
- standalone: true,
9
- imports: [JsonPipe],
10
- templateUrl: './logs.component.html',
11
- styleUrl: './logs.component.scss',
12
- changeDetection: ChangeDetectionStrategy.OnPush,
13
- })
14
- export default class LogsComponent {
15
- #dupServer = inject(DuplicatiServerService);
16
-
17
- logs = toSignal(this.#dupServer.getApiV1LogdataLog());
18
- }
@@ -1,3 +0,0 @@
1
- <h3>System info</h3>
2
-
3
- <pre>{{ systemInfo() | json }}</pre>
@@ -1,7 +0,0 @@
1
- :host {
2
- display: block;
3
- }
4
-
5
- h3 {
6
- font: var(--title-30);
7
- }
@@ -1,17 +0,0 @@
1
- import { JsonPipe } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, inject } from '@angular/core';
3
- import { SysinfoState } from '../../core/states/sysinfo.state';
4
-
5
- @Component({
6
- selector: 'app-system-info',
7
- standalone: true,
8
- imports: [JsonPipe],
9
- templateUrl: './system-info.component.html',
10
- styleUrl: './system-info.component.scss',
11
- changeDetection: ChangeDetectionStrategy.OnPush,
12
- })
13
- export default class SystemInfoComponent {
14
- #sysInfo = inject(SysinfoState);
15
-
16
- systemInfo = this.#sysInfo.systemInfo;
17
- }
@@ -1,29 +0,0 @@
1
- <app-status-bar />
2
-
3
- <section>
4
- <h2>Add a new backup</h2>
5
-
6
- <div class="backup-types">
7
- <spk-card class="type-a">
8
- <img src="/assets/images/new-backup.png" />
9
- <h3>New backup</h3>
10
-
11
- <p>Configure a new backup. Choose your destination, source data and schedule.</p>
12
-
13
- <button spk-button class="raised primary" [routerLink]="['/backup/new']">
14
- Add a new backup
15
- <spk-icon>plus</spk-icon>
16
- </button>
17
- </spk-card>
18
-
19
- <!-- <spk-card class="type-a">
20
- <img src="/assets/images/new-backup.png" />
21
- <h3>Import from file</h3>
22
- <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod.</p>
23
- <button spk-button class="raised primary">
24
- Import from file
25
- <spk-icon>upload-simple</spk-icon>
26
- </button>
27
- </spk-card> -->
28
- </div>
29
- </section>
@@ -1,38 +0,0 @@
1
- @use '@sparkle-ui/core/styles/helpers' as *;
2
-
3
- :host {
4
- display: block;
5
- }
6
-
7
- section {
8
- display: flex;
9
- align-items: center;
10
- flex-direction: column;
11
- gap: p2r(32);
12
- padding: p2r(32 0);
13
- }
14
-
15
- div.backup-types {
16
- display: grid;
17
- grid-template-columns: 1fr;
18
- gap: p2r(16);
19
- max-width: 700px;
20
- }
21
-
22
- spk-card {
23
- display: flex;
24
- flex-direction: column;
25
- align-items: center;
26
- gap: p2r(16);
27
- padding-bottom: p2r(48);
28
-
29
- img {
30
- max-width: 300px;
31
- }
32
-
33
- p {
34
- text-wrap: balance;
35
- text-align: center;
36
- width: 75%;
37
- }
38
- }
@@ -1,14 +0,0 @@
1
- import { ChangeDetectionStrategy, Component } from '@angular/core';
2
- import { RouterLink } from '@angular/router';
3
- import { SparkleButtonComponent, SparkleCardComponent, SparkleIconComponent } from '@sparkle-ui/core';
4
- import StatusBarComponent from '../core/components/status-bar/status-bar.component';
5
-
6
- @Component({
7
- selector: 'app-add-backup',
8
- standalone: true,
9
- imports: [StatusBarComponent, SparkleButtonComponent, SparkleCardComponent, SparkleIconComponent, RouterLink],
10
- templateUrl: './add-backup.component.html',
11
- styleUrl: './add-backup.component.scss',
12
- changeDetection: ChangeDetectionStrategy.OnPush,
13
- })
14
- export default class AddBackupComponent {}
@@ -1,35 +0,0 @@
1
- import { Component, inject } from '@angular/core';
2
- import { ActivatedRoute, RouterOutlet } from '@angular/router';
3
- import { Subscription } from 'rxjs';
4
- import { LOCALSTORAGE } from './core/services/localstorage.token';
5
- import { RelayconfigState } from './core/states/relayconfig.state';
6
-
7
- @Component({
8
- selector: 'app-root',
9
- standalone: true,
10
- imports: [RouterOutlet],
11
- template: `
12
- <router-outlet />
13
- `,
14
- styles: [],
15
- })
16
- export class AppComponent {
17
- #ls = inject(LOCALSTORAGE);
18
- #route = inject(ActivatedRoute);
19
- #relayConfigState = inject(RelayconfigState);
20
-
21
- sub: Subscription | null = null;
22
-
23
- ngOnInit() {
24
- this.sub = this.#route.queryParams.subscribe(({ accessToken, clientId }: { [key: string]: string }) => {
25
- if (accessToken?.length && clientId?.length) {
26
- this.#relayConfigState.setConfig({ accessToken, clientId });
27
- }
28
- });
29
- this.#ls.clearAllNotCurrentVersion();
30
- }
31
-
32
- ngOnDestroy() {
33
- this.sub?.unsubscribe();
34
- }
35
- }
@@ -1,23 +0,0 @@
1
- import { ApplicationConfig, provideExperimentalZonelessChangeDetection } from '@angular/core';
2
- import { provideRouter, withComponentInputBinding } from '@angular/router';
3
-
4
- import { provideHttpClient, withFetch, withInterceptors } from '@angular/common/http';
5
- import { environment } from '../environments/environment';
6
- import { ENVIRONMENT_TOKEN } from '../environments/environment-token';
7
- import { routes } from './app.routes';
8
- import { httpInterceptor } from './core/interceptors/http.interceptor';
9
- import { httpInterceptorWebsocketRelay } from './core/interceptors/websocket.interceptor';
10
- import { DayJsProvider } from './core/providers/dayjs';
11
- import { LOCALSTORAGE } from './core/services/localstorage.token';
12
-
13
- export const appConfig: ApplicationConfig = {
14
- providers: [
15
- provideExperimentalZonelessChangeDetection(),
16
- provideRouter(routes, withComponentInputBinding()),
17
- provideHttpClient(withFetch(), withInterceptors([httpInterceptorWebsocketRelay, httpInterceptor])),
18
- LOCALSTORAGE,
19
-
20
- { provide: ENVIRONMENT_TOKEN, useValue: environment },
21
- DayJsProvider,
22
- ],
23
- };
@@ -1,121 +0,0 @@
1
- import { Routes } from '@angular/router';
2
-
3
- export const routes: Routes = [
4
- {
5
- path: '',
6
- // canActivate: [() => socketConnection],
7
- children: [
8
- {
9
- path: 'login',
10
- loadComponent: () => import('./login/login.component'),
11
- },
12
- {
13
- path: 'logout',
14
- loadComponent: () => import('./logout/logout.component'),
15
- },
16
- {
17
- path: '',
18
- loadComponent: () => import('./layout/layout.component'),
19
- children: [
20
- {
21
- path: '',
22
- loadComponent: () => import('./home/home.component'),
23
- },
24
- {
25
- path: 'add-backup',
26
- loadComponent: () => import('./add-backup/add-backup.component'),
27
- },
28
- {
29
- path: 'backup/:id',
30
- loadComponent: () => import('./create-edit-backup/create-edit-backup.component'),
31
- children: [
32
- {
33
- path: '',
34
- redirectTo: 'general',
35
- pathMatch: 'full',
36
- },
37
- {
38
- path: 'general',
39
- loadComponent: () => import('./create-edit-backup/general/general.component'),
40
- },
41
- {
42
- path: 'destination',
43
- loadComponent: () => import('./create-edit-backup/destination/destination.component'),
44
- },
45
- {
46
- path: 'source-data',
47
- loadComponent: () => import('./create-edit-backup/source-data/source-data.component'),
48
- },
49
- {
50
- path: 'schedule',
51
- loadComponent: () => import('./create-edit-backup/schedule/schedule.component'),
52
- },
53
- {
54
- path: 'options',
55
- loadComponent: () => import('./create-edit-backup/options/options.component'),
56
- },
57
- ],
58
- },
59
- {
60
- path: 'restore',
61
- loadComponent: () => import('./restore/restore.component'),
62
- },
63
- {
64
- path: 'restore-flow/:id',
65
- loadComponent: () => import('./restore-flow/restore-flow.component'),
66
- children: [
67
- {
68
- path: '',
69
- redirectTo: 'select-files',
70
- pathMatch: 'full',
71
- },
72
- {
73
- path: 'select-files',
74
- loadComponent: () => import('./restore-flow/select-files/select-files.component'),
75
- },
76
- {
77
- path: 'options',
78
- loadComponent: () => import('./restore-flow/options/options.component'),
79
- },
80
- ],
81
- },
82
- {
83
- path: 'settings',
84
- loadComponent: () => import('./settings/settings.component'),
85
- },
86
- {
87
- path: 'about',
88
- loadComponent: () => import('./about/about.component'),
89
- children: [
90
- {
91
- path: '',
92
- redirectTo: 'general',
93
- pathMatch: 'full',
94
- },
95
- {
96
- path: 'general',
97
- loadComponent: () => import('./about/general/general.component'),
98
- },
99
- {
100
- path: 'changelog',
101
- loadComponent: () => import('./about/changelog/changelog.component'),
102
- },
103
- {
104
- path: 'libraries',
105
- loadComponent: () => import('./about/libraries/libraries.component'),
106
- },
107
- {
108
- path: 'system-info',
109
- loadComponent: () => import('./about/system-info/system-info.component'),
110
- },
111
- {
112
- path: 'logs',
113
- loadComponent: () => import('./about/logs/logs.component'),
114
- },
115
- ],
116
- },
117
- ],
118
- },
119
- ],
120
- },
121
- ];