diff --git a/ui/src/app/components/install-wizard/complete/complete.component.html b/ui/src/app/components/install-wizard/complete/complete.component.html index 7d34c3c15..800cb3d51 100644 --- a/ui/src/app/components/install-wizard/complete/complete.component.html +++ b/ui/src/app/components/install-wizard/complete/complete.component.html @@ -13,5 +13,5 @@
- {{label}} + {{ label }}
\ No newline at end of file diff --git a/ui/src/app/modals/app-restore/app-restore.component.html b/ui/src/app/modals/app-restore/app-restore.component.html index bd6b1dba7..7ddf4c280 100644 --- a/ui/src/app/modals/app-restore/app-restore.component.html +++ b/ui/src/app/modals/app-restore/app-restore.component.html @@ -52,6 +52,11 @@
{{ disk.logicalname }} - {{ disk.capacity | convertBytes }} +

+ {{ disk.vendor }} + - + {{ disk.model }} +

diff --git a/ui/src/app/pages/apps-routes/app-show/app-show.page.html b/ui/src/app/pages/apps-routes/app-show/app-show.page.html index 002d8da85..801c724ba 100644 --- a/ui/src/app/pages/apps-routes/app-show/app-show.page.html +++ b/ui/src/app/pages/apps-routes/app-show/app-show.page.html @@ -1,158 +1,157 @@ - - - - - - - - - - - -

- {{ pkg.manifest.title }} -

-

{{ pkg.manifest.version | displayEmver }}

-
-
-
-
+ + + + + + + + + + +

+ {{ pkg.manifest.title }} +

+

{{ pkg.manifest.version | displayEmver }}

+
+
+
+
- - - - Status - - - - - - - Open UI + + + + Status + + + + + + + Open UI + + + + Configure - - - Configure - - - Stop - - - Fix - - - Start - - - + + Stop + + + Fix + + + Start + +
+
- - - - - - - Health Checks - - - - - - - - - - - - - - - - - - -

{{ health.key }}

-

{{ $any(health.value).result }}

-

{{ $any(health.value).error }}

-
-
-
-
- - - Menu - - - {{ button.title }} - - - - - Dependencies - - - - - + + + + + + + Health Checks + + + + + -

{{ pkg.installed['dependency-info'][dep.key].manifest.title }}

-

{{ pkg.manifest.dependencies[dep.key].version | displayEmver }}

-

{{ pkg.installed.status['dependency-errors'][dep.key] ? pkg.installed.status['dependency-errors'][dep.key].type : 'satisfied' }}

+ +
+
+
+ + + + + + + +

{{ health.key }}

+

{{ $any(health.value).result }}

+

{{ $any(health.value).error }}

+
+
+
+
- - View + + Menu + + + {{ button.title }} + + + + + Dependencies + + + + + + +

{{ pkg.installed['dependency-info'][dep.key].manifest.title }}

+

{{ pkg.manifest.dependencies[dep.key].version | displayEmver }}

+

{{ pkg.installed.status['dependency-errors'][dep.key] ? pkg.installed.status['dependency-errors'][dep.key].type : 'satisfied' }}

+
+ + + View + + + + + Install - - - Install + + + Start + + Update + + + Configure + + - - - Start - - - Update - - - Configure - - - -
- -
-
-
-
+
+ +
+
+
- - App is undergoing maintenance. -
- + + + Service is undergoing maintenance. + +
+ - -
-

Downloading: {{ installProgress.downloadProgress }}%

- + +
+

Downloading: {{ installProgress.downloadProgress }}%

+ -

Validating: {{ installProgress.validateProgress }}%

- +

Validating: {{ installProgress.validateProgress }}%

+ -

Unpacking: {{ installProgress.unpackProgress }}%

- -
- - \ No newline at end of file +

Unpacking: {{ installProgress.unpackProgress }}%

+ +
+ diff --git a/ui/src/app/pages/apps-routes/app-show/app-show.page.ts b/ui/src/app/pages/apps-routes/app-show/app-show.page.ts index b63010c18..22665cec8 100644 --- a/ui/src/app/pages/apps-routes/app-show/app-show.page.ts +++ b/ui/src/app/pages/apps-routes/app-show/app-show.page.ts @@ -58,21 +58,13 @@ export class AppShowPage { async ngOnInit () { this.pkgId = this.route.snapshot.paramMap.get('pkgId') + this.setValues(this.patch.data['package-data'][this.pkgId]) + this.subs = [ // 1 this.patch.watch$('package-data', this.pkgId) .subscribe(pkg => { - this.pkg = pkg - this.installProgress = !isEmptyObject(pkg['install-progress']) ? this.packageLoadingService.transform(pkg['install-progress']) : undefined - // we can safely ignore any current dependencies that are not defined in the service manifest - this.currentDependencies = { } - Object.entries(pkg.installed['current-dependencies']).forEach(([id, value]) => { - if (pkg.manifest.dependencies[id]) { - this.currentDependencies[id] = value - } - }) - this.rendering = renderPkgStatus(pkg.state, pkg.installed?.status) - this.mainStatus = { ...pkg.installed?.status.main } + this.setValues(pkg) }), // 2 this.connectionService.watchFailure$() @@ -174,6 +166,20 @@ export class AppShowPage { await modal.present() } + private setValues (pkg: PackageDataEntry): void { + this.pkg = pkg + this.installProgress = !isEmptyObject(pkg['install-progress']) ? this.packageLoadingService.transform(pkg['install-progress']) : undefined + // we can safely ignore any current dependencies that are not defined in the service manifest + this.currentDependencies = { } + Object.entries(pkg.installed?.['current-dependencies'] || { }).forEach(([id, value]) => { + if (pkg.manifest.dependencies[id]) { + this.currentDependencies[id] = value + } + }) + this.mainStatus = { ...pkg.installed?.status.main } + this.rendering = renderPkgStatus(pkg.state, pkg.installed?.status) + } + private async installDep (depId: string): Promise { const title = this.pkg.installed['dependency-info'][depId].manifest.title const version = this.pkg.manifest.dependencies[depId].version diff --git a/ui/src/app/pages/marketplace-routes/marketplace.service.ts b/ui/src/app/pages/marketplace-routes/marketplace.service.ts index 2ff8f1f7f..5cfbd8647 100644 --- a/ui/src/app/pages/marketplace-routes/marketplace.service.ts +++ b/ui/src/app/pages/marketplace-routes/marketplace.service.ts @@ -52,7 +52,7 @@ export class MarketplaceService { const pkgs = await this.api.getMarketplacePkgs({ ids: [{ id, version: version || '*' }], }) - const pkg = pkgs[0] + const pkg = pkgs.find(pkg => pkg.manifest.id == id) if (pkg) { this.pkgs[id] = pkg } else { diff --git a/ui/src/app/pages/server-routes/server-backup/server-backup.page.html b/ui/src/app/pages/server-routes/server-backup/server-backup.page.html index c0fc87cf8..68bf331b4 100644 --- a/ui/src/app/pages/server-routes/server-backup/server-backup.page.html +++ b/ui/src/app/pages/server-routes/server-backup/server-backup.page.html @@ -41,6 +41,11 @@
{{ disk.logicalname }} - {{ disk.capacity | convertBytes }} +

+ {{ disk.vendor }} + - + {{ disk.model }} +

diff --git a/ui/src/app/services/api/api.fixures.ts b/ui/src/app/services/api/api.fixures.ts index 30ed53c64..c3041ceaf 100644 --- a/ui/src/app/services/api/api.fixures.ts +++ b/ui/src/app/services/api/api.fixures.ts @@ -867,6 +867,8 @@ export module Mock { export const Disks: RR.GetDisksRes = [ { logicalname: '/dev/sda', + model: null, + vendor: 'SSK', partitions: [ { logicalname: 'sdba1', @@ -878,11 +880,12 @@ export module Mock { capacity: 1000000000000, 'embassy-os': { version: '0.3.0', - name: '', // @TODO what is this? }, }, { logicalname: '/dev/sdb', + model: 'JMS567 SATA 6Gb/s bridge', + vendor: 'Samsung', partitions: [ { logicalname: 'sdba1', @@ -900,7 +903,6 @@ export module Mock { capacity: 10000000000, 'embassy-os': { version: '0.3.0', - name: '', // @TODO what is this? }, }, ] diff --git a/ui/src/app/services/api/api.types.ts b/ui/src/app/services/api/api.types.ts index c5d7868ac..134f2f741 100644 --- a/ui/src/app/services/api/api.types.ts +++ b/ui/src/app/services/api/api.types.ts @@ -290,17 +290,22 @@ export type PlatformType = 'cli' | 'ios' | 'ipad' | 'iphone' | 'android' | 'phab export interface DiskInfo { logicalname: string - partitions: { - logicalname: string - label: string | null - capacity: number - used: number | null - }[], + vendor: string | null, + model: string | null, + partitions: PartitionInfo[], capacity: number - 'embassy-os': { - version: string - name: string - } | null + 'embassy-os': EmbassyOsDiskInfo | null +} + +export interface PartitionInfo { + logicalname: string, + label: string | null, + capacity: number, + used: number | null, +} + +export interface EmbassyOsDiskInfo { + version: string, } export interface ServerSpecs { diff --git a/ui/src/global.scss b/ui/src/global.scss index 7d87afd1c..3b9aba558 100644 --- a/ui/src/global.scss +++ b/ui/src/global.scss @@ -58,6 +58,11 @@ $subheader-height: 48px; } } +.item-subdivider { + padding: 0 16px; + margin-top: 0; +} + .loader { --spinner-color: var(--ion-color-warning) !important; z-index: 40000 !important;