diff --git a/frontend/projects/ui/src/app/app/preloader/preloader.component.ts b/frontend/projects/ui/src/app/app/preloader/preloader.component.ts index 062a890fa..e18e96ba7 100644 --- a/frontend/projects/ui/src/app/app/preloader/preloader.component.ts +++ b/frontend/projects/ui/src/app/app/preloader/preloader.component.ts @@ -57,6 +57,7 @@ const ICONS = [ 'pencil', 'phone-portrait-outline', 'play-circle-outline', + 'play-outline', 'power', 'pulse', 'qr-code-outline', diff --git a/frontend/projects/ui/src/app/pages/apps-routes/app-interfaces/app-interfaces-item.component.html b/frontend/projects/ui/src/app/pages/apps-routes/app-interfaces/app-interfaces-item.component.html index f96831c89..71589eb28 100644 --- a/frontend/projects/ui/src/app/pages/apps-routes/app-interfaces/app-interfaces-item.component.html +++ b/frontend/projects/ui/src/app/pages/apps-routes/app-interfaces/app-interfaces-item.component.html @@ -1,11 +1,15 @@ - +

{{ interface.def.name }}

{{ interface.def.description }}

-
+
@@ -16,6 +20,13 @@

Tor Address

+ + + @@ -39,6 +50,13 @@

LAN Address

+ + + @@ -51,4 +69,4 @@

LAN Address

N/A

-
\ No newline at end of file +
diff --git a/frontend/projects/ui/src/app/pages/apps-routes/app-interfaces/app-interfaces.page.ts b/frontend/projects/ui/src/app/pages/apps-routes/app-interfaces/app-interfaces.page.ts index 0ebe2a175..7a5f3f201 100644 --- a/frontend/projects/ui/src/app/pages/apps-routes/app-interfaces/app-interfaces.page.ts +++ b/frontend/projects/ui/src/app/pages/apps-routes/app-interfaces/app-interfaces.page.ts @@ -1,6 +1,6 @@ import { Component, Input, ViewChild } from '@angular/core' import { ActivatedRoute } from '@angular/router' -import { IonContent, ToastController } from '@ionic/angular' +import { IonContent, ModalController, ToastController } from '@ionic/angular' import { getPkgId } from '@start9labs/shared' import { getUiInterfaceKey } from 'src/app/services/config.service' import { @@ -9,6 +9,7 @@ import { } from 'src/app/services/patch-db/data-model' import { PatchDbService } from 'src/app/services/patch-db/patch-db.service' import { copyToClipboard } from 'src/app/util/web.util' +import { QRComponent } from 'src/app/components/qr/qr.component' interface LocalInterface { def: InterfaceDef @@ -90,12 +91,26 @@ export class AppInterfacesPage { export class AppInterfacesItemComponent { @Input() interface: LocalInterface - constructor(private readonly toastCtrl: ToastController) {} + constructor( + private readonly toastCtrl: ToastController, + private readonly modalCtrl: ModalController, + ) {} launch(url: string): void { window.open(url, '_blank', 'noreferrer') } + async showQR(text: string): Promise { + const modal = await this.modalCtrl.create({ + component: QRComponent, + componentProps: { + text, + }, + cssClass: 'qr-modal', + }) + await modal.present() + } + async copy(address: string): Promise { let message = '' await copyToClipboard(address || '').then(success => {