diff --git a/ui/src/app/app.component.html b/ui/src/app/app.component.html
index 1f40cf842..af75999b2 100644
--- a/ui/src/app/app.component.html
+++ b/ui/src/app/app.component.html
@@ -92,11 +92,11 @@
-
+
+
-
diff --git a/ui/src/app/pages/apps-routes/app-actions/app-actions.module.ts b/ui/src/app/pages/apps-routes/app-actions/app-actions.module.ts
index 39c703d72..c8f8af810 100644
--- a/ui/src/app/pages/apps-routes/app-actions/app-actions.module.ts
+++ b/ui/src/app/pages/apps-routes/app-actions/app-actions.module.ts
@@ -1,12 +1,9 @@
import { NgModule } from '@angular/core'
import { CommonModule } from '@angular/common'
import { Routes, RouterModule } from '@angular/router'
-
import { IonicModule } from '@ionic/angular'
-
import { AppActionsPage } from './app-actions.page'
import { PwaBackComponentModule } from 'src/app/components/pwa-back-button/pwa-back.component.module'
-import { BadgeMenuComponentModule } from 'src/app/components/badge-menu-button/badge-menu.component.module'
import { QRComponentModule } from 'src/app/components/qr/qr.component.module'
import { SharingModule } from 'src/app/modules/sharing.module'
@@ -23,7 +20,6 @@ const routes: Routes = [
IonicModule,
RouterModule.forChild(routes),
PwaBackComponentModule,
- BadgeMenuComponentModule,
QRComponentModule,
SharingModule,
],
diff --git a/ui/src/app/pages/apps-routes/app-actions/app-actions.page.html b/ui/src/app/pages/apps-routes/app-actions/app-actions.page.html
index 8acdc8f92..ac8df4d3a 100644
--- a/ui/src/app/pages/apps-routes/app-actions/app-actions.page.html
+++ b/ui/src/app/pages/apps-routes/app-actions/app-actions.page.html
@@ -4,9 +4,6 @@
Actions
-
-
-
diff --git a/ui/src/app/pages/apps-routes/app-installed-list/app-installed-list.page.html b/ui/src/app/pages/apps-routes/app-installed-list/app-installed-list.page.html
index bde43f504..4044bcf3f 100644
--- a/ui/src/app/pages/apps-routes/app-installed-list/app-installed-list.page.html
+++ b/ui/src/app/pages/apps-routes/app-installed-list/app-installed-list.page.html
@@ -27,7 +27,7 @@
diff --git a/ui/src/app/pages/apps-routes/app-installed-show/app-installed-show.page.html b/ui/src/app/pages/apps-routes/app-installed-show/app-installed-show.page.html
index be5e2e923..6897264b3 100644
--- a/ui/src/app/pages/apps-routes/app-installed-show/app-installed-show.page.html
+++ b/ui/src/app/pages/apps-routes/app-installed-show/app-installed-show.page.html
@@ -77,9 +77,8 @@
-
-
- Launch Web
+
+ Launch Web Interface
@@ -87,7 +86,7 @@
- Addresses
+
Tor Address
@@ -107,7 +106,8 @@
- Backups
+
+
@@ -124,12 +124,7 @@
Restore from Backup
- General
-
-
-
- Check for Updates
-
+
diff --git a/ui/src/app/pages/apps-routes/app-installed-show/app-installed-show.page.scss b/ui/src/app/pages/apps-routes/app-installed-show/app-installed-show.page.scss
index 20648cbcb..6e824f947 100644
--- a/ui/src/app/pages/apps-routes/app-installed-show/app-installed-show.page.scss
+++ b/ui/src/app/pages/apps-routes/app-installed-show/app-installed-show.page.scss
@@ -40,7 +40,11 @@
}
.launch-button {
- --border-width: 1px;
+ --background: rgb(70 193 255 / 75%);
+ --background-hover: rgb(70 193 255);
+ --background-hover-opacity: 100%;
+ --border-style: none;
+ --color: white;
--border-radius: 10px;
- margin: 10px;
+ margin: 12px 10px;
}
diff --git a/ui/src/app/pages/apps-routes/app-installed-show/app-installed-show.page.ts b/ui/src/app/pages/apps-routes/app-installed-show/app-installed-show.page.ts
index 642ceb9b1..25e8c7e0d 100644
--- a/ui/src/app/pages/apps-routes/app-installed-show/app-installed-show.page.ts
+++ b/ui/src/app/pages/apps-routes/app-installed-show/app-installed-show.page.ts
@@ -16,8 +16,6 @@ import { WizardBaker } from 'src/app/components/install-wizard/prebaked-wizards'
import { catchError, concatMap, filter, switchMap, tap } from 'rxjs/operators'
import { Cleanup } from 'src/app/util/cleanup'
import { InformationPopoverComponent } from 'src/app/components/information-popover/information-popover.component'
-import { Emver } from 'src/app/services/emver.service'
-import { displayEmver } from 'src/app/pipes/emver.pipe'
import { ConfigService } from 'src/app/services/config.service'
@Component({
@@ -53,7 +51,6 @@ export class AppInstalledShowPage extends Cleanup {
private readonly wizardBaker: WizardBaker,
private readonly appModel: AppModel,
private readonly popoverController: PopoverController,
- private readonly emver: Emver,
config: ConfigService,
) {
super()
@@ -109,56 +106,6 @@ export class AppInstalledShowPage extends Cleanup {
return window.open(uiAddress, '_blank')
}
- async checkForUpdates () {
- const app = peekProperties(this.app)
-
- this.loader.of({
- message: `Checking for updates...`,
- spinner: 'lines',
- cssClass: 'loader',
- }).displayDuringAsync(
- async () => {
- const { versionLatest } = await this.apiService.getAvailableApp(this.appId)
- if (this.emver.compare(versionLatest, app.versionInstalled) === 1) {
- this.presentAlertUpdate(app, versionLatest)
- } else {
- this.presentAlertUpToDate()
- }
- },
- ).catch(e => this.setError(e))
- }
-
- async presentAlertUpdate (app: AppInstalledFull, versionLatest: string) {
- const alert = await this.alertCtrl.create({
- backdropDismiss: false,
- header: 'Update Available',
- message: `New version ${displayEmver(versionLatest)} found for ${app.title}.`,
- buttons: [
- {
- text: 'Cancel',
- role: 'cancel',
- },
- {
- text: 'View in Store',
- cssClass: 'alert-success',
- handler: () => {
- this.navCtrl.navigateForward(['/services', 'marketplace', this.appId])
- },
- },
- ],
- })
- await alert.present()
- }
-
- async presentAlertUpToDate () {
- const alert = await this.alertCtrl.create({
- header: 'Up To Date',
- message: `You are running the latest version of ${this.app.title.getValue()}!`,
- buttons: ['OK'],
- })
- await alert.present()
- }
-
async copyTor () {
const app = peekProperties(this.app)
let message = ''
diff --git a/ui/src/app/pages/apps-routes/app-instructions/app-instructions.module.ts b/ui/src/app/pages/apps-routes/app-instructions/app-instructions.module.ts
index c6e0276fa..1ebba6ab9 100644
--- a/ui/src/app/pages/apps-routes/app-instructions/app-instructions.module.ts
+++ b/ui/src/app/pages/apps-routes/app-instructions/app-instructions.module.ts
@@ -2,10 +2,8 @@ import { NgModule } from '@angular/core'
import { CommonModule } from '@angular/common'
import { Routes, RouterModule } from '@angular/router'
import { IonicModule } from '@ionic/angular'
-
import { AppInstructionsPage } from './app-instructions.page'
import { PwaBackComponentModule } from 'src/app/components/pwa-back-button/pwa-back.component.module'
-import { BadgeMenuComponentModule } from 'src/app/components/badge-menu-button/badge-menu.component.module'
import { SharingModule } from 'src/app/modules/sharing.module'
const routes: Routes = [
@@ -21,7 +19,6 @@ const routes: Routes = [
IonicModule,
RouterModule.forChild(routes),
PwaBackComponentModule,
- BadgeMenuComponentModule,
SharingModule,
],
declarations: [AppInstructionsPage],
diff --git a/ui/src/app/pages/apps-routes/app-instructions/app-instructions.page.html b/ui/src/app/pages/apps-routes/app-instructions/app-instructions.page.html
index 4929bd390..cbb338acd 100644
--- a/ui/src/app/pages/apps-routes/app-instructions/app-instructions.page.html
+++ b/ui/src/app/pages/apps-routes/app-instructions/app-instructions.page.html
@@ -4,9 +4,6 @@
Instructions
-
-
-
diff --git a/ui/src/app/pages/apps-routes/app-logs/app-logs.module.ts b/ui/src/app/pages/apps-routes/app-logs/app-logs.module.ts
index 0dcc71571..d40377b13 100644
--- a/ui/src/app/pages/apps-routes/app-logs/app-logs.module.ts
+++ b/ui/src/app/pages/apps-routes/app-logs/app-logs.module.ts
@@ -1,12 +1,9 @@
import { NgModule } from '@angular/core'
import { CommonModule } from '@angular/common'
import { Routes, RouterModule } from '@angular/router'
-
import { IonicModule } from '@ionic/angular'
-
import { AppLogsPage } from './app-logs.page'
import { PwaBackComponentModule } from 'src/app/components/pwa-back-button/pwa-back.component.module'
-import { BadgeMenuComponentModule } from 'src/app/components/badge-menu-button/badge-menu.component.module'
const routes: Routes = [
{
@@ -21,7 +18,6 @@ const routes: Routes = [
IonicModule,
RouterModule.forChild(routes),
PwaBackComponentModule,
- BadgeMenuComponentModule,
],
declarations: [AppLogsPage],
})
diff --git a/ui/src/app/pages/apps-routes/app-logs/app-logs.page.html b/ui/src/app/pages/apps-routes/app-logs/app-logs.page.html
index 629d8c2ec..f30dbb389 100644
--- a/ui/src/app/pages/apps-routes/app-logs/app-logs.page.html
+++ b/ui/src/app/pages/apps-routes/app-logs/app-logs.page.html
@@ -8,7 +8,6 @@
-
diff --git a/ui/src/app/pages/apps-routes/app-metrics/app-metrics.module.ts b/ui/src/app/pages/apps-routes/app-metrics/app-metrics.module.ts
index 9ea5ca66f..53ef3d727 100644
--- a/ui/src/app/pages/apps-routes/app-metrics/app-metrics.module.ts
+++ b/ui/src/app/pages/apps-routes/app-metrics/app-metrics.module.ts
@@ -1,12 +1,9 @@
import { NgModule } from '@angular/core'
import { CommonModule } from '@angular/common'
import { Routes, RouterModule } from '@angular/router'
-
import { IonicModule } from '@ionic/angular'
-
import { AppMetricsPage } from './app-metrics.page'
import { PwaBackComponentModule } from 'src/app/components/pwa-back-button/pwa-back.component.module'
-import { BadgeMenuComponentModule } from 'src/app/components/badge-menu-button/badge-menu.component.module'
import { QRComponentModule } from 'src/app/components/qr/qr.component.module'
import { SharingModule } from 'src/app/modules/sharing.module'
@@ -23,7 +20,6 @@ const routes: Routes = [
IonicModule,
RouterModule.forChild(routes),
PwaBackComponentModule,
- BadgeMenuComponentModule,
QRComponentModule,
SharingModule,
],
diff --git a/ui/src/app/pages/apps-routes/app-metrics/app-metrics.page.html b/ui/src/app/pages/apps-routes/app-metrics/app-metrics.page.html
index 38f3b4b53..7f4c56860 100644
--- a/ui/src/app/pages/apps-routes/app-metrics/app-metrics.page.html
+++ b/ui/src/app/pages/apps-routes/app-metrics/app-metrics.page.html
@@ -4,9 +4,6 @@
Properties
-
-
-
diff --git a/ui/src/app/pages/server-routes/developer-routes/dev-options/dev-options.module.ts b/ui/src/app/pages/server-routes/developer-routes/dev-options/dev-options.module.ts
index 92529432c..db5c95d28 100644
--- a/ui/src/app/pages/server-routes/developer-routes/dev-options/dev-options.module.ts
+++ b/ui/src/app/pages/server-routes/developer-routes/dev-options/dev-options.module.ts
@@ -4,7 +4,6 @@ import { IonicModule } from '@ionic/angular'
import { DevOptionsPage } from './dev-options.page'
import { Routes, RouterModule } from '@angular/router'
import { PwaBackComponentModule } from 'src/app/components/pwa-back-button/pwa-back.component.module'
-import { BadgeMenuComponentModule } from 'src/app/components/badge-menu-button/badge-menu.component.module'
import { ObjectConfigComponentModule } from 'src/app/components/object-config/object-config.component.module'
const routes: Routes = [
@@ -21,7 +20,6 @@ const routes: Routes = [
ObjectConfigComponentModule,
RouterModule.forChild(routes),
PwaBackComponentModule,
- BadgeMenuComponentModule,
],
declarations: [DevOptionsPage],
})
diff --git a/ui/src/app/pages/server-routes/developer-routes/dev-options/dev-options.page.html b/ui/src/app/pages/server-routes/developer-routes/dev-options/dev-options.page.html
index f273221c5..4f0c04e90 100644
--- a/ui/src/app/pages/server-routes/developer-routes/dev-options/dev-options.page.html
+++ b/ui/src/app/pages/server-routes/developer-routes/dev-options/dev-options.page.html
@@ -4,9 +4,6 @@
Developer Options
-
-
-
diff --git a/ui/src/app/pages/server-routes/developer-routes/dev-ssh-keys/dev-ssh-keys.module.ts b/ui/src/app/pages/server-routes/developer-routes/dev-ssh-keys/dev-ssh-keys.module.ts
index a629bffe8..c576f1721 100644
--- a/ui/src/app/pages/server-routes/developer-routes/dev-ssh-keys/dev-ssh-keys.module.ts
+++ b/ui/src/app/pages/server-routes/developer-routes/dev-ssh-keys/dev-ssh-keys.module.ts
@@ -4,7 +4,6 @@ import { IonicModule } from '@ionic/angular'
import { RouterModule, Routes } from '@angular/router'
import { DevSSHKeysPage } from './dev-ssh-keys.page'
import { PwaBackComponentModule } from 'src/app/components/pwa-back-button/pwa-back.component.module'
-import { BadgeMenuComponentModule } from 'src/app/components/badge-menu-button/badge-menu.component.module'
const routes: Routes = [
{
@@ -19,7 +18,6 @@ const routes: Routes = [
IonicModule,
RouterModule.forChild(routes),
PwaBackComponentModule,
- BadgeMenuComponentModule,
],
declarations: [DevSSHKeysPage],
})
diff --git a/ui/src/app/pages/server-routes/developer-routes/dev-ssh-keys/dev-ssh-keys.page.html b/ui/src/app/pages/server-routes/developer-routes/dev-ssh-keys/dev-ssh-keys.page.html
index 9d1cad54b..2a67b3d0f 100644
--- a/ui/src/app/pages/server-routes/developer-routes/dev-ssh-keys/dev-ssh-keys.page.html
+++ b/ui/src/app/pages/server-routes/developer-routes/dev-ssh-keys/dev-ssh-keys.page.html
@@ -4,9 +4,6 @@
SSH Keys
-
-
-
diff --git a/ui/src/app/pages/server-routes/external-drives/external-drives.module.ts b/ui/src/app/pages/server-routes/external-drives/external-drives.module.ts
index 759d88481..c1e0f22a2 100644
--- a/ui/src/app/pages/server-routes/external-drives/external-drives.module.ts
+++ b/ui/src/app/pages/server-routes/external-drives/external-drives.module.ts
@@ -5,7 +5,6 @@ import { ExternalDrivesPage } from './external-drives.page'
import { Routes, RouterModule } from '@angular/router'
import { SharingModule } from 'src/app/modules/sharing.module'
import { PwaBackComponentModule } from 'src/app/components/pwa-back-button/pwa-back.component.module'
-import { BadgeMenuComponentModule } from 'src/app/components/badge-menu-button/badge-menu.component.module'
import { ObjectConfigComponentModule } from 'src/app/components/object-config/object-config.component.module'
// TODO: EJECT-DISKS
@@ -24,7 +23,6 @@ const routes: Routes = [
ObjectConfigComponentModule,
RouterModule.forChild(routes),
PwaBackComponentModule,
- BadgeMenuComponentModule,
],
declarations: [ExternalDrivesPage],
})
diff --git a/ui/src/app/pages/server-routes/external-drives/external-drives.page.html b/ui/src/app/pages/server-routes/external-drives/external-drives.page.html
index ada072f1a..48eff6aaa 100644
--- a/ui/src/app/pages/server-routes/external-drives/external-drives.page.html
+++ b/ui/src/app/pages/server-routes/external-drives/external-drives.page.html
@@ -5,9 +5,6 @@
Backup drives
-
-
-
diff --git a/ui/src/app/pages/server-routes/lan/lan.module.ts b/ui/src/app/pages/server-routes/lan/lan.module.ts
index f93ff781a..744334479 100644
--- a/ui/src/app/pages/server-routes/lan/lan.module.ts
+++ b/ui/src/app/pages/server-routes/lan/lan.module.ts
@@ -4,7 +4,6 @@ import { Routes, RouterModule } from '@angular/router'
import { IonicModule } from '@ionic/angular'
import { LANPage } from './lan.page'
import { PwaBackComponentModule } from 'src/app/components/pwa-back-button/pwa-back.component.module'
-import { BadgeMenuComponentModule } from 'src/app/components/badge-menu-button/badge-menu.component.module'
import { SharingModule } from 'src/app/modules/sharing.module'
const routes: Routes = [
@@ -20,7 +19,6 @@ const routes: Routes = [
IonicModule,
RouterModule.forChild(routes),
PwaBackComponentModule,
- BadgeMenuComponentModule,
SharingModule,
],
declarations: [LANPage],
diff --git a/ui/src/app/pages/server-routes/lan/lan.page.html b/ui/src/app/pages/server-routes/lan/lan.page.html
index c8a245dcd..809b75fb1 100644
--- a/ui/src/app/pages/server-routes/lan/lan.page.html
+++ b/ui/src/app/pages/server-routes/lan/lan.page.html
@@ -1,8 +1,5 @@
-
-
-
LAN Setup
@@ -11,54 +8,60 @@
+
-
-
- For a faster experience, you can also securely communicate with your Embassy by visiting its Local Area Network (LAN) address.
+
+
+ If you are having issues connecting to your Embassy or services over LAN, you can try refreshing the network by clicking the button below.
-
+
+
+
+ Refresh Network
+
+
+
+ About
+
- Instructions
-
-
- - Download your Embassy's SSL Certificate Authority by clicking the download button below.
- - Install and trust the CA.
- - Connect this device to the same network as the Embassy. This should be your private home network.
- - Navigate to your Embassy LAN address, indicated below.
-
-
-
- full documentation
- full documentation
-
+ You can connect to your Embassy over your Local Area Network (LAN). This can be useful for achieving a faster experience, as well as a fallback in case the Tor network is experiencing issues.
-
-
-
+
- SSL Certificate
- Embassy Local CA
+
-
-
-
-
-
-
- LAN Address
- {{ lanAddress }}
-
-
-
-
+
+ View Instructions
+
+
+ Certificate and Address
+
+
+
+ Root Certificate Authority
+ Embassy Local CA
+
+
+
+
+
+
+
+
+ LAN Address
+ {{ lanAddress }}
+
+
+
+
+
+
diff --git a/ui/src/app/pages/server-routes/lan/lan.page.scss b/ui/src/app/pages/server-routes/lan/lan.page.scss
index e69de29bb..ae8a60ab4 100644
--- a/ui/src/app/pages/server-routes/lan/lan.page.scss
+++ b/ui/src/app/pages/server-routes/lan/lan.page.scss
@@ -0,0 +1,3 @@
+.tiny-icon {
+ font-size: 12px;
+}
\ No newline at end of file
diff --git a/ui/src/app/pages/server-routes/lan/lan.page.ts b/ui/src/app/pages/server-routes/lan/lan.page.ts
index 83f8e57ff..d098a201a 100644
--- a/ui/src/app/pages/server-routes/lan/lan.page.ts
+++ b/ui/src/app/pages/server-routes/lan/lan.page.ts
@@ -3,6 +3,8 @@ import { isPlatform, ToastController } from '@ionic/angular'
import { ServerModel } from 'src/app/models/server-model'
import { copyToClipboard } from 'src/app/util/web.util'
import { ConfigService } from 'src/app/services/config.service'
+import { LoaderService } from 'src/app/services/loader.service'
+import { ApiService } from 'src/app/services/api/api.service'
@Component({
selector: 'lan',
@@ -20,13 +22,15 @@ export class LANPage {
lanDisabled: LanSetupIssue = undefined
readonly lanDisabledExplanation: { [k in LanSetupIssue]: string } = {
NotDesktop: `We have detected you are on a mobile device. To setup LAN on a mobile device, use the Start9 Setup App.`,
- NotTor: `We have detected you are not using a Tor connection. For security reasons, you must setup LAN over a Tor connection.
Navigate to your Embassy Tor Address and try again.`,
+ NotTor: `We have detected you are not using a Tor connection. For security reasons, you must setup LAN over a Tor connection. Please navigate to your Embassy Tor Address and try again.`,
}
constructor (
private readonly serverModel: ServerModel,
private readonly toastCtrl: ToastController,
private readonly config: ConfigService,
+ private readonly loader: LoaderService,
+ private readonly apiService: ApiService,
) { }
ngOnInit () {
@@ -48,7 +52,19 @@ export class LANPage {
this.lanAddress = `https://${server.serverId}.local`
}
- async copyLAN (): Promise < void > {
+ async refreshLAN (): Promise {
+ this.loader.of({
+ message: 'Refreshing Network',
+ spinner: 'lines',
+ cssClass: 'loader',
+ }).displayDuringAsync( async () => {
+ await this.apiService.refreshLAN()
+ }).catch(e => {
+ console.error(e)
+ })
+ }
+
+ async copyLAN (): Promise {
const message = await copyToClipboard(this.lanAddress).then(success => success ? 'copied to clipboard!' : 'failed to copy')
const toast = await this.toastCtrl.create({
diff --git a/ui/src/app/pages/server-routes/server-config/server-config.module.ts b/ui/src/app/pages/server-routes/server-config/server-config.module.ts
index 3847521a3..a3fff0a49 100644
--- a/ui/src/app/pages/server-routes/server-config/server-config.module.ts
+++ b/ui/src/app/pages/server-routes/server-config/server-config.module.ts
@@ -5,7 +5,6 @@ import { ServerConfigPage } from './server-config.page'
import { Routes, RouterModule } from '@angular/router'
import { SharingModule } from 'src/app/modules/sharing.module'
import { PwaBackComponentModule } from 'src/app/components/pwa-back-button/pwa-back.component.module'
-import { BadgeMenuComponentModule } from 'src/app/components/badge-menu-button/badge-menu.component.module'
import { ObjectConfigComponentModule } from 'src/app/components/object-config/object-config.component.module'
const routes: Routes = [
@@ -23,7 +22,6 @@ const routes: Routes = [
ObjectConfigComponentModule,
RouterModule.forChild(routes),
PwaBackComponentModule,
- BadgeMenuComponentModule,
],
declarations: [ServerConfigPage],
})
diff --git a/ui/src/app/pages/server-routes/server-config/server-config.page.html b/ui/src/app/pages/server-routes/server-config/server-config.page.html
index b81429cf1..c22f93219 100644
--- a/ui/src/app/pages/server-routes/server-config/server-config.page.html
+++ b/ui/src/app/pages/server-routes/server-config/server-config.page.html
@@ -4,9 +4,6 @@
Config
-
-
-
diff --git a/ui/src/app/pages/server-routes/server-logs/server-logs.module.ts b/ui/src/app/pages/server-routes/server-logs/server-logs.module.ts
index b2fa3dd6a..2640d0619 100644
--- a/ui/src/app/pages/server-routes/server-logs/server-logs.module.ts
+++ b/ui/src/app/pages/server-routes/server-logs/server-logs.module.ts
@@ -1,12 +1,9 @@
import { NgModule } from '@angular/core'
import { CommonModule } from '@angular/common'
import { Routes, RouterModule } from '@angular/router'
-
import { IonicModule } from '@ionic/angular'
-
import { ServerLogsPage } from './server-logs.page'
import { PwaBackComponentModule } from 'src/app/components/pwa-back-button/pwa-back.component.module'
-import { BadgeMenuComponentModule } from 'src/app/components/badge-menu-button/badge-menu.component.module'
const routes: Routes = [
{
@@ -21,7 +18,6 @@ const routes: Routes = [
IonicModule,
RouterModule.forChild(routes),
PwaBackComponentModule,
- BadgeMenuComponentModule,
],
declarations: [ServerLogsPage],
})
diff --git a/ui/src/app/pages/server-routes/server-logs/server-logs.page.html b/ui/src/app/pages/server-routes/server-logs/server-logs.page.html
index d7e0ce0dd..bb2f1be61 100644
--- a/ui/src/app/pages/server-routes/server-logs/server-logs.page.html
+++ b/ui/src/app/pages/server-routes/server-logs/server-logs.page.html
@@ -8,7 +8,6 @@
-
diff --git a/ui/src/app/pages/server-routes/server-metrics/server-metrics.module.ts b/ui/src/app/pages/server-routes/server-metrics/server-metrics.module.ts
index d73633272..a15976226 100644
--- a/ui/src/app/pages/server-routes/server-metrics/server-metrics.module.ts
+++ b/ui/src/app/pages/server-routes/server-metrics/server-metrics.module.ts
@@ -1,12 +1,9 @@
import { NgModule } from '@angular/core'
import { CommonModule } from '@angular/common'
import { Routes, RouterModule } from '@angular/router'
-
import { IonicModule } from '@ionic/angular'
-
import { ServerMetricsPage } from './server-metrics.page'
import { PwaBackComponentModule } from 'src/app/components/pwa-back-button/pwa-back.component.module'
-import { BadgeMenuComponentModule } from 'src/app/components/badge-menu-button/badge-menu.component.module'
const routes: Routes = [
{
@@ -21,7 +18,6 @@ const routes: Routes = [
IonicModule,
RouterModule.forChild(routes),
PwaBackComponentModule,
- BadgeMenuComponentModule,
],
declarations: [ServerMetricsPage],
})
diff --git a/ui/src/app/pages/server-routes/server-metrics/server-metrics.page.html b/ui/src/app/pages/server-routes/server-metrics/server-metrics.page.html
index 63f6fbbc1..302b23440 100644
--- a/ui/src/app/pages/server-routes/server-metrics/server-metrics.page.html
+++ b/ui/src/app/pages/server-routes/server-metrics/server-metrics.page.html
@@ -4,9 +4,6 @@
Metrics
-
-
-
diff --git a/ui/src/app/pages/server-routes/server-show/server-show.page.html b/ui/src/app/pages/server-routes/server-show/server-show.page.html
index e13bd06be..4f5043db1 100644
--- a/ui/src/app/pages/server-routes/server-show/server-show.page.html
+++ b/ui/src/app/pages/server-routes/server-show/server-show.page.html
@@ -7,7 +7,7 @@
-
+
@@ -28,14 +28,6 @@
-
-
-
-
- Check for Updates
-
-
-
@@ -52,6 +44,8 @@
Logs
+
+
Config
@@ -59,7 +53,7 @@
- LAN Setup
+ Connect over LAN
@@ -67,6 +61,8 @@
WiFi Setup
+
+
Developer Options
diff --git a/ui/src/app/pages/server-routes/server-show/server-show.page.ts b/ui/src/app/pages/server-routes/server-show/server-show.page.ts
index 7b34140f6..3275370f4 100644
--- a/ui/src/app/pages/server-routes/server-show/server-show.page.ts
+++ b/ui/src/app/pages/server-routes/server-show/server-show.page.ts
@@ -1,7 +1,7 @@
import { Component } from '@angular/core'
import { LoadingOptions } from '@ionic/core'
import { ServerModel, ServerStatus } from 'src/app/models/server-model'
-import { AlertController, ModalController } from '@ionic/angular'
+import { AlertController } from '@ionic/angular'
import { S9Server } from 'src/app/models/server-model'
import { ApiService } from 'src/app/services/api/api.service'
import { SyncDaemon } from 'src/app/services/sync.service'
@@ -9,9 +9,6 @@ import { Subscription, Observable } from 'rxjs'
import { PropertySubject, toObservable } from 'src/app/util/property-subject.util'
import { doForAtLeast } from 'src/app/util/misc.util'
import { LoaderService } from 'src/app/services/loader.service'
-import { Emver } from 'src/app/services/emver.service'
-import { wizardModal } from 'src/app/components/install-wizard/install-wizard.component'
-import { WizardBaker } from 'src/app/components/install-wizard/prebaked-wizards'
@Component({
selector: 'server-show',
@@ -36,9 +33,6 @@ export class ServerShowPage {
private readonly loader: LoaderService,
private readonly apiService: ApiService,
private readonly syncDaemon: SyncDaemon,
- private readonly emver: Emver,
- private readonly modalCtrl: ModalController,
- private readonly wizardBaker: WizardBaker,
) { }
async ngOnInit () {
@@ -82,55 +76,6 @@ export class ServerShowPage {
}
}
- async checkForUpdates (): Promise {
- const loader = await this.loader.ctrl.create(LoadingSpinner('Checking for updates...'))
- await loader.present()
-
- try {
- const { versionLatest, releaseNotes } = await this.apiService.getVersionLatest()
- if (this.emver.compare(this.server.versionInstalled.getValue(), versionLatest) === -1) {
- this.presentAlertUpdate(versionLatest, releaseNotes)
- } else {
- this.presentAlertUpToDate()
- }
- } catch (e) {
- console.error(e)
- this.error = e.message
- } finally {
- await loader.dismiss()
- }
- }
-
- async presentAlertUpToDate () {
- const alert = await this.alertCtrl.create({
- header: 'Up To Date',
- message: `You are running the latest version of EmbassyOS!`,
- buttons: ['OK'],
- })
- await alert.present()
- }
-
- async presentAlertUpdate (versionLatest: string, releaseNotes: string) {
- const alert = await this.alertCtrl.create({
- backdropDismiss: false,
- header: 'Confirm',
- message: `Update EmbassyOS to version ${versionLatest}?`,
- buttons: [
- {
- text: 'Cancel',
- role: 'cancel',
- },
- {
- text: 'Update',
- handler: () => {
- this.updateEmbassyOS(versionLatest, releaseNotes)
- },
- },
- ],
- })
- await alert.present()
- }
-
async presentAlertRestart () {
const alert = await this.alertCtrl.create({
backdropDismiss: false,
@@ -175,38 +120,24 @@ export class ServerShowPage {
await alert.present()
}
- private async updateEmbassyOS (versionLatest: string, releaseNotes: string) {
- const { cancelled } = await wizardModal(
- this.modalCtrl,
- this.wizardBaker.updateOS({
- version: versionLatest,
- releaseNotes: releaseNotes,
- }),
- )
- if (cancelled) return
- this.updatingFreeze = true
- this.updating = true
- setTimeout(() => this.updatingFreeze = false, 8000)
- }
-
private async restart () {
this.loader
- .of(LoadingSpinner(`Restarting ${this.currentServer.name}...`))
- .displayDuringAsync( async () => {
- this.serverModel.markUnreachable()
- await this.apiService.restartServer()
- })
- .catch(e => this.setError(e))
+ .of(LoadingSpinner(`Restarting ${this.currentServer.name}...`))
+ .displayDuringAsync( async () => {
+ this.serverModel.markUnreachable()
+ await this.apiService.restartServer()
+ })
+ .catch(e => this.setError(e))
}
private async shutdown () {
this.loader
- .of(LoadingSpinner(`Shutting down ${this.currentServer.name}...`))
- .displayDuringAsync( async () => {
- this.serverModel.markUnreachable()
- await this.apiService.shutdownServer()
- })
- .catch(e => this.setError(e))
+ .of(LoadingSpinner(`Shutting down ${this.currentServer.name}...`))
+ .displayDuringAsync( async () => {
+ this.serverModel.markUnreachable()
+ await this.apiService.shutdownServer()
+ })
+ .catch(e => this.setError(e))
}
setError (e: Error) {
diff --git a/ui/src/app/pages/server-routes/server-specs/server-specs.module.ts b/ui/src/app/pages/server-routes/server-specs/server-specs.module.ts
index 82b2c8d59..cc8ab1182 100644
--- a/ui/src/app/pages/server-routes/server-specs/server-specs.module.ts
+++ b/ui/src/app/pages/server-routes/server-specs/server-specs.module.ts
@@ -1,12 +1,9 @@
import { NgModule } from '@angular/core'
import { CommonModule } from '@angular/common'
import { Routes, RouterModule } from '@angular/router'
-
import { IonicModule } from '@ionic/angular'
-
import { ServerSpecsPage } from './server-specs.page'
import { PwaBackComponentModule } from 'src/app/components/pwa-back-button/pwa-back.component.module'
-import { BadgeMenuComponentModule } from 'src/app/components/badge-menu-button/badge-menu.component.module'
import { SharingModule } from 'src/app/modules/sharing.module'
const routes: Routes = [
@@ -22,7 +19,6 @@ const routes: Routes = [
IonicModule,
RouterModule.forChild(routes),
PwaBackComponentModule,
- BadgeMenuComponentModule,
SharingModule,
],
declarations: [ServerSpecsPage],
diff --git a/ui/src/app/pages/server-routes/server-specs/server-specs.page.html b/ui/src/app/pages/server-routes/server-specs/server-specs.page.html
index 5c86c800a..7963e3092 100644
--- a/ui/src/app/pages/server-routes/server-specs/server-specs.page.html
+++ b/ui/src/app/pages/server-routes/server-specs/server-specs.page.html
@@ -4,9 +4,6 @@
About
-
-
-
diff --git a/ui/src/app/pages/server-routes/server-specs/server-specs.page.ts b/ui/src/app/pages/server-routes/server-specs/server-specs.page.ts
index 195e566c5..1d7213a1e 100644
--- a/ui/src/app/pages/server-routes/server-specs/server-specs.page.ts
+++ b/ui/src/app/pages/server-routes/server-specs/server-specs.page.ts
@@ -1,6 +1,5 @@
import { Component } from '@angular/core'
import { S9Server } from 'src/app/models/server-model'
-
import { ToastController } from '@ionic/angular'
import { copyToClipboard } from 'src/app/util/web.util'
import { PropertySubject } from 'src/app/util/property-subject.util'
diff --git a/ui/src/app/pages/server-routes/wifi/wifi-add/wifi-add.module.ts b/ui/src/app/pages/server-routes/wifi/wifi-add/wifi-add.module.ts
index 5e89b88fb..61c0bded8 100644
--- a/ui/src/app/pages/server-routes/wifi/wifi-add/wifi-add.module.ts
+++ b/ui/src/app/pages/server-routes/wifi/wifi-add/wifi-add.module.ts
@@ -5,7 +5,6 @@ import { IonicModule } from '@ionic/angular'
import { RouterModule, Routes } from '@angular/router'
import { WifiAddPage } from './wifi-add.page'
import { PwaBackComponentModule } from 'src/app/components/pwa-back-button/pwa-back.component.module'
-import { BadgeMenuComponentModule } from 'src/app/components/badge-menu-button/badge-menu.component.module'
const routes: Routes = [
{
@@ -21,7 +20,6 @@ const routes: Routes = [
IonicModule,
RouterModule.forChild(routes),
PwaBackComponentModule,
- BadgeMenuComponentModule,
],
declarations: [WifiAddPage],
})
diff --git a/ui/src/app/pages/server-routes/wifi/wifi-add/wifi-add.page.html b/ui/src/app/pages/server-routes/wifi/wifi-add/wifi-add.page.html
index 1da17ffe7..0e2b6ace5 100644
--- a/ui/src/app/pages/server-routes/wifi/wifi-add/wifi-add.page.html
+++ b/ui/src/app/pages/server-routes/wifi/wifi-add/wifi-add.page.html
@@ -4,9 +4,6 @@
Add Network
-
-
-
@@ -38,12 +35,12 @@
- Add
+ Save for Later
-
- Add and Connect
+
+ Save and Connect Now
diff --git a/ui/src/app/pages/server-routes/wifi/wifi.module.ts b/ui/src/app/pages/server-routes/wifi/wifi.module.ts
index ffd503c52..0fe99daed 100644
--- a/ui/src/app/pages/server-routes/wifi/wifi.module.ts
+++ b/ui/src/app/pages/server-routes/wifi/wifi.module.ts
@@ -4,7 +4,6 @@ import { IonicModule } from '@ionic/angular'
import { RouterModule, Routes } from '@angular/router'
import { WifiListPage } from './wifi.page'
import { PwaBackComponentModule } from 'src/app/components/pwa-back-button/pwa-back.component.module'
-import { BadgeMenuComponentModule } from 'src/app/components/badge-menu-button/badge-menu.component.module'
const routes: Routes = [
{
@@ -23,7 +22,6 @@ const routes: Routes = [
IonicModule,
RouterModule.forChild(routes),
PwaBackComponentModule,
- BadgeMenuComponentModule,
],
declarations: [WifiListPage],
})
diff --git a/ui/src/app/pages/server-routes/wifi/wifi.page.html b/ui/src/app/pages/server-routes/wifi/wifi.page.html
index 3d6b9a3d2..483fc37bc 100644
--- a/ui/src/app/pages/server-routes/wifi/wifi.page.html
+++ b/ui/src/app/pages/server-routes/wifi/wifi.page.html
@@ -4,9 +4,6 @@
WiFi Setup
-
-
-
@@ -23,10 +20,13 @@
+ By providing your Embassy with WiFi credentials for one or more networks, you can remove the Ethernet cable and place your Embassy anywhere.
+
+
Warning!
- Making changes to WiFi can cause your Embassy and its Services to become unreachable for a few minutes to an hour. Please be patient.
+ Connecting, disconnecting, or changing WiFi networks can cause your Embassy and its services to become unreachable for up to an hour. Please be patient.
diff --git a/ui/src/app/services/api/api.service.ts b/ui/src/app/services/api/api.service.ts
index 82b60d990..03ed77830 100644
--- a/ui/src/app/services/api/api.service.ts
+++ b/ui/src/app/services/api/api.service.ts
@@ -63,6 +63,7 @@ export abstract class ApiService {
abstract shutdownServer (): Promise
abstract ejectExternalDisk (logicalName: string): Promise
abstract serviceAction (appId: string, serviceAction: ServiceAction): Promise
+ abstract refreshLAN (): Promise
}
export function isRpcFailure (arg: { error: Error } | { result: Result}): arg is { error: Error } {
diff --git a/ui/src/app/services/api/live-api.service.ts b/ui/src/app/services/api/live-api.service.ts
index 24dc01453..4716afa71 100644
--- a/ui/src/app/services/api/live-api.service.ts
+++ b/ui/src/app/services/api/live-api.service.ts
@@ -13,6 +13,7 @@ import { modulateTime } from 'src/app/util/misc.util'
import { Observable, of, throwError } from 'rxjs'
import { catchError, mapTo } from 'rxjs/operators'
import * as uuid from 'uuid'
+import { METHODS } from 'http'
@Injectable()
export class LiveApiService extends ApiService {
@@ -276,6 +277,10 @@ export class LiveApiService extends ApiService {
return this.authRequest({ method: Method.POST, url: `apps/${appId}/actions`, data })
}
+ async refreshLAN (): Promise {
+ return this.authRequest({ method: Method.POST, url: '/network/lan/reset' })
+ }
+
private async authRequest (opts: HttpOptions, overrides: Partial<{ version: string }> = { }): Promise {
if (!this.authenticatedRequestsEnabled) throw new Error(`Authenticated requests are not enabled. Do you need to login?`)
diff --git a/ui/src/app/services/api/mock-api.service.ts b/ui/src/app/services/api/mock-api.service.ts
index 63c8c613d..373929e34 100644
--- a/ui/src/app/services/api/mock-api.service.ts
+++ b/ui/src/app/services/api/mock-api.service.ts
@@ -242,6 +242,10 @@ export class MockApiService extends ApiService {
},
}
}
+
+ refreshLAN (): Promise {
+ return mockRefreshLAN()
+ }
}
async function mockGetServer (): Promise {
@@ -406,6 +410,11 @@ async function mockShutdownServer (): Promise {
return { }
}
+async function mockRefreshLAN (): Promise {
+ await pauseFor(1000)
+ return { }
+}
+
const mockApiNotifications: ReqRes.GetNotificationsRes = [
{
id: '123e4567-e89b-12d3-a456-426655440000',
diff --git a/ui/src/global.scss b/ui/src/global.scss
index a25fdd886..6c3eada49 100644
--- a/ui/src/global.scss
+++ b/ui/src/global.scss
@@ -302,7 +302,6 @@ ion-avatar {
}
ion-item-divider {
- margin-top: 15px;
color: var(--ion-color-medium);
font-size: medium;
padding-left: 10px;