From 0dbd6c01176853b6091308d7c053d70ef6535f76 Mon Sep 17 00:00:00 2001 From: Matt Hill Date: Thu, 27 Oct 2022 11:48:52 -0600 Subject: [PATCH 1/2] move marketplace settings into marketplace tab --- .../marketplace-settings.module.ts | 11 +++++++++ .../marketplace-settings.page.html} | 8 ++++--- .../marketplace-settings.page.scss | 0 .../marketplace-settings.page.ts} | 19 ++++++++++----- .../marketplace-list.module.ts | 2 ++ .../marketplace-list.page.html | 4 ++++ .../marketplace-list/marketplace-list.page.ts | 13 ++++++++++ .../marketplaces/marketplaces.module.ts | 24 ------------------- .../marketplaces/marketplaces.page.scss | 12 ---------- .../server-routes/server-routing.module.ts | 7 ------ .../server-show/server-show.page.ts | 11 --------- 11 files changed, 48 insertions(+), 63 deletions(-) create mode 100644 frontend/projects/ui/src/app/modals/marketplace-settings/marketplace-settings.module.ts rename frontend/projects/ui/src/app/{pages/server-routes/marketplaces/marketplaces.page.html => modals/marketplace-settings/marketplace-settings.page.html} (91%) create mode 100644 frontend/projects/ui/src/app/modals/marketplace-settings/marketplace-settings.page.scss rename frontend/projects/ui/src/app/{pages/server-routes/marketplaces/marketplaces.page.ts => modals/marketplace-settings/marketplace-settings.page.ts} (93%) delete mode 100644 frontend/projects/ui/src/app/pages/server-routes/marketplaces/marketplaces.module.ts delete mode 100644 frontend/projects/ui/src/app/pages/server-routes/marketplaces/marketplaces.page.scss diff --git a/frontend/projects/ui/src/app/modals/marketplace-settings/marketplace-settings.module.ts b/frontend/projects/ui/src/app/modals/marketplace-settings/marketplace-settings.module.ts new file mode 100644 index 000000000..c5cb28317 --- /dev/null +++ b/frontend/projects/ui/src/app/modals/marketplace-settings/marketplace-settings.module.ts @@ -0,0 +1,11 @@ +import { NgModule } from '@angular/core' +import { CommonModule } from '@angular/common' +import { IonicModule } from '@ionic/angular' +import { MarketplaceSettingsPage } from './marketplace-settings.page' +import { SharedPipesModule } from '@start9labs/shared' + +@NgModule({ + imports: [CommonModule, IonicModule, SharedPipesModule], + declarations: [MarketplaceSettingsPage], +}) +export class MarketplaceSettingsPageModule {} diff --git a/frontend/projects/ui/src/app/pages/server-routes/marketplaces/marketplaces.page.html b/frontend/projects/ui/src/app/modals/marketplace-settings/marketplace-settings.page.html similarity index 91% rename from frontend/projects/ui/src/app/pages/server-routes/marketplaces/marketplaces.page.html rename to frontend/projects/ui/src/app/modals/marketplace-settings/marketplace-settings.page.html index 45ecdfe14..9634b9b6b 100644 --- a/frontend/projects/ui/src/app/pages/server-routes/marketplaces/marketplaces.page.html +++ b/frontend/projects/ui/src/app/modals/marketplace-settings/marketplace-settings.page.html @@ -1,9 +1,11 @@ - - - Marketplace Settings + + + + + diff --git a/frontend/projects/ui/src/app/modals/marketplace-settings/marketplace-settings.page.scss b/frontend/projects/ui/src/app/modals/marketplace-settings/marketplace-settings.page.scss new file mode 100644 index 000000000..e69de29bb diff --git a/frontend/projects/ui/src/app/pages/server-routes/marketplaces/marketplaces.page.ts b/frontend/projects/ui/src/app/modals/marketplace-settings/marketplace-settings.page.ts similarity index 93% rename from frontend/projects/ui/src/app/pages/server-routes/marketplaces/marketplaces.page.ts rename to frontend/projects/ui/src/app/modals/marketplace-settings/marketplace-settings.page.ts index 914e3ec42..327878fbf 100644 --- a/frontend/projects/ui/src/app/pages/server-routes/marketplaces/marketplaces.page.ts +++ b/frontend/projects/ui/src/app/modals/marketplace-settings/marketplace-settings.page.ts @@ -12,20 +12,21 @@ import { ApiService } from 'src/app/services/api/embassy-api.service' import { ValueSpecObject } from 'src/app/pkg-config/config-types' import { GenericFormPage } from 'src/app/modals/generic-form/generic-form.page' import { PatchDB } from 'patch-db-client' -import { DataModel } from '../../../services/patch-db/data-model' +import { DataModel } from 'src/app/services/patch-db/data-model' import { MarketplaceService } from 'src/app/services/marketplace.service' import { map } from 'rxjs/operators' import { firstValueFrom } from 'rxjs' @Component({ - selector: 'marketplaces', - templateUrl: 'marketplaces.page.html', - styleUrls: ['marketplaces.page.scss'], + selector: 'marketplace-settings', + templateUrl: 'marketplace-settings.page.html', + styleUrls: ['marketplace-settings.page.scss'], changeDetection: ChangeDetectionStrategy.OnPush, }) -export class MarketplacesPage { +export class MarketplaceSettingsPage { marketplace$ = this.patch.watch$('ui', 'marketplace').pipe( map(m => { + console.log('** MARKETPLACE', m) const selected = m['selected-url'] const hosts = Object.entries(m['known-hosts']) @@ -57,6 +58,10 @@ export class MarketplacesPage { private readonly alertCtrl: AlertController, ) {} + async dismiss() { + this.modalCtrl.dismiss() + } + async presentModalAdd() { const { name, spec } = getMarketplaceValueSpec() const modal = await this.modalCtrl.create({ @@ -200,7 +205,9 @@ export class MarketplacesPage { loader.message = 'Validating marketplace...' await loader.present() - const name = await firstValueFrom(this.marketplaceService.fetchInfo$(url)) + const { name } = await firstValueFrom( + this.marketplaceService.fetchInfo$(url), + ) // Save loader.message = 'Saving...' diff --git a/frontend/projects/ui/src/app/pages/marketplace-routes/marketplace-list/marketplace-list.module.ts b/frontend/projects/ui/src/app/pages/marketplace-routes/marketplace-list/marketplace-list.module.ts index 7859a2b02..93690f5fd 100644 --- a/frontend/projects/ui/src/app/pages/marketplace-routes/marketplace-list/marketplace-list.module.ts +++ b/frontend/projects/ui/src/app/pages/marketplace-routes/marketplace-list/marketplace-list.module.ts @@ -14,6 +14,7 @@ import { import { BadgeMenuComponentModule } from 'src/app/components/badge-menu-button/badge-menu.component.module' import { MarketplaceStatusModule } from '../marketplace-status/marketplace-status.module' import { MarketplaceListPage } from './marketplace-list.page' +import { MarketplaceSettingsPageModule } from 'src/app/modals/marketplace-settings/marketplace-settings.module' const routes: Routes = [ { @@ -37,6 +38,7 @@ const routes: Routes = [ CategoriesModule, SearchModule, SkeletonModule, + MarketplaceSettingsPageModule, ], declarations: [MarketplaceListPage], exports: [MarketplaceListPage], diff --git a/frontend/projects/ui/src/app/pages/marketplace-routes/marketplace-list/marketplace-list.page.html b/frontend/projects/ui/src/app/pages/marketplace-routes/marketplace-list/marketplace-list.page.html index 74578235c..8c0c0985a 100644 --- a/frontend/projects/ui/src/app/pages/marketplace-routes/marketplace-list/marketplace-list.page.html +++ b/frontend/projects/ui/src/app/pages/marketplace-routes/marketplace-list/marketplace-list.page.html @@ -24,6 +24,10 @@

{{ details.name }}

+ + + Switch Marketplaces +
diff --git a/frontend/projects/ui/src/app/pages/marketplace-routes/marketplace-list/marketplace-list.page.ts b/frontend/projects/ui/src/app/pages/marketplace-routes/marketplace-list/marketplace-list.page.ts index e00626dda..271ee3e70 100644 --- a/frontend/projects/ui/src/app/pages/marketplace-routes/marketplace-list/marketplace-list.page.ts +++ b/frontend/projects/ui/src/app/pages/marketplace-routes/marketplace-list/marketplace-list.page.ts @@ -1,7 +1,9 @@ import { ChangeDetectionStrategy, Component, Inject } from '@angular/core' +import { ModalController } from '@ionic/angular' import { AbstractMarketplaceService } from '@start9labs/marketplace' import { PatchDB } from 'patch-db-client' import { filter, map } from 'rxjs' +import { MarketplaceSettingsPage } from 'src/app/modals/marketplace-settings/marketplace-settings.page' import { MarketplaceService } from 'src/app/services/marketplace.service' import { DataModel } from 'src/app/services/patch-db/data-model' @@ -67,11 +69,22 @@ export class MarketplaceListPage { private readonly patch: PatchDB, @Inject(AbstractMarketplaceService) private readonly marketplaceService: MarketplaceService, + private readonly modalCtrl: ModalController, ) {} category = 'featured' query = '' + async presentModalMarketplaceSettings() { + const modal = await this.modalCtrl.create({ + component: MarketplaceSettingsPage, + }) + modal.onDidDismiss().then(res => { + console.log(res) + }) + await modal.present() + } + onCategoryChange(category: string): void { this.category = category this.query = '' diff --git a/frontend/projects/ui/src/app/pages/server-routes/marketplaces/marketplaces.module.ts b/frontend/projects/ui/src/app/pages/server-routes/marketplaces/marketplaces.module.ts deleted file mode 100644 index 2bd707498..000000000 --- a/frontend/projects/ui/src/app/pages/server-routes/marketplaces/marketplaces.module.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { NgModule } from '@angular/core' -import { CommonModule } from '@angular/common' -import { IonicModule } from '@ionic/angular' -import { RouterModule, Routes } from '@angular/router' -import { MarketplacesPage } from './marketplaces.page' -import { SharedPipesModule } from '@start9labs/shared' - -const routes: Routes = [ - { - path: '', - component: MarketplacesPage, - }, -] - -@NgModule({ - imports: [ - CommonModule, - IonicModule, - RouterModule.forChild(routes), - SharedPipesModule, - ], - declarations: [MarketplacesPage], -}) -export class MarketplacesPageModule {} diff --git a/frontend/projects/ui/src/app/pages/server-routes/marketplaces/marketplaces.page.scss b/frontend/projects/ui/src/app/pages/server-routes/marketplaces/marketplaces.page.scss deleted file mode 100644 index 371176fec..000000000 --- a/frontend/projects/ui/src/app/pages/server-routes/marketplaces/marketplaces.page.scss +++ /dev/null @@ -1,12 +0,0 @@ -.skeleton-parts { - padding-bottom: 6px; - - ion-button::part(native) { - padding-inline-start: 0; - padding-inline-end: 0; - } -} - -.padding { - padding-right: 32px; -} diff --git a/frontend/projects/ui/src/app/pages/server-routes/server-routing.module.ts b/frontend/projects/ui/src/app/pages/server-routes/server-routing.module.ts index 7374d7d4c..14f55f682 100644 --- a/frontend/projects/ui/src/app/pages/server-routes/server-routing.module.ts +++ b/frontend/projects/ui/src/app/pages/server-routes/server-routing.module.ts @@ -34,13 +34,6 @@ const routes: Routes = [ m => m.KernelLogsPageModule, ), }, - { - path: 'marketplaces', - loadChildren: () => - import('./marketplaces/marketplaces.module').then( - m => m.MarketplacesPageModule, - ), - }, { path: 'metrics', loadChildren: () => diff --git a/frontend/projects/ui/src/app/pages/server-routes/server-show/server-show.page.ts b/frontend/projects/ui/src/app/pages/server-routes/server-show/server-show.page.ts index 3307c7e0f..8a78839db 100644 --- a/frontend/projects/ui/src/app/pages/server-routes/server-show/server-show.page.ts +++ b/frontend/projects/ui/src/app/pages/server-routes/server-show/server-show.page.ts @@ -424,17 +424,6 @@ export class ServerShowPage { detail: true, disabled$: of(false), }, - { - title: 'Marketplace Settings', - description: 'Add or remove marketplaces', - icon: 'storefront-outline', - action: () => - this.navCtrl.navigateForward(['marketplaces'], { - relativeTo: this.route, - }), - detail: true, - disabled$: of(false), - }, ], Insights: [ { From 1ca5e63f4086008944b850d73114fecc25fffd7e Mon Sep 17 00:00:00 2001 From: Lucy C <12953208+elvece@users.noreply.github.com> Date: Thu, 27 Oct 2022 16:01:54 -0600 Subject: [PATCH 2/2] Update frontend/projects/ui/src/app/modals/marketplace-settings/marketplace-settings.page.ts --- .../app/modals/marketplace-settings/marketplace-settings.page.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/frontend/projects/ui/src/app/modals/marketplace-settings/marketplace-settings.page.ts b/frontend/projects/ui/src/app/modals/marketplace-settings/marketplace-settings.page.ts index 327878fbf..8d0f57db9 100644 --- a/frontend/projects/ui/src/app/modals/marketplace-settings/marketplace-settings.page.ts +++ b/frontend/projects/ui/src/app/modals/marketplace-settings/marketplace-settings.page.ts @@ -26,7 +26,6 @@ import { firstValueFrom } from 'rxjs' export class MarketplaceSettingsPage { marketplace$ = this.patch.watch$('ui', 'marketplace').pipe( map(m => { - console.log('** MARKETPLACE', m) const selected = m['selected-url'] const hosts = Object.entries(m['known-hosts'])