Remove app wiz and dry calls (#1541)

* no more app wiz or dry calls

* change spinner type

* better display for update available

* reintroduce dep breakages for update/downgrade and style alerts everywhere

* only show install alert on first install

Co-authored-by: Matt Hill <matthill@Matt-M1.local>
Co-authored-by: Matt Hill <matthill@Matt-M1.start9.dev>
This commit is contained in:
Matt Hill
2022-06-16 13:30:23 -06:00
committed by Lucy C
parent 37304a9d92
commit 0ac5b34f2d
57 changed files with 669 additions and 521 deletions

View File

@@ -33,11 +33,6 @@
*ngIf="slide.selector === 'alert'"
[params]="slide.params"
></alert>
<notes
#components
*ngIf="slide.selector === 'notes'"
[params]="slide.params"
></notes>
<dependents
#components
*ngIf="slide.selector === 'dependents'"

View File

@@ -6,7 +6,6 @@ import { RouterModule } from '@angular/router'
import { EmverPipesModule } from '@start9labs/shared'
import { DependentsComponentModule } from './dependents/dependents.component.module'
import { CompleteComponentModule } from './complete/complete.component.module'
import { NotesComponentModule } from './notes/notes.component.module'
import { AlertComponentModule } from './alert/alert.component.module'
import { SwiperModule } from 'swiper/angular'
@@ -19,7 +18,6 @@ import { SwiperModule } from 'swiper/angular'
EmverPipesModule,
DependentsComponentModule,
CompleteComponentModule,
NotesComponentModule,
AlertComponentModule,
SwiperModule,
],

View File

@@ -9,7 +9,6 @@ import { IonContent, ModalController } from '@ionic/angular'
import { CompleteComponent } from './complete/complete.component'
import { DependentsComponent } from './dependents/dependents.component'
import { AlertComponent } from './alert/alert.component'
import { NotesComponent } from './notes/notes.component'
import { WizardAction } from './wizard-types'
import SwiperCore, { Swiper } from 'swiper'
import { IonicSlides } from '@ionic/angular'
@@ -87,7 +86,6 @@ export class AppWizardComponent {
export type SlideDefinition =
| { selector: 'alert'; params: AlertComponent['params'] }
| { selector: 'notes'; params: NotesComponent['params'] }
| { selector: 'dependents'; params: DependentsComponent['params'] }
| { selector: 'complete'; params: CompleteComponent['params'] }

View File

@@ -1,14 +0,0 @@
<div class="ion-text-left">
<h1>Release Notes</h1>
<br />
<div *ngFor="let v of params.versions">
<h4>
<b>
{{ v.version }}
</b>
</h4>
<div class="underline" style="margin: unset"></div>
<div [innerHTML]="v.notes | markdown"></div>
<br />
</div>
</div>

View File

@@ -1,18 +0,0 @@
import { NgModule } from '@angular/core'
import { CommonModule } from '@angular/common'
import { NotesComponent } from './notes.component'
import { IonicModule } from '@ionic/angular'
import { RouterModule } from '@angular/router'
import { MarkdownPipeModule } from '@start9labs/shared'
@NgModule({
declarations: [NotesComponent],
imports: [
CommonModule,
IonicModule,
RouterModule.forChild([]),
MarkdownPipeModule,
],
exports: [NotesComponent],
})
export class NotesComponentModule {}

View File

@@ -1,22 +0,0 @@
import { Component, Input } from '@angular/core'
import { BaseSlide } from '../wizard-types'
@Component({
selector: 'notes',
templateUrl: './notes.component.html',
styleUrls: ['../app-wizard.component.scss'],
})
export class NotesComponent implements BaseSlide {
@Input() params: {
versions: { version: string; notes: string }[]
headline: string
}
loading = false
async load() {}
asIsOrder() {
return 0
}
}

View File

@@ -34,14 +34,6 @@ export class WizardDefs {
},
}
: undefined,
{
selector: 'dependents',
params: {
verb: 'updating',
title,
Fn: () => this.embassyApi.dryUpdatePackage({ id, version }),
},
},
{
selector: 'complete',
params: {
@@ -67,54 +59,6 @@ export class WizardDefs {
}
}
updateOS(values: {
version: string
releaseNotes: { [version: string]: string }
headline: string
}): AppWizardComponent['params'] {
const { version, releaseNotes, headline } = values
const versions = Object.keys(releaseNotes)
.sort()
.reverse()
.map(version => {
return {
version,
notes: releaseNotes[version],
}
})
const title = 'EmbassyOS'
const slides: SlideDefinition[] = [
{
selector: 'notes',
params: {
versions,
headline,
},
},
{
selector: 'complete',
params: {
verb: 'beginning update for',
title,
Fn: () =>
this.embassyApi.updateServer({
'marketplace-url': this.config.marketplace.url,
}),
},
},
]
return {
action: 'update',
title,
version,
slides: slides.filter(exists),
submitBtn: 'Begin Update',
}
}
downgrade(values: {
id: string
title: string
@@ -132,14 +76,6 @@ export class WizardDefs {
},
}
: undefined,
{
selector: 'dependents',
params: {
verb: 'downgrading',
title,
Fn: () => this.embassyApi.dryUpdatePackage({ id, version }),
},
},
{
selector: 'complete',
params: {
@@ -180,14 +116,6 @@ export class WizardDefs {
message: uninstallAlert || defaultUninstallWarning(title),
},
},
{
selector: 'dependents',
params: {
verb: 'uninstalling',
title,
Fn: () => this.embassyApi.dryUninstallPackage({ id }),
},
},
{
selector: 'complete',
params: {
@@ -210,14 +138,6 @@ export class WizardDefs {
const { title, id } = values
const slides: SlideDefinition[] = [
{
selector: 'dependents',
params: {
verb: 'stopping',
title,
Fn: () => this.embassyApi.dryStopPackage({ id }),
},
},
{
selector: 'complete',
params: {

View File

@@ -142,7 +142,6 @@ export class BackupDrivesComponent {
private async addCifs(value: RR.AddBackupTargetReq): Promise<boolean> {
const loader = await this.loadingCtrl.create({
spinner: 'lines',
message: 'Testing connectivity to shared folder...',
})
await loader.present()
@@ -200,7 +199,6 @@ export class BackupDrivesComponent {
index: number,
): Promise<void> {
const loader = await this.loadingCtrl.create({
spinner: 'lines',
message: 'Testing connectivity to shared folder...',
})
await loader.present()
@@ -217,7 +215,6 @@ export class BackupDrivesComponent {
private async deleteCifs(id: string, index: number): Promise<void> {
const loader = await this.loadingCtrl.create({
spinner: 'lines',
message: 'Removing...',
})
await loader.present()