Skip to content

Commit c0406d6

Browse files
committed
Simplified login form
1 parent 6b0fdf6 commit c0406d6

4 files changed

Lines changed: 33 additions & 33 deletions

File tree

Lines changed: 20 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,22 @@
1-
<div class="col-md-6 offset-md-3 mt-5">
2-
<div class="card">
3-
<h4 class="card-header">Login</h4>
4-
<div class="card-body">
5-
<form [formGroup]="form" (ngSubmit)="onLogin()">
6-
<div class="form-group">
7-
<label for="username">Username</label>
8-
<input type="text" formControlName="username" class="form-control"
9-
[ngClass]="{ 'is-invalid': isFormInvalid('username') }" />
10-
<div *ngIf="isFormInvalid('username') && form.get('username')?.hasError('required')" class="invalid-feedback">
11-
Username is required
12-
</div>
13-
</div>
14-
<div class="form-group">
15-
<label for="password">Password</label>
16-
<input type="password" formControlName="password" class="form-control"
17-
[ngClass]="{ 'is-invalid': isFormInvalid('password') }" />
18-
<div *ngIf="isFormInvalid('password') && form.get('password')?.hasError('required')" class="invalid-feedback">
19-
Password is required
20-
</div>
21-
</div>
22-
<button [disabled]="!canLogin()" class="btn btn-primary" [attr.aria-disabled]="!canLogin()" aria-label="Login">
23-
<span *ngIf="loading" class="spinner-border spinner-border-sm mr-1"></span>
24-
Login
25-
</button>
26-
<div *ngIf="failed" class="alert alert-danger mt-3 mb-0">Invalid user</div>
27-
</form>
1+
<form [formGroup]="form" (ngSubmit)="onLogin()">
2+
<div class="form-group">
3+
<label for="username">Username</label>
4+
<input type="text" formControlName="username" class="form-control"
5+
[ngClass]="{ 'is-invalid': isFormInvalid('username') }" />
6+
<div *ngIf="isFormInvalid('username') && form.get('username')?.hasError('required')" class="invalid-feedback">
7+
Username is required
288
</div>
299
</div>
30-
</div>
10+
<div class="form-group">
11+
<label for="password">Password</label>
12+
<input type="password" formControlName="password" class="form-control"
13+
[ngClass]="{ 'is-invalid': isFormInvalid('password') }" />
14+
<div *ngIf="isFormInvalid('password') && form.get('password')?.hasError('required')" class="invalid-feedback">
15+
Password is required
16+
</div>
17+
</div>
18+
<button [disabled]="!canLogin()" class="btn btn-primary" [attr.aria-disabled]="!canLogin()" aria-label="Login">
19+
<span *ngIf="loading" class="spinner-border spinner-border-sm mr-1"></span>
20+
Login
21+
</button>
22+
</form>

src/app/login/components/login-form/login-form.component.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,6 @@ export class LoginFormComponent {
1111

1212
@Input() public loading = false;
1313

14-
@Input() public failed = false;
15-
1614
@Output() public login = new EventEmitter<LoginUser>();
1715

1816
public form = this.formBuilder.group({
Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,9 @@
1-
<login-form (login)="onLogin($event)" [failed]="failed" [loading]="loading"></login-form>
1+
<div class="col-md-6 offset-md-3 mt-5">
2+
<div class="card">
3+
<h4 class="card-header">Login</h4>
4+
<div class="card-body">
5+
<login-form (login)="onLogin($event)" [loading]="loading"></login-form>
6+
<div *ngIf="failed" class="alert alert-danger mt-3 mb-0">Invalid user</div>
7+
</div>
8+
</div>
9+
</div>

tsconfig.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
"outDir": "./dist/out-tsc",
1111
"forceConsistentCasingInFileNames": true,
1212
"strict": true,
13+
"noImplicitOverride": true,
14+
"noPropertyAccessFromIndexSignature": true,
1315
"noImplicitReturns": true,
1416
"noFallthroughCasesInSwitch": true,
1517
"sourceMap": true,
@@ -18,10 +20,10 @@
1820
"experimentalDecorators": true,
1921
"moduleResolution": "node",
2022
"importHelpers": true,
21-
"target": "es2017",
23+
"target": "es2020",
2224
"module": "es2020",
2325
"lib": [
24-
"es2018",
26+
"es2020",
2527
"dom"
2628
]
2729
},

0 commit comments

Comments
 (0)