Skip to content

Commit c98e9f1

Browse files
committed
[#2480] simplify template
1 parent 166b102 commit c98e9f1

2 files changed

Lines changed: 19 additions & 29 deletions

File tree

webui/src/app/login-screen/login-screen.component.html

Lines changed: 17 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,13 @@
1+
<ng-template #methodItem let-item>
2+
<div class="flex align-items-center gap-2">
3+
@if (item.id === 'oidc') {
4+
<i class="fa-brands fa-openid text-5xl" aria-hidden="true"></i>
5+
} @else {
6+
<img src="/assets/authentication-methods/{{ item.id }}.png" (error)="onMissingIcon($event)" />
7+
}
8+
<div>{{ item.name }}</div>
9+
</div>
10+
</ng-template>
111
<div class="login-screen__wrapper">
212
<div class="login-screen">
313
<div class="login-screen__content">
@@ -35,35 +45,14 @@
3545
(onChange)="authMethodChange($event)"
3646
>
3747
<ng-template let-item #item>
38-
<div class="flex align-items-center gap-2">
39-
@if (item.id === 'oidc') {
40-
<i class="fa-brands fa-openid text-5xl" aria-hidden="true"></i>
41-
} @else {
42-
<img
43-
src="/assets/authentication-methods/{{ item.id }}.png"
44-
(error)="onMissingIcon($event)"
45-
/>
46-
}
47-
<div>{{ item.name }}</div>
48-
</div>
48+
<ng-container
49+
*ngTemplateOutlet="methodItem; context: { $implicit: item }"
50+
></ng-container>
4951
</ng-template>
50-
<ng-template #selectedItem>
51-
<div
52-
class="flex align-items-center gap-2"
53-
*ngIf="loginForm.get('authenticationMethod').value"
54-
>
55-
@if (loginForm.get('authenticationMethod').value.id === 'oidc') {
56-
<i class="fa-brands fa-openid text-5xl" aria-hidden="true"></i>
57-
} @else {
58-
<img
59-
src="/assets/authentication-methods/{{
60-
loginForm.get('authenticationMethod').value.id
61-
}}.png"
62-
(error)="onMissingIcon($event)"
63-
/>
64-
}
65-
<div>{{ loginForm.get('authenticationMethod').value.name }}</div>
66-
</div>
52+
<ng-template let-item #selectedItem>
53+
<ng-container
54+
*ngTemplateOutlet="methodItem; context: { $implicit: item }"
55+
></ng-container>
6756
</ng-template>
6857
</p-select>
6958
<label for="authenticationMethod" class="text-white">Choose a Method</label>

webui/src/app/login-screen/login-screen.component.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { AuthenticationMethod } from '../backend'
77
import { AuthService } from '../auth.service'
88
import { HttpClient } from '@angular/common/http'
99
import { lastValueFrom } from 'rxjs'
10-
import { NgIf } from '@angular/common'
10+
import { NgIf, NgTemplateOutlet } from '@angular/common'
1111
import { ProgressSpinner } from 'primeng/progressspinner'
1212
import { FloatLabel } from 'primeng/floatlabel'
1313
import { Select, SelectChangeEvent } from 'primeng/select'
@@ -47,6 +47,7 @@ import { MessageService } from 'primeng/api'
4747
Password,
4848
ButtonModule,
4949
Message,
50+
NgTemplateOutlet,
5051
],
5152
})
5253
export class LoginScreenComponent implements OnInit {

0 commit comments

Comments
 (0)