diff --git a/setup-wizard/docs.txt b/setup-wizard/docs.txt
index c413def83..9870613b2 100644
--- a/setup-wizard/docs.txt
+++ b/setup-wizard/docs.txt
@@ -12,19 +12,17 @@ setup.disk.list
Response
{
logicalname: string
- labels: string[]
+ partitions: {
+ logicalname: string
+ label: string | null
+ capacity: number
+ used: number | null
+ }[],
capacity: number
- used: number
- }[]
-
-setup.recovery.list
- Request
-
- Response
- {
- logicalname: string
- version: string
- name: string
+ 'embassy-os': {
+ version: string
+ name: string
+ } | null
}[]
setup.recovery.status
diff --git a/setup-wizard/src/app/pages/embassy/embassy.page.html b/setup-wizard/src/app/pages/embassy/embassy.page.html
index efb78da03..d3eba0d71 100644
--- a/setup-wizard/src/app/pages/embassy/embassy.page.html
+++ b/setup-wizard/src/app/pages/embassy/embassy.page.html
@@ -44,8 +44,8 @@
{{ drive.logicalname }}
- {{ drive.labels.length ? drive.labels.join(' / ') : 'unnamed' }}
- Using {{drive.used.toFixed(2)}} of {{drive.capacity.toFixed(2)}} GiB
+ {{ getLabelLabel(drive) }}
+ Using {{ getUsage(drive) }} of {{drive.capacity.toFixed(2)}} GiB
diff --git a/setup-wizard/src/app/pages/embassy/embassy.page.ts b/setup-wizard/src/app/pages/embassy/embassy.page.ts
index 17df9fd24..afa262b27 100644
--- a/setup-wizard/src/app/pages/embassy/embassy.page.ts
+++ b/setup-wizard/src/app/pages/embassy/embassy.page.ts
@@ -1,6 +1,6 @@
import { Component } from '@angular/core'
import { iosTransitionAnimation, LoadingController, ModalController, NavController } from '@ionic/angular'
-import { ApiService, EmbassyDrive } from 'src/app/services/api/api.service'
+import { ApiService, Drive } from 'src/app/services/api/api.service'
import { StateService } from 'src/app/services/state.service'
import { PasswordPage } from '../password/password.page'
@@ -11,7 +11,7 @@ import { PasswordPage } from '../password/password.page'
})
export class EmbassyPage {
embassyDrives = []
- selectedDrive: EmbassyDrive = null
+ selectedDrive: Drive = null
loading = true
window = window
@@ -24,11 +24,12 @@ export class EmbassyPage {
) {}
async ngOnInit() {
- this.embassyDrives = await this.apiService.getEmbassyDrives()
+ const drives = (await this.apiService.getDrives()).filter(d => !d['embassy-os'])
+ this.embassyDrives = (await this.apiService.getDrives()).filter(d => !d['embassy-os'])
this.loading = false
}
- async chooseDrive(drive: EmbassyDrive) {
+ async chooseDrive(drive: Drive) {
const modal = await this.modalController.create({
component: PasswordPage,
componentProps: {
@@ -62,4 +63,19 @@ export class EmbassyPage {
})
await modal.present();
}
+
+ getLabelLabel(drive: Drive) {
+ const labels = drive.partitions.map(p => p.label).filter(l => !!l)
+ return labels.length ? labels.join(' / ') : 'unnamed'
+ }
+
+ getUsage(drive: Drive) {
+ let usage = 0
+ drive.partitions.forEach(par => {
+ if(par.used) {
+ usage += par.used
+ }
+ })
+ return usage.toFixed(2)
+ }
}
diff --git a/setup-wizard/src/app/pages/password/password.page.html b/setup-wizard/src/app/pages/password/password.page.html
index baaf1d4a8..ada4e9352 100644
--- a/setup-wizard/src/app/pages/password/password.page.html
+++ b/setup-wizard/src/app/pages/password/password.page.html
@@ -11,7 +11,7 @@