From 8208243c5e829166b888c72f75d27aacd937fda2 Mon Sep 17 00:00:00 2001 From: Alfonso Salces Date: Wed, 7 Sep 2022 15:17:34 +0200 Subject: [PATCH] MOBILE-4081 reconnect: Create component for identity providers --- .../login/components/components.module.ts | 3 ++ .../login-methods/login-methods.html | 8 +++++ .../login-methods/login-methods.scss | 12 +++++++ .../components/login-methods/login-methods.ts | 33 +++++++++++++++++++ .../login/pages/reconnect/reconnect.html | 9 +++-- .../login/pages/reconnect/reconnect.module.ts | 2 ++ .../features/login/services/login-helper.ts | 15 +++++++++ 7 files changed, 79 insertions(+), 3 deletions(-) create mode 100644 src/core/features/login/components/login-methods/login-methods.html create mode 100644 src/core/features/login/components/login-methods/login-methods.scss create mode 100644 src/core/features/login/components/login-methods/login-methods.ts diff --git a/src/core/features/login/components/components.module.ts b/src/core/features/login/components/components.module.ts index 37d326e79..e2cdddf84 100644 --- a/src/core/features/login/components/components.module.ts +++ b/src/core/features/login/components/components.module.ts @@ -17,12 +17,14 @@ import { CoreSharedModule } from '@/core/shared.module'; import { CoreLoginSiteOnboardingComponent } from './site-onboarding/site-onboarding'; import { CoreLoginSiteHelpComponent } from './site-help/site-help'; import { CoreLoginSitesComponent } from './sites/sites'; +import { CoreLoginMethodsComponent } from './login-methods/login-methods'; @NgModule({ declarations: [ CoreLoginSiteOnboardingComponent, CoreLoginSiteHelpComponent, CoreLoginSitesComponent, + CoreLoginMethodsComponent, ], imports: [ CoreSharedModule, @@ -31,6 +33,7 @@ import { CoreLoginSitesComponent } from './sites/sites'; CoreLoginSiteOnboardingComponent, CoreLoginSiteHelpComponent, CoreLoginSitesComponent, + CoreLoginMethodsComponent, ], }) export class CoreLoginComponentsModule {} diff --git a/src/core/features/login/components/login-methods/login-methods.html b/src/core/features/login/components/login-methods/login-methods.html new file mode 100644 index 000000000..bccba83e1 --- /dev/null +++ b/src/core/features/login/components/login-methods/login-methods.html @@ -0,0 +1,8 @@ + + + + + {{ method.name }} + + diff --git a/src/core/features/login/components/login-methods/login-methods.scss b/src/core/features/login/components/login-methods/login-methods.scss new file mode 100644 index 000000000..e417fd95f --- /dev/null +++ b/src/core/features/login/components/login-methods/login-methods.scss @@ -0,0 +1,12 @@ +@import "~theme/globals"; + +ion-item-divider { + --item-divider-border-width: 4px; + margin: 0 1em; +} +.core-login-methods { + margin: .5em 0; + &__spacer { + margin: .5em 1em; + } +} diff --git a/src/core/features/login/components/login-methods/login-methods.ts b/src/core/features/login/components/login-methods/login-methods.ts new file mode 100644 index 000000000..08c85a47c --- /dev/null +++ b/src/core/features/login/components/login-methods/login-methods.ts @@ -0,0 +1,33 @@ +// (C) Copyright 2015 Moodle Pty Ltd. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +import { Component, OnInit } from '@angular/core'; +import { CoreLoginHelper, CoreLoginMethod } from '@features/login/services/login-helper'; + +@Component({ + selector: 'core-login-methods', + templateUrl: 'login-methods.html', + styleUrls: ['../../login.scss', 'login-methods.scss'], +}) +export class CoreLoginMethodsComponent implements OnInit { + + loginMethods?: CoreLoginMethod[]; + + /** + * @inheritdoc + */ + async ngOnInit(): Promise { + this.loginMethods = await CoreLoginHelper.getLoginMethods(); + } + +} diff --git a/src/core/features/login/pages/reconnect/reconnect.html b/src/core/features/login/pages/reconnect/reconnect.html index 8c6b71f6e..6f3e5017e 100644 --- a/src/core/features/login/pages/reconnect/reconnect.html +++ b/src/core/features/login/pages/reconnect/reconnect.html @@ -76,17 +76,20 @@ {{ 'core.login.forgotten' | translate }} + + + -