From f9393ba52cb20b34d150751236701d678844868f Mon Sep 17 00:00:00 2001 From: Vladyslav_Prykhodko Date: Thu, 27 Nov 2025 15:12:29 +0200 Subject: [PATCH] UI: Redesign login page OAuth2 providers --- .../oauth2/clients/client.component.html | 14 ++++--- .../domains/domain-table-config.resolver.ts | 4 +- .../login/pages/login/login.component.html | 40 +++++++++++++------ .../login/pages/login/login.component.scss | 36 +++++++++++++---- 4 files changed, 68 insertions(+), 26 deletions(-) diff --git a/ui-ngx/src/app/modules/home/pages/admin/oauth2/clients/client.component.html b/ui-ngx/src/app/modules/home/pages/admin/oauth2/clients/client.component.html index 60a837c583..37a5c3b464 100644 --- a/ui-ngx/src/app/modules/home/pages/admin/oauth2/clients/client.component.html +++ b/ui-ngx/src/app/modules/home/pages/admin/oauth2/clients/client.component.html @@ -136,7 +136,7 @@ -
+
admin.oauth2.login-button-label - - admin.oauth2.login-button-icon - - +
+
admin.oauth2.login-button-icon
+ + +
diff --git a/ui-ngx/src/app/modules/home/pages/admin/oauth2/domains/domain-table-config.resolver.ts b/ui-ngx/src/app/modules/home/pages/admin/oauth2/domains/domain-table-config.resolver.ts index 4b3c57f942..aa3f3fc7dc 100644 --- a/ui-ngx/src/app/modules/home/pages/admin/oauth2/domains/domain-table-config.resolver.ts +++ b/ui-ngx/src/app/modules/home/pages/admin/oauth2/domains/domain-table-config.resolver.ts @@ -85,8 +85,8 @@ export class DomainTableConfigResolver { this.config.loadEntity = id => this.domainService.getDomainInfoById(id.id); this.config.saveEntity = (domain, originalDomain) => { const clientsIds = domain.oauth2ClientInfos as Array || []; - const shouldUpdateClients = domain.id && !isEqual(domain.oauth2ClientInfos?.sort(), - originalDomain.oauth2ClientInfos?.map(info => info.id ? info.id.id : info).sort()); + const shouldUpdateClients = domain.id && !isEqual(domain.oauth2ClientInfos, + originalDomain.oauth2ClientInfos?.map(info => info.id ? info.id.id : info)); delete domain.oauth2ClientInfos; return this.domainService.saveDomain(domain, domain.id ? null : clientsIds).pipe( diff --git a/ui-ngx/src/app/modules/login/pages/login/login.component.html b/ui-ngx/src/app/modules/login/pages/login/login.component.html index ad95027958..94350c80f0 100644 --- a/ui-ngx/src/app/modules/login/pages/login/login.component.html +++ b/ui-ngx/src/app/modules/login/pages/login/login.component.html @@ -28,19 +28,35 @@
-
- - - -
-
-
{{ "login.or" | translate | uppercase }}
-
+ @if(oauth2Clients?.length) { +
+ @if(oauth2Clients.length === 1) { + + } @else { + + } +
+
+
{{ "login.or" | translate | uppercase }}
+
+
-
+ } login.username diff --git a/ui-ngx/src/app/modules/login/pages/login/login.component.scss b/ui-ngx/src/app/modules/login/pages/login/login.component.scss index 2784335d7b..8859aed7e4 100644 --- a/ui-ngx/src/app/modules/login/pages/login/login.component.scss +++ b/ui-ngx/src/app/modules/login/pages/login/login.component.scss @@ -59,8 +59,11 @@ } .text { - padding-right: 10px; - padding-left: 10px; + padding-right: 8px; + padding-left: 8px; + font-size: 16px; + line-height: 24px; + letter-spacing: 0.15px; } } @@ -72,14 +75,33 @@ a.login-with-button { color: rgba(black, 0.87); background-color: map-get($tb-dark-theme-background, raised-button); + } + + .login-button-container { + a.login-with-button { + --mdc-outlined-button-container-shape: 8px; + max-width: 123px; + min-width: 60px; + flex-grow: 1; + flex-basis: 120px; + + .tb-mat-20 { + margin: 0; + vertical-align: text-top; + } + } - &:hover { - border-bottom: 0; + &:has(> :nth-child(2):last-child) { + a.login-with-button { + max-width: 180px; + flex-basis: 180px; + } } - .icon { - height: 20px; - width: 20px; + &:has(> :nth-child(3):last-child) { + a.login-with-button { + max-width: 180px; + } } } }