From d27d3ddec368f8c48b10916b6a15018f75df380a Mon Sep 17 00:00:00 2001 From: Dani Palou Date: Wed, 1 Nov 2023 12:08:24 +0100 Subject: [PATCH 1/4] MOBILE-4459 core: Support demo mode --- src/core/classes/site.ts | 19 +++++++- .../choose-site-modal/choose-site-modal.html | 2 +- .../login/components/sites/sites.html | 10 +++-- .../login/pages/credentials/credentials.html | 2 +- .../login/pages/credentials/credentials.ts | 18 +++++--- .../pages/email-signup/email-signup.html | 2 +- .../login/pages/email-signup/email-signup.ts | 5 ++- .../login/pages/reconnect/reconnect.html | 2 +- .../login/pages/reconnect/reconnect.ts | 5 ++- .../features/login/pages/sites/sites.html | 4 +- .../features/login/services/login-helper.ts | 43 +++++++++++++++++-- .../components/user-menu/user-menu.ts | 2 +- .../pages/space-usage/space-usage.html | 10 +++-- .../synchronization/synchronization.html | 10 +++-- .../pages/choose-site/choose-site.html | 2 +- src/core/services/sites.ts | 12 +++++- src/types/config.d.ts | 1 + 17 files changed, 119 insertions(+), 30 deletions(-) diff --git a/src/core/classes/site.ts b/src/core/classes/site.ts index 6c1a98b9528..0c5a101bc56 100644 --- a/src/core/classes/site.ts +++ b/src/core/classes/site.ts @@ -296,14 +296,18 @@ export class CoreSite { * @returns Site name. */ async getSiteName(): Promise { + if (this.isDemoModeSite()) { + return CoreConstants.CONFIG.appname; + } + if (this.infos?.sitename) { return this.infos?.sitename; } // Fallback. - const isSigleFixedSite = await CoreLoginHelper.isSingleFixedSite(); + const isSingleFixedSite = await CoreLoginHelper.isSingleFixedSite(); - if (isSigleFixedSite) { + if (isSingleFixedSite) { const sites = await CoreLoginHelper.getAvailableSites(); return sites[0].name; @@ -2459,6 +2463,17 @@ export class CoreSite { }); } + /** + * Check if the site is a demo mode site. + * + * @returns Whether the site is a demo mode site. + */ + isDemoModeSite(): boolean { + const demoSiteData = CoreLoginHelper.getDemoModeSiteInfo(); + + return this.containsUrl(demoSiteData?.url); + } + } /** diff --git a/src/core/features/contentlinks/components/choose-site-modal/choose-site-modal.html b/src/core/features/contentlinks/components/choose-site-modal/choose-site-modal.html index 84ac8273c27..93d5b734e22 100644 --- a/src/core/features/contentlinks/components/choose-site-modal/choose-site-modal.html +++ b/src/core/features/contentlinks/components/choose-site-modal/choose-site-modal.html @@ -27,7 +27,7 @@

{{ 'core.contentlinks.chooseaccounttoopenlink' | transl

-

{{site.siteUrl}}

+

{{site.siteUrl}}

diff --git a/src/core/features/login/components/sites/sites.html b/src/core/features/login/components/sites/sites.html index 80e7ce64343..cef9d4d7326 100644 --- a/src/core/features/login/components/sites/sites.html +++ b/src/core/features/login/components/sites/sites.html @@ -28,8 +28,10 @@

-

{{ - accountsList.currentSite.siteUrlWithoutProtocol }} +

+ + {{ accountsList.currentSite.siteUrlWithoutProtocol }} +

@@ -53,7 +55,9 @@

-

{{ sites[0].siteUrlWithoutProtocol }}

+

+ {{ sites[0].siteUrlWithoutProtocol }} +

diff --git a/src/core/features/login/pages/credentials/credentials.html b/src/core/features/login/pages/credentials/credentials.html index be6df430171..3c76002c638 100644 --- a/src/core/features/login/pages/credentials/credentials.html +++ b/src/core/features/login/pages/credentials/credentials.html @@ -32,7 +32,7 @@

{{ 'core.login.login' | translate }}

-

{{siteUrl}}

+

{{siteUrl}}

{{ 'core.agelocationverification' | translate }} -

{{siteUrl}}

+

{{siteUrl}}

diff --git a/src/core/features/login/pages/email-signup/email-signup.ts b/src/core/features/login/pages/email-signup/email-signup.ts index f0d0f3f3ff6..c3f2da50f70 100644 --- a/src/core/features/login/pages/email-signup/email-signup.ts +++ b/src/core/features/login/pages/email-signup/email-signup.ts @@ -34,6 +34,7 @@ import { CoreForms } from '@singletons/form'; import { CoreRecaptchaComponent } from '@components/recaptcha/recaptcha'; import { CorePath } from '@singletons/path'; import { CoreDom } from '@singletons/dom'; +import { CoreConstants } from '@/core/constants'; /** * Page to signup using email. @@ -51,6 +52,7 @@ export class CoreLoginEmailSignupPage implements OnInit { signupForm: FormGroup; siteUrl!: string; + isDemoModeSite = false; siteConfig?: CoreSitePublicConfigResponse; siteName?: string; authInstructions = ''; @@ -127,6 +129,7 @@ export class CoreLoginEmailSignupPage implements OnInit { } this.siteUrl = siteUrl; + this.isDemoModeSite = CoreLoginHelper.isDemoModeSite(this.siteUrl); // Fetch the data. this.fetchData().finally(() => { @@ -235,7 +238,7 @@ export class CoreLoginEmailSignupPage implements OnInit { */ protected treatSiteConfig(): boolean { if (this.siteConfig?.registerauth == 'email' && !CoreLoginHelper.isEmailSignupDisabled(this.siteConfig)) { - this.siteName = this.siteConfig.sitename; + this.siteName = this.isDemoModeSite ? CoreConstants.CONFIG.appname : this.siteConfig.sitename; this.authInstructions = this.siteConfig.authinstructions; this.ageDigitalConsentVerification = this.siteConfig.agedigitalconsentverification; this.supportName = this.siteConfig.supportname; diff --git a/src/core/features/login/pages/reconnect/reconnect.html b/src/core/features/login/pages/reconnect/reconnect.html index c5baa268646..bfc6ed6b1d8 100644 --- a/src/core/features/login/pages/reconnect/reconnect.html +++ b/src/core/features/login/pages/reconnect/reconnect.html @@ -40,7 +40,7 @@

{{ 'core.login.reconnect' | translate }}

-

{{siteUrl}}

+

{{siteUrl}}