Skip to content

Commit 40a9a33

Browse files
committed
code cleanup
1 parent 2134d0e commit 40a9a33

File tree

15 files changed

+203
-189
lines changed

15 files changed

+203
-189
lines changed

src/app/add-device/device-editor/device-editor.component.html

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,13 @@
4444
<input type="text" class="form-control" id="authValue" formControlName="value" [appSshAuthValue]="authType"
4545
autocomplete="off">
4646
@if (authType === 'localKey') {
47-
<button type="button" class="btn btn-outline-secondary" (click)="chooseSshPrivKey()">
47+
<button type="button" class="btn btn-outline-secondary" (click)="chooseSshPrivKey()"
48+
aria-label="Choose private key">
4849
Choose...
4950
</button>
5051
}
51-
<button type="button" class="btn btn-outline-secondary" (click)="authInfoHelp()">
52+
<button type="button" class="btn btn-outline-secondary" (click)="authInfoHelp()"
53+
aria-label="About authentication info">
5254
<i class="bi bi-question-circle-fill"></i>
5355
</button>
5456
}

src/app/add-device/device-editor/key-passphrase-prompt/key-passphrase-prompt.component.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
}
99
</div>
1010
<div class="modal-footer">
11-
<button class="btn btn-outline-secondary" (click)="modal.dismiss()">Cancel</button>
11+
<button class="btn btn-outline-secondary" (click)="modal.dismiss()" aria-label="Cancel">Cancel</button>
1212
<button class="btn btn-primary" [disabled]="formControl.invalid"
13-
(click)="formControl.valid && modal.close(formControl.value)">OK
13+
(click)="formControl.valid && modal.close(formControl.value)" aria-label="OK">OK
1414
</button>
1515
</div>

src/app/add-device/wizard/wizard.component.html

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
</app-wizard-mode-select>
88
<ng-template appWizardFooterTemplate>
99
<button class="btn btn-primary ms-auto" [disabled]="!connectionMode" [ngSwitch]="connectionMode"
10-
(click)="finishConnectionModeSelection()">Next
10+
(click)="finishConnectionModeSelection()" aria-label="Next">Next
1111
</button>
1212
</ng-template>
1313
</ng-template>
@@ -18,13 +18,12 @@
1818
<ng-template ngbNavContent>
1919
<app-wizard-devmode-setup #devModeSetup></app-wizard-devmode-setup>
2020
<ng-template appWizardFooterTemplate>
21-
<button class="btn btn-outline-secondary" (click)="prevStep()">Back</button>
22-
<button class="btn btn-primary ms-auto" (click)="editDevice()">
23-
@if (devModeSetup.allDone) {
24-
Next
25-
} @else {
26-
Skip
27-
}</button>
21+
<button class="btn btn-outline-secondary" (click)="prevStep()" aria-label="Back">Back</button>
22+
@if (devModeSetup.allDone) {
23+
<button class="btn btn-primary ms-auto" (click)="editDevice()" aria-label="Next">Next</button>
24+
} @else {
25+
<button class="btn btn-primary ms-auto" (click)="editDevice()" aria-label="Skip">Skip</button>
26+
}
2827
</ng-template>
2928
</ng-template>
3029
</li>
@@ -35,8 +34,9 @@
3534
<app-wizard-add-device [mode]="connectionMode" (deviceAdded)="deviceAdded($event)" #addDevice>
3635
</app-wizard-add-device>
3736
<ng-template appWizardFooterTemplate>
38-
<button class="btn btn-outline-secondary" (click)="prevStep()">Back</button>
39-
<button class="btn btn-primary ms-auto" (click)="addDevice.submit()" [disabled]="!addDevice.valid">Finish
37+
<button class="btn btn-outline-secondary" (click)="prevStep()" aria-label="Back">Back</button>
38+
<button class="btn btn-primary ms-auto" (click)="addDevice.submit()" [disabled]="!addDevice.valid"
39+
aria-label="Finish">Finish
4040
</button>
4141
</ng-template>
4242
</ng-template>
@@ -45,7 +45,7 @@
4545
<div class="modal-header">
4646
<h5 class="modal-title">{{ navTitle }}</h5>
4747
@if (cancellable) {
48-
<button class="btn btn-close me-1" (click)="modal.dismiss()"></button>
48+
<button class="btn btn-close me-1" (click)="modal.dismiss()" aria-label="Close"></button>
4949
}
5050
</div>
5151
<div class="modal-body" [ngbNavOutlet]="nav">

src/app/app.module.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import {AddDeviceModule} from "./add-device/add-device.module";
2626
import {NgOptimizedImage} from "@angular/common";
2727
import {Router} from "@angular/router";
2828
import {createErrorHandler, TraceService} from "@sentry/angular";
29+
import {ExternalLinkDirective} from "./shared/directives";
2930

3031
@NgModule({
3132
declarations: [
@@ -54,6 +55,7 @@ import {createErrorHandler, TraceService} from "@sentry/angular";
5455
NgbDropdownToggle,
5556
NgbDropdownMenu,
5657
NgbDropdownItem,
58+
ExternalLinkDirective,
5759
],
5860
providers: [
5961
{

src/app/apps/channel/channel.component.html

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,17 @@
33
<ul class="list-group list-group-flush">
44
<li class="list-group-item app-item d-flex flex-row align-items-center" (click)="parent.openDetails(item)"
55
*ngFor="let item of repoPage.packages">
6-
<ng-container *ngIf="item.manifest as manifest">
6+
@let manifest = item.manifest;
7+
@if (manifest) {
78
<div class="app-desc flex-fill">
89
<img class="app-icon" [ngSrc]="item.iconUri" [alt]="item.title" width="48" height="48">
910
<div class="app-headline ms-3">
1011
<div class="app-title">{{ item.title }}</div>
1112
<div class="app-description">{{ manifest.appDescription }}</div>
1213
</div>
1314
</div>
14-
<button class="btn btn-sm btn-primary ms-2 text-nowrap">Details</button>
15-
</ng-container>
15+
<button class="btn btn-sm btn-primary ms-2 text-nowrap" aria-label="Details">Details</button>
16+
}
1617
</li>
1718
</ul>
1819
<div class="mt-3">

src/app/apps/details/details.component.html

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,38 +2,42 @@
22
<div class="position-sticky w-100 top-0 d-flex flex-row z-3">
33
<button type="button" class="btn-close ms-auto" aria-label="Close" (click)="modal.dismiss('Close click')"></button>
44
</div>
5+
@let installed = installedInfo$ | async;
56
<div class="d-flex flex-wrap flex-sm-row">
67
<img class="app-details-icon" [ngSrc]="item.detailIconUri ?? item.iconUri" width="160" height="160" alt="App icon"/>
78
<div class="flex-fill my-2 ms-3 d-flex flex-column">
89
<h1>{{ item.title }}</h1>
910
<label class="mt-1">
1011
Version {{ item.manifest?.version }}
11-
<ng-container *ngIf="(installedInfo$ | async) as installed">
12+
@if (installed) {
1213
(Installed: {{ installed?.version }})
13-
</ng-container>
14+
}
1415
</label>
1516
<label class="mt-1 fw-bold" *ngIf="item.manifest?.rootRequired" [ngSwitch]="item.manifest?.rootRequired">
1617
<ng-container *ngSwitchCase="true">Root required</ng-container>
1718
<ng-container *ngSwitchCase="'optional'">Root is optional</ng-container>
1819
</label>
1920
</div>
20-
@let installed = installedInfo$ | async;
2121
<div class="d-flex flex-column justify-content-center ms-auto">
2222
<ng-container>
2323
<div class="btn-group text-nowrap ms-2" role="group" aria-label="Actions">
24-
<ng-container [ngSwitch]="installed && manifest.hasUpdate(installed.version)">
25-
<button class="btn btn-primary ms-2 text-nowrap" (click)="parent?.launchApp(item.id)"
26-
*ngSwitchCase="false">
27-
<i class="bi bi-play-fill me-2"></i>Launch
28-
</button>
29-
<button class="btn btn-primary ms-2 text-nowrap" (click)="installPackage(item)"
30-
*ngSwitchCase="true">
31-
<i class="bi bi-download me-2"></i>Update
32-
</button>
33-
<button class="btn btn-primary ms-2 text-nowrap" (click)="installPackage(item)" *ngSwitchDefault>
34-
<i class="bi bi-download me-2"></i>Install
35-
</button>
36-
</ng-container>
24+
@switch (installed && manifest.hasUpdate(installed.version)) {
25+
@case (false) {
26+
<button class="btn btn-primary" (click)="parent?.launchApp(item.id)" aria-label="Launch">
27+
<i class="bi bi-play-fill me-2"></i>Launch
28+
</button>
29+
}
30+
@case (true) {
31+
<button class="btn btn-primary" (click)="installPackage(item)" aria-label="Update">
32+
<i class="bi bi-download me-2"></i>Update
33+
</button>
34+
}
35+
@default {
36+
<button class="btn btn-primary" (click)="installPackage(item)" aria-label="Install">
37+
<i class="bi bi-download me-2"></i>Install
38+
</button>
39+
}
40+
}
3741
<div class="btn-group" ngbDropdown container="body" display="dynamic" role="group"
3842
aria-label="More options">
3943
<button class="btn btn-primary" ngbDropdownToggle>

src/app/apps/details/details.component.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import {SharedModule} from "../../shared/shared.module";
1414
import {Device, PackageInfo} from "../../types";
1515
import {fromPromise} from "rxjs/internal/observable/innerFrom";
1616
import {AppsComponent} from "../apps.component";
17+
import {ExternalLinkDirective} from "../../shared/directives";
1718

1819
@Component({
1920
selector: 'app-channel-app-details',
@@ -30,7 +31,8 @@ import {AppsComponent} from "../apps.component";
3031
SharedModule,
3132
NgSwitch,
3233
NgSwitchDefault,
33-
NgForOf
34+
NgForOf,
35+
ExternalLinkDirective
3436
],
3537
templateUrl: './details.component.html',
3638
styleUrl: './details.component.scss',
Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,35 @@
1-
<div *ngIf="device">
2-
@if (installedError) {
3-
<app-error-card title="Unable to get installed apps" [error]="installedError" (retry)="loadPackages()">
4-
</app-error-card>
5-
} @else {
6-
<ul class="list-group list-group-flush" *ngIf="(installed$ | async) as installed else loading">
1+
@let installed = installed$ | async;
2+
@if (installedError) {
3+
<app-error-card title="Unable to get installed apps" [error]="installedError" (retry)="loadPackages()">
4+
</app-error-card>
5+
} @else if (installed) {
6+
<ul class="list-group list-group-flush">
7+
@for (pkg of installed; track pkg.id) {
78
<li class="list-group-item app-item d-flex flex-row align-items-center"
8-
(click)="repoPackages?.[pkg.id] && parent.openDetails(repoPackages![pkg.id])"
9-
*ngFor="let pkg of installed">
9+
(click)="repoPackages?.[pkg.id] && parent.openDetails(repoPackages![pkg.id])">
1010
<div class="app-desc flex-fill">
1111
<!--suppress AngularNgOptimizedImage -->
1212
<img class="app-icon" [src]="pkg.iconUri | trustUri" [alt]="pkg.title">
1313
<div class="app-headline ms-3">
1414
<div class="app-title">{{ pkg.title }}</div>
1515
<div class="app-description">
1616
<span>v{{ pkg.version }}</span>
17-
<ng-container *ngIf="repoPackages && repoPackages[pkg.id] as rpkg">
18-
<span class="text-primary"
19-
*ngIf="rpkg.manifest?.hasUpdate(pkg.version)">&nbsp;&rsaquo;&nbsp;v{{ rpkg.manifest?.version }}</span>
20-
</ng-container>
17+
@let rpkg = repoPackages && repoPackages[pkg.id];
18+
@if (rpkg && rpkg.manifest?.hasUpdate(pkg.version)) {
19+
<span class="text-primary">&nbsp;&rsaquo;&nbsp;v{{ rpkg.manifest?.version }}</span>
20+
}
2121
</div>
2222
</div>
2323
</div>
24-
<button class="btn btn-sm btn-primary text-nowrap" type="button"
25-
(click)="$event.stopPropagation(); parent.installPackage(repoPackages![pkg.id])"
26-
*ngIf="repoPackages?.[pkg.id]?.manifest?.hasUpdate(pkg.version)">
27-
Update
28-
</button>
24+
@if (repoPackages?.[pkg.id]?.manifest?.hasUpdate(pkg.version)) {
25+
<button class="btn btn-sm btn-primary text-nowrap" type="button" aria-label="Update"
26+
(click)="$event.stopPropagation(); parent.installPackage(repoPackages![pkg.id])">
27+
Update
28+
</button>
29+
}
2930
</li>
30-
</ul>
31-
}
32-
<ng-template #loading>
33-
<app-loading-card></app-loading-card>
34-
</ng-template>
35-
</div>
31+
}
32+
</ul>
33+
} @else {
34+
<app-loading-card></app-loading-card>
35+
}

src/app/debug/dmesg/dmesg.component.html

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
<div class="w-100 h-100 d-flex flex-row">
22
<div class="h-100 d-flex flex-column p-2">
3-
<button class="btn btn-sm btn-secondary mt-2" ngbTooltip="Search" (click)="logReader.toggleSearchBar()">
3+
<button class="btn btn-sm btn-secondary mt-2" ngbTooltip="Search" (click)="logReader.toggleSearchBar()"
4+
aria-label="Search">
45
<i class="bi bi-search"></i>
56
</button>
67
<hr>
7-
<button class="btn btn-sm btn-secondary mb-2" ngbTooltip="Clear" (click)="clearBuffer()">
8+
<button class="btn btn-sm btn-secondary mb-2" ngbTooltip="Clear" (click)="clearBuffer()" aria-label="Clear">
89
<i class="bi bi-trash"></i>
910
</button>
10-
<button class="btn btn-sm btn-secondary mb-2" ngbTooltip="Scroll to bottom"
11+
<button class="btn btn-sm btn-secondary mb-2" ngbTooltip="Scroll to bottom" aria-label="Scroll to bottom"
1112
[disabled]="logReader.reachedBottom" (click)="logReader.scrollToBottom()">
1213
<i class="bi bi-chevron-bar-down"></i>
1314
</button>

src/app/files/files.component.html

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@
1616
<li>
1717
<select class="breadcrumb-item form-select form-select-sm border-0 border-end rounded-end-0"
1818
[value]="device.name" (change)="deviceManager.setDefault(deviceSelect.value)" #deviceSelect>
19-
@for (item of (deviceManager.devices$ | async); track item.name) {
19+
@let devices = deviceManager.devices$ | async;
20+
@for (item of devices; track item.name) {
2021
<option [value]="item.name" [selected]="item.name === device.name">{{ item.name }}</option>
2122
}
2223
</select>

0 commit comments

Comments
 (0)