UI cosmetic improvements (#1486)

* resize alerts and modals

* fix log color

* closes #1404

Co-authored-by: Matt Hill <matthill@Matt-M1.local>
This commit is contained in:
Matt Hill
2022-06-06 11:31:45 -06:00
committed by GitHub
parent 18e2c610bc
commit d53e295569
30 changed files with 68 additions and 90 deletions

View File

@@ -1,7 +1,15 @@
$wide-modal: 900px;
ion-input { ion-input {
caret-color: gray; caret-color: gray;
} }
ion-alert {
.alert-wrapper {
--min-width: 320px;
}
}
ion-modal::part(content) { ion-modal::part(content) {
position: absolute; position: absolute;
height: 90% !important; height: 90% !important;
@@ -15,16 +23,6 @@ ion-modal::part(content) {
box-shadow: 0 0 70px 70px black; box-shadow: 0 0 70px 70px black;
} }
@media (min-width: 1000px) {
ion-modal::part(content) {
position: absolute;
height: 80% !important;
top: 10%;
width: 50% !important;
left: 25%;
}
}
.alertlike-modal { .alertlike-modal {
&::part(content) { &::part(content) {
max-height: 380px !important; max-height: 380px !important;
@@ -36,10 +34,25 @@ ion-modal::part(content) {
} }
@media (min-width: 1000px) { @media (min-width: 1000px) {
ion-modal::part(content) {
position: absolute;
height: 80% !important;
top: 10%;
width: $wide-modal !important;
left: calc((100vw - $wide-modal) / 2) !important;
}
.alertlike-modal { .alertlike-modal {
&::part(content) { &::part(content) {
width: 60% !important; width: $wide-modal !important;
left: 20% !important; left: calc((100vw - $wide-modal) / 2) !important;
}
}
ion-alert {
.alert-wrapper {
--width: 50%;
--max-width: 500px;
} }
} }
} }

View File

@@ -78,7 +78,6 @@ export class UpdateToastService extends Observable<unknown> {
const LOADER: LoadingOptions = { const LOADER: LoadingOptions = {
spinner: 'lines', spinner: 'lines',
message: 'Restarting...', message: 'Restarting...',
cssClass: 'loader',
} }
const TOAST: ToastOptions = { const TOAST: ToastOptions = {

View File

@@ -33,7 +33,6 @@ export class SnekDirective {
if (data?.highScore > highScore) { if (data?.highScore > highScore) {
const loader = await this.loadingCtrl.create({ const loader = await this.loadingCtrl.create({
spinner: 'lines', spinner: 'lines',
cssClass: 'loader',
message: 'Saving High Score...', message: 'Saving High Score...',
}) })

View File

@@ -144,7 +144,6 @@ export class BackupDrivesComponent {
const loader = await this.loadingCtrl.create({ const loader = await this.loadingCtrl.create({
spinner: 'lines', spinner: 'lines',
message: 'Testing connectivity to shared folder...', message: 'Testing connectivity to shared folder...',
cssClass: 'loader',
}) })
await loader.present() await loader.present()
@@ -203,7 +202,6 @@ export class BackupDrivesComponent {
const loader = await this.loadingCtrl.create({ const loader = await this.loadingCtrl.create({
spinner: 'lines', spinner: 'lines',
message: 'Testing connectivity to shared folder...', message: 'Testing connectivity to shared folder...',
cssClass: 'loader',
}) })
await loader.present() await loader.present()
@@ -221,7 +219,6 @@ export class BackupDrivesComponent {
const loader = await this.loadingCtrl.create({ const loader = await this.loadingCtrl.create({
spinner: 'lines', spinner: 'lines',
message: 'Removing...', message: 'Removing...',
cssClass: 'loader',
}) })
await loader.present() await loader.present()

View File

@@ -5,6 +5,9 @@ import { RR } from 'src/app/services/api/api.types'
var Convert = require('ansi-to-html') var Convert = require('ansi-to-html')
var convert = new Convert({ var convert = new Convert({
bg: 'transparent', bg: 'transparent',
colors: {
4: 'Cyan',
},
}) })
@Component({ @Component({

View File

@@ -140,7 +140,6 @@ export class AppConfigPage {
const loader = await this.loadingCtrl.create({ const loader = await this.loadingCtrl.create({
spinner: 'lines', spinner: 'lines',
message: `Saving config. This could take a while...`, message: `Saving config. This could take a while...`,
cssClass: 'loader',
}) })
await loader.present() await loader.present()

View File

@@ -70,7 +70,6 @@ export class AppRecoverSelectPage {
const loader = await this.loadingCtrl.create({ const loader = await this.loadingCtrl.create({
spinner: 'lines', spinner: 'lines',
message: 'Initializing...', message: 'Initializing...',
cssClass: 'loader',
}) })
await loader.present() await loader.present()

View File

@@ -102,7 +102,7 @@ export class AppActionsPage {
handler: () => { handler: () => {
this.executeAction(action.key) this.executeAction(action.key)
}, },
cssClass: 'wide-alert enter-click', cssClass: 'enter-click',
}, },
], ],
}) })
@@ -159,7 +159,6 @@ export class AppActionsPage {
const loader = await this.loadingCtrl.create({ const loader = await this.loadingCtrl.create({
spinner: 'lines', spinner: 'lines',
message: 'Executing action...', message: 'Executing action...',
cssClass: 'loader',
}) })
await loader.present() await loader.present()

View File

@@ -116,7 +116,6 @@ export class AppShowStatusComponent {
const loader = await this.loadingCtrl.create({ const loader = await this.loadingCtrl.create({
message: `Stopping...`, message: `Stopping...`,
spinner: 'lines', spinner: 'lines',
cssClass: 'loader',
}) })
await loader.present() await loader.present()
@@ -143,7 +142,6 @@ export class AppShowStatusComponent {
const loader = await this.loadingCtrl.create({ const loader = await this.loadingCtrl.create({
message: `Starting...`, message: `Starting...`,
spinner: 'lines', spinner: 'lines',
cssClass: 'loader',
}) })
await loader.present() await loader.present()

View File

@@ -143,7 +143,6 @@ export class DeveloperListPage {
const loader = await this.loadingCtrl.create({ const loader = await this.loadingCtrl.create({
spinner: 'lines', spinner: 'lines',
message: 'Creating Project...', message: 'Creating Project...',
cssClass: 'loader',
}) })
await loader.present() await loader.present()
@@ -191,7 +190,6 @@ export class DeveloperListPage {
const loader = await this.loadingCtrl.create({ const loader = await this.loadingCtrl.create({
spinner: 'lines', spinner: 'lines',
message: 'Saving...', message: 'Saving...',
cssClass: 'loader',
}) })
await loader.present() await loader.present()
@@ -208,7 +206,6 @@ export class DeveloperListPage {
const loader = await this.loadingCtrl.create({ const loader = await this.loadingCtrl.create({
spinner: 'lines', spinner: 'lines',
message: 'Removing Project...', message: 'Removing Project...',
cssClass: 'loader',
}) })
await loader.present() await loader.present()

View File

@@ -72,7 +72,6 @@ export class DeveloperMenuPage {
const loader = await this.loadingCtrl.create({ const loader = await this.loadingCtrl.create({
spinner: 'lines', spinner: 'lines',
message: 'Saving...', message: 'Saving...',
cssClass: 'loader',
}) })
await loader.present() await loader.present()

View File

@@ -36,7 +36,6 @@ export class LoginPage {
this.loader = await this.loadingCtrl.create({ this.loader = await this.loadingCtrl.create({
message: 'Logging in', message: 'Logging in',
spinner: 'lines', spinner: 'lines',
cssClass: 'loader',
}) })
await this.loader.present() await this.loader.present()

View File

@@ -21,7 +21,8 @@
<marketplace-item [pkg]="pkg"> <marketplace-item [pkg]="pkg">
<marketplace-status <marketplace-status
class="status" class="status"
[pkg]="localPkgs[pkg.manifest.id]" [version]="pkg.manifest.version"
[localPkg]="localPkgs[pkg.manifest.id]"
></marketplace-status> ></marketplace-status>
</marketplace-item> </marketplace-item>
</ion-col> </ion-col>

View File

@@ -6,7 +6,8 @@
<marketplace-package [pkg]="pkg"> <marketplace-package [pkg]="pkg">
<marketplace-status <marketplace-status
class="status" class="status"
[pkg]="localPkg$ | async" [version]="pkg.manifest.version"
[localPkg]="localPkg$ | async"
></marketplace-status> ></marketplace-status>
<marketplace-show-controls <marketplace-show-controls
position="controls" position="controls"

View File

@@ -1,9 +1,15 @@
<ng-container *ngIf="pkg; else none" [ngSwitch]="pkg.state"> <ng-container *ngIf="localPkg; else none" [ngSwitch]="localPkg.state">
<div *ngSwitchCase="PackageState.Installed"> <div *ngSwitchCase="PackageState.Installed">
<ion-text *ngIf="(version | compareEmver: version) === 0" color="success"> <ion-text
*ngIf="(version | compareEmver: localVersion) === 0"
color="success"
>
Installed Installed
</ion-text> </ion-text>
<ion-text *ngIf="(version | compareEmver: version) === 1" color="warning"> <ion-text
*ngIf="(version | compareEmver: localVersion) === 1"
color="warning"
>
Update Available Update Available
</ion-text> </ion-text>
</div> </div>
@@ -15,7 +21,7 @@
</div> </div>
<div *ngSwitchDefault> <div *ngSwitchDefault>
<ion-text <ion-text
*ngIf="pkg['install-progress'] | installProgress as progress" *ngIf="localPkg['install-progress'] | installProgress as progress"
color="primary" color="primary"
> >
Installing Installing

View File

@@ -8,11 +8,13 @@ import { PackageDataEntry } from 'src/app/services/patch-db/data-model'
}) })
export class MarketplaceStatusComponent { export class MarketplaceStatusComponent {
@Input() @Input()
pkg?: PackageDataEntry version: string
@Input()
localPkg?: PackageDataEntry
PackageState = PackageState PackageState = PackageState
get version(): string { get localVersion(): string {
return this.pkg?.manifest.version || '' return this.localPkg?.manifest.version || ''
} }
} }

View File

@@ -70,7 +70,6 @@ export class NotificationsPage {
const loader = await this.loadingCtrl.create({ const loader = await this.loadingCtrl.create({
spinner: 'lines', spinner: 'lines',
message: 'Deleting...', message: 'Deleting...',
cssClass: 'loader',
}) })
await loader.present() await loader.present()
@@ -118,11 +117,11 @@ export class NotificationsPage {
await modal.present() await modal.present()
} }
async viewFullMessage(title: string, message: string) { async viewFullMessage(header: string, message: string) {
const alert = await this.alertCtrl.create({ const alert = await this.alertCtrl.create({
header: title, header,
message: message, message,
cssClass: 'wider-alert', cssClass: 'notification-detail-alert',
buttons: [ buttons: [
{ {
text: `OK`, text: `OK`,
@@ -159,7 +158,6 @@ export class NotificationsPage {
const loader = await this.loadingCtrl.create({ const loader = await this.loadingCtrl.create({
spinner: 'lines', spinner: 'lines',
message: 'Deleting...', message: 'Deleting...',
cssClass: 'loader',
}) })
await loader.present() await loader.present()

View File

@@ -138,7 +138,6 @@ export class MarketplacesPage {
const loader = await this.loadingCtrl.create({ const loader = await this.loadingCtrl.create({
spinner: 'lines', spinner: 'lines',
message: 'Validating Marketplace...', message: 'Validating Marketplace...',
cssClass: 'loader',
}) })
await loader.present() await loader.present()
@@ -183,7 +182,6 @@ export class MarketplacesPage {
const loader = await this.loadingCtrl.create({ const loader = await this.loadingCtrl.create({
spinner: 'lines', spinner: 'lines',
message: 'Deleting...', message: 'Deleting...',
cssClass: 'loader',
}) })
await loader.present() await loader.present()
@@ -211,7 +209,6 @@ export class MarketplacesPage {
const loader = await this.loadingCtrl.create({ const loader = await this.loadingCtrl.create({
spinner: 'lines', spinner: 'lines',
message: 'Validating Marketplace...', message: 'Validating Marketplace...',
cssClass: 'loader',
}) })
await loader.present() await loader.present()
@@ -254,7 +251,6 @@ export class MarketplacesPage {
const loader = await this.loadingCtrl.create({ const loader = await this.loadingCtrl.create({
spinner: 'lines', spinner: 'lines',
message: 'Validating Marketplace...', message: 'Validating Marketplace...',
cssClass: 'loader',
}) })
await loader.present() await loader.present()

View File

@@ -68,7 +68,6 @@ export class PreferencesPage {
const loader = await this.loadingCtrl.create({ const loader = await this.loadingCtrl.create({
spinner: 'lines', spinner: 'lines',
message: 'Saving...', message: 'Saving...',
cssClass: 'loader',
}) })
await loader.present() await loader.present()

View File

@@ -66,7 +66,6 @@ export class RestorePage {
const loader = await this.loadingCtrl.create({ const loader = await this.loadingCtrl.create({
spinner: 'lines', spinner: 'lines',
message: 'Decrypting drive...', message: 'Decrypting drive...',
cssClass: 'loader',
}) })
await loader.present() await loader.present()

View File

@@ -155,7 +155,6 @@ export class ServerBackupPage {
const loader = await this.loadingCtrl.create({ const loader = await this.loadingCtrl.create({
spinner: 'lines', spinner: 'lines',
message: 'Beginning backup...', message: 'Beginning backup...',
cssClass: 'loader',
}) })
await loader.present() await loader.present()

View File

@@ -180,7 +180,6 @@ export class ServerShowPage {
const loader = await this.loadingCtrl.create({ const loader = await this.loadingCtrl.create({
spinner: 'lines', spinner: 'lines',
message: 'Restarting...', message: 'Restarting...',
cssClass: 'loader',
}) })
await loader.present() await loader.present()
@@ -197,7 +196,6 @@ export class ServerShowPage {
const loader = await this.loadingCtrl.create({ const loader = await this.loadingCtrl.create({
spinner: 'lines', spinner: 'lines',
message: 'Shutting down...', message: 'Shutting down...',
cssClass: 'loader',
}) })
await loader.present() await loader.present()
@@ -214,7 +212,6 @@ export class ServerShowPage {
const loader = await this.loadingCtrl.create({ const loader = await this.loadingCtrl.create({
spinner: 'lines', spinner: 'lines',
message: 'Hard Restarting...', message: 'Hard Restarting...',
cssClass: 'loader',
}) })
await loader.present() await loader.present()
@@ -231,7 +228,6 @@ export class ServerShowPage {
const loader = await this.loadingCtrl.create({ const loader = await this.loadingCtrl.create({
spinner: 'lines', spinner: 'lines',
message: 'Checking for updates', message: 'Checking for updates',
cssClass: 'loader',
}) })
await loader.present() await loader.present()

View File

@@ -55,7 +55,6 @@ export class SessionsPage {
const loader = await this.loadingCtrl.create({ const loader = await this.loadingCtrl.create({
spinner: 'lines', spinner: 'lines',
message: 'Killing session...', message: 'Killing session...',
cssClass: 'loader',
}) })
await loader.present() await loader.present()

View File

@@ -66,7 +66,6 @@ export class SSHKeysPage {
const loader = await this.loadingCtrl.create({ const loader = await this.loadingCtrl.create({
spinner: 'lines', spinner: 'lines',
message: 'Saving...', message: 'Saving...',
cssClass: 'loader',
}) })
await loader.present() await loader.present()
@@ -103,7 +102,6 @@ export class SSHKeysPage {
const loader = await this.loadingCtrl.create({ const loader = await this.loadingCtrl.create({
spinner: 'lines', spinner: 'lines',
message: 'Deleting...', message: 'Deleting...',
cssClass: 'loader',
}) })
await loader.present() await loader.present()

View File

@@ -68,7 +68,7 @@ export class WifiPage {
role: 'cancel', role: 'cancel',
}, },
], ],
cssClass: 'wide-alert enter-click', cssClass: 'enter-click',
}) })
await alert.present() await alert.present()
return return
@@ -103,7 +103,7 @@ export class WifiPage {
}, },
}, },
], ],
cssClass: 'wide-alert enter-click select-warning', cssClass: 'enter-click select-warning',
}) })
await alert.present() await alert.present()
} }
@@ -171,7 +171,6 @@ export class WifiPage {
private async setCountry(country: string): Promise<void> { private async setCountry(country: string): Promise<void> {
const loader = await this.loadingCtrl.create({ const loader = await this.loadingCtrl.create({
spinner: 'lines', spinner: 'lines',
cssClass: 'loader',
}) })
await loader.present() await loader.present()
@@ -264,7 +263,6 @@ export class WifiPage {
const loader = await this.loadingCtrl.create({ const loader = await this.loadingCtrl.create({
spinner: 'lines', spinner: 'lines',
message: 'Connecting. This could take a while...', message: 'Connecting. This could take a while...',
cssClass: 'loader',
}) })
await loader.present() await loader.present()
@@ -282,7 +280,6 @@ export class WifiPage {
const loader = await this.loadingCtrl.create({ const loader = await this.loadingCtrl.create({
spinner: 'lines', spinner: 'lines',
message: 'Deleting...', message: 'Deleting...',
cssClass: 'loader',
}) })
await loader.present() await loader.present()
@@ -301,7 +298,6 @@ export class WifiPage {
const loader = await this.loadingCtrl.create({ const loader = await this.loadingCtrl.create({
spinner: 'lines', spinner: 'lines',
message: 'Saving...', message: 'Saving...',
cssClass: 'loader',
}) })
await loader.present() await loader.present()
@@ -324,7 +320,6 @@ export class WifiPage {
const loader = await this.loadingCtrl.create({ const loader = await this.loadingCtrl.create({
spinner: 'lines', spinner: 'lines',
message: 'Connecting. This could take a while...', message: 'Connecting. This could take a while...',
cssClass: 'loader',
}) })
await loader.present() await loader.present()

View File

@@ -796,7 +796,7 @@ export module Mock {
code: 4, code: 4,
level: NotificationLevel.Error, level: NotificationLevel.Error,
title: 'Service Crashed', title: 'Service Crashed',
message: new Array(50) message: new Array(40)
.fill( .fill(
`2021-11-27T18:36:30.451064Z 2021-11-27T18:36:30Z tor: Thread interrupt `2021-11-27T18:36:30.451064Z 2021-11-27T18:36:30Z tor: Thread interrupt
2021-11-27T18:36:30.452833Z 2021-11-27T18:36:30Z Shutdown: In progress... 2021-11-27T18:36:30.452833Z 2021-11-27T18:36:30Z Shutdown: In progress...
@@ -922,7 +922,7 @@ export module Mock {
{ {
timestamp: '2019-12-26T14:21:30.872Z', timestamp: '2019-12-26T14:21:30.872Z',
message: message:
'2021/11/09 22:55:04 \u001b[0;32;49mPOST \u001b[0;32;49m200\u001b[0m photoview.embassy/api/graphql \u001b[0;36;49m1.169406ms\u001b[0m unauthenticated', '2021/11/09 22:55:04 \u001b[34mPOST \u001b[0;32;49m200\u001b[0m photoview.embassy/api/graphql \u001b[0;36;49m1.169406ms\u001b[0m unauthenticated',
}, },
{ {
timestamp: '2019-12-26T14:22:30.872Z', timestamp: '2019-12-26T14:22:30.872Z',

View File

@@ -19,7 +19,7 @@ export const mockPatchData: DataModel = {
gaming: undefined, gaming: undefined,
}, },
'server-info': { 'server-info': {
id: 'embassy-abcdefgh', id: 'abcdefgh',
version: '0.3.1', version: '0.3.1',
'last-backup': null, 'last-backup': null,
'lan-address': 'https://embassy-abcdefgh.local', 'lan-address': 'https://embassy-abcdefgh.local',

View File

@@ -117,7 +117,6 @@ export class MarketplaceService extends AbstractMarketplaceService {
this.loadingCtrl.create({ this.loadingCtrl.create({
spinner: 'lines', spinner: 'lines',
message: 'Beginning Installation', message: 'Beginning Installation',
cssClass: 'loader',
}), }),
), ),
).pipe( ).pipe(

View File

@@ -31,7 +31,6 @@ export class ServerConfigService {
const loader = await this.loadingCtrl.create({ const loader = await this.loadingCtrl.create({
spinner: 'lines', spinner: 'lines',
message: 'Saving...', message: 'Saving...',
cssClass: 'loader',
}) })
loader.present() loader.present()

View File

@@ -63,10 +63,6 @@ $subheader-height: 48px;
color: var(--ion-color-warning); color: var(--ion-color-warning);
} }
.wide-alert {
--min-width: 400px;
}
.break-all { .break-all {
word-break: break-all; word-break: break-all;
} }
@@ -81,20 +77,6 @@ $subheader-height: 48px;
} }
} }
.item-subdivider {
padding: 0 16px;
margin-top: 0;
}
.loader {
--spinner-color: var(--ion-color-warning) !important;
z-index: 40000 !important;
}
.borderless {
border-style: none;
}
.center { .center {
display: block; display: block;
margin: auto; margin: auto;
@@ -216,8 +198,15 @@ ion-button {
} }
} }
.wider-alert .alert-wrapper { .notification-detail-alert {
min-width: 60% !important; .alert-wrapper {
--max-height: 80% !important;
--width: 90% !important;
--max-width: 900px !important;
}
.alert-message {
max-height: unset;
}
} }
ion-slides { ion-slides {
@@ -251,7 +240,8 @@ ion-label {
} }
ion-loading { ion-loading {
z-index: 100 !important; --spinner-color: var(--ion-color-warning) !important;
z-index: 40000 !important;
} }
.swiper-pagination { .swiper-pagination {