From 18dd2e27e5c87d42ae7bf4ae766cdec7f1034fa8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20Poizat?= Date: Fri, 10 Oct 2025 15:46:08 +0200 Subject: [PATCH 1/2] feat: Update wording to be more inclusive for organization --- src/locales/en.json | 8 ++++---- src/locales/es.json | 8 ++++---- src/locales/fr.json | 8 ++++---- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/locales/en.json b/src/locales/en.json index 84a1c30b5..dfe6ca94b 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -109,7 +109,7 @@ "buttonSignin": "Create Twake ID", "buttonLogin": "Login", "title": "Twake Workplace", - "useYourCompanyServer": "Use your company server", + "useYourCompanyServer": "Use your organization server", "byContinuingYourAgreeingToOur": "By continuing, you're agreeing to our", "privacyPolicy": "Privacy Policy" }, @@ -117,15 +117,15 @@ "title": "Login", "body": { "byUrl": "To log in and access your Twake, please enter its URL", - "byEmail": "To log in and access your Twake, please enter your company email address" + "byEmail": "To log in and access your Twake, please enter your organization email address" }, "toggle": { "url": "Enter my Twake URL", - "email": "Enter my company email address" + "email": "Enter my organization email address" }, "textFieldLabel": "Url", "buttonLogin": "Next", - "companyServerNotFound": "Company server not found" + "companyServerNotFound": "Organization server not found" } }, "services": { diff --git a/src/locales/es.json b/src/locales/es.json index a7763eb2a..e49a81abc 100644 --- a/src/locales/es.json +++ b/src/locales/es.json @@ -109,7 +109,7 @@ "buttonSignin": "Crear Twake ID", "buttonLogin": "Acceso", "title": "Twake Workplace", - "useYourCompanyServer": "Utilice el servidor de su empresa", + "useYourCompanyServer": "Utilice el servidor de su organización", "byContinuingYourAgreeingToOur": "Al continuar, acepta nuestra", "privacyPolicy": "Política de Privacidad" }, @@ -117,15 +117,15 @@ "title": "Acceso", "body": { "byUrl": "Para conectarse y acceder a su Twake, introduzca su URL", - "byEmail": "Para conectarse y acceder a su Twake, introduzca la dirección de correo electrónico corporativa" + "byEmail": "Para conectarse y acceder a su Twake, introduzca la dirección de correo electrónico organización" }, "toggle": { "url": "Introduce mi URL de Twake", - "email": "Introduzca la dirección de correo electrónico corporativa" + "email": "Introduzca la dirección de correo electrónico organización" }, "textFieldLabel": "Url", "buttonLogin": "Siguiente", - "companyServerNotFound": "No se ha encontrado el servidor de la corporativa" + "companyServerNotFound": "No se ha encontrado el servidor de la organización" } }, "services": { diff --git a/src/locales/fr.json b/src/locales/fr.json index 9eb6f299d..9e951e0b5 100644 --- a/src/locales/fr.json +++ b/src/locales/fr.json @@ -109,7 +109,7 @@ "buttonSignin": "Créer un Twake ID", "buttonLogin": "Se connecter", "title": "Twake Workplace", - "useYourCompanyServer": "Utiliser le serveur de votre entreprise", + "useYourCompanyServer": "Utiliser le serveur de votre organisation", "byContinuingYourAgreeingToOur": "En continuant, vous acceptez notre", "privacyPolicy": "Politique de confidentialité" }, @@ -117,15 +117,15 @@ "title": "Se connecter", "body": { "byUrl": "Pour vous connecter et accéder à votre Twake, veuillez saisir son URL", - "byEmail": "Pour vous connecter et accéder à votre Twake, veuillez saisir votre adresse email d'entreprise" + "byEmail": "Pour vous connecter et accéder à votre Twake, veuillez saisir votre adresse email d'organisation" }, "toggle": { "url": "Entrer l'URL de mon Twake", - "email": "Entrer mon adresse email d'entreprise" + "email": "Entrer mon adresse email d'organisation" }, "textFieldLabel": "Serveur", "buttonLogin": "Suivant", - "companyServerNotFound": "Serveur d'entreprise introuvable" + "companyServerNotFound": "Serveur d'organisation introuvable" } }, "services": { From 033fae33f190db400ebae9ded22738e6c6bd5b3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20Poizat?= Date: Mon, 13 Oct 2025 07:50:20 +0200 Subject: [PATCH 2/2] feat: Make cloudery login/signin url depends on env To be able to test on different env on new Twake accounts, we also need to change login/signin url and not only the cloudery base url. --- src/constants/strings.json | 18 ++++++++---- .../login/cloudery-env/clouderyEnv.spec.ts | 28 +++++++++---------- src/screens/login/cloudery-env/clouderyEnv.ts | 19 +++++++++++-- 3 files changed, 43 insertions(+), 22 deletions(-) diff --git a/src/constants/strings.json b/src/constants/strings.json index f3e3a2207..732375b48 100644 --- a/src/constants/strings.json +++ b/src/constants/strings.json @@ -26,17 +26,25 @@ "prodBaseUri": "https://manager.cozycloud.cc", "intBaseUri": "https://staging-manager.cozycloud.cc", "devBaseUri": "https://manager-dev.cozycloud.cc", - "cozyLoginRelativeUri": "/v2/neutral/start?", - "cozySigninRelativeUri": "/v2/postcode?", + "prodCozyLoginRelativeUri": "/v2/neutral/start?", + "intCozyLoginRelativeUri": "/v2/neutral/start?", + "devCozyLoginRelativeUri": "/v2/neutral/start?", + "prodCozySigninRelativeUri": "/v2/postcode?", + "intCozySigninRelativeUri": "/v2/postcode?", + "devCozySigninRelativeUri": "/v2/postcode?", "iOSQueryString": "universallink_for_email=https%3A%2F%2Flinks.mycozy.cloud%2Fflagship%2Fmanager&redirect_after_email=https%3A%2F%2Flinks.mycozy.cloud%2Fflagship%2Fonboarding%3Fflagship%3Dtrue%26fallback=cozy%253A%252F%252Fonboarding%253Fflagship%253Dtrue&redirect_after_login=https%3A%2F%2Floginflagship", "androidQueryString": "universallink_for_email=https%3A%2F%2Flinks.mycozy.cloud%2Fflagship%2Fmanager&redirect_after_email=https%3A%2F%2Flinks.mycozy.cloud%2Fflagship%2Fonboarding%3Fflagship%3Dtrue%26fallback=cozy%253A%252F%252Fonboarding%253Fflagship%253Dtrue&redirect_after_login=https%3A%2F%2Floginflagship" }, "twake": { "prodBaseUri": "https://manager.cozycloud.cc", "intBaseUri": "https://manager-int.cozycloud.cc", - "devBaseUri": "https://manager-dev.cozycloud.cc", - "cozyLoginRelativeUri": "/linagora/twake?", - "cozySigninRelativeUri": "/linagora/twake?register=true", + "devBaseUri": "https://manager-int.cozycloud.cc", + "prodCozyLoginRelativeUri": "/linagora/twake_prod?", + "intCozyLoginRelativeUri": "/linagora/twake_stg?", + "devCozyLoginRelativeUri": "/linagora/twake?", + "prodCozySigninRelativeUri": "/linagora/twake_prod?register=true", + "intCozySigninRelativeUri": "/linagora/twake_stg?register=true", + "devCozySigninRelativeUri": "/linagora/twake?register=true", "iOSQueryString": "", "androidQueryString": "" } diff --git a/src/screens/login/cloudery-env/clouderyEnv.spec.ts b/src/screens/login/cloudery-env/clouderyEnv.spec.ts index d21e7de64..ff8726eb6 100644 --- a/src/screens/login/cloudery-env/clouderyEnv.spec.ts +++ b/src/screens/login/cloudery-env/clouderyEnv.spec.ts @@ -30,11 +30,11 @@ describe('extractEnvFromUrl', () => { expect(result).toStrictEqual({ loginUrl: strings.cloudery.twake.prodBaseUri + - strings.cloudery.twake.cozyLoginRelativeUri + + strings.cloudery.twake.prodCozyLoginRelativeUri + strings.cloudery.twake.androidQueryString, signinUrl: strings.cloudery.twake.prodBaseUri + - strings.cloudery.twake.cozySigninRelativeUri + + strings.cloudery.twake.prodCozySigninRelativeUri + strings.cloudery.twake.androidQueryString, isOnboardingPartner: false }) @@ -48,11 +48,11 @@ describe('extractEnvFromUrl', () => { expect(result).toStrictEqual({ loginUrl: strings.cloudery.twake.devBaseUri + - strings.cloudery.twake.cozyLoginRelativeUri + + strings.cloudery.twake.devCozyLoginRelativeUri + strings.cloudery.twake.androidQueryString, signinUrl: strings.cloudery.twake.devBaseUri + - strings.cloudery.twake.cozySigninRelativeUri + + strings.cloudery.twake.devCozySigninRelativeUri + strings.cloudery.twake.androidQueryString, isOnboardingPartner: false }) @@ -66,11 +66,11 @@ describe('extractEnvFromUrl', () => { expect(result).toStrictEqual({ loginUrl: strings.cloudery.twake.intBaseUri + - strings.cloudery.twake.cozyLoginRelativeUri + + strings.cloudery.twake.intCozyLoginRelativeUri + strings.cloudery.twake.androidQueryString, signinUrl: strings.cloudery.twake.intBaseUri + - strings.cloudery.twake.cozySigninRelativeUri + + strings.cloudery.twake.intCozySigninRelativeUri + strings.cloudery.twake.androidQueryString, isOnboardingPartner: false }) @@ -85,11 +85,11 @@ describe('extractEnvFromUrl', () => { expect(result).toStrictEqual({ loginUrl: strings.cloudery.twake.intBaseUri + - strings.cloudery.twake.cozyLoginRelativeUri + + strings.cloudery.twake.intCozyLoginRelativeUri + strings.cloudery.twake.iOSQueryString, signinUrl: strings.cloudery.twake.intBaseUri + - strings.cloudery.twake.cozySigninRelativeUri + + strings.cloudery.twake.intCozySigninRelativeUri + strings.cloudery.twake.iOSQueryString, isOnboardingPartner: false }) @@ -101,11 +101,11 @@ describe('extractEnvFromUrl', () => { expect(result).toStrictEqual({ loginUrl: strings.cloudery.twake.prodBaseUri + - strings.cloudery.twake.cozyLoginRelativeUri + + strings.cloudery.twake.prodCozyLoginRelativeUri + strings.cloudery.twake.androidQueryString, signinUrl: strings.cloudery.twake.prodBaseUri + - strings.cloudery.twake.cozySigninRelativeUri + + strings.cloudery.twake.prodCozySigninRelativeUri + strings.cloudery.twake.androidQueryString, isOnboardingPartner: false }) @@ -119,11 +119,11 @@ describe('extractEnvFromUrl', () => { expect(result).toStrictEqual({ loginUrl: strings.cloudery.twake.prodBaseUri + - strings.cloudery.twake.cozyLoginRelativeUri + + strings.cloudery.twake.prodCozyLoginRelativeUri + strings.cloudery.twake.androidQueryString, signinUrl: strings.cloudery.twake.prodBaseUri + - strings.cloudery.twake.cozySigninRelativeUri + + strings.cloudery.twake.prodCozySigninRelativeUri + strings.cloudery.twake.androidQueryString, isOnboardingPartner: false }) @@ -159,11 +159,11 @@ describe('extractEnvFromUrl', () => { expect(result).toStrictEqual({ loginUrl: strings.cloudery.twake.prodBaseUri + - strings.cloudery.twake.cozyLoginRelativeUri + + strings.cloudery.twake.prodCozyLoginRelativeUri + strings.cloudery.twake.androidQueryString, signinUrl: strings.cloudery.twake.prodBaseUri + - strings.cloudery.twake.cozySigninRelativeUri + + strings.cloudery.twake.prodCozySigninRelativeUri + strings.cloudery.twake.androidQueryString, isOnboardingPartner: false }) diff --git a/src/screens/login/cloudery-env/clouderyEnv.ts b/src/screens/login/cloudery-env/clouderyEnv.ts index 924dd6266..3de869840 100644 --- a/src/screens/login/cloudery-env/clouderyEnv.ts +++ b/src/screens/login/cloudery-env/clouderyEnv.ts @@ -72,10 +72,23 @@ export const getClouderyUrls = async (): Promise => { } const baseUri = baseUris[clouderyEnv] + const baseCozyLoginRelativeUris: Record = { + PROD: strings.cloudery[clouderyType].prodCozyLoginRelativeUri, + INT: strings.cloudery[clouderyType].intCozyLoginRelativeUri, + DEV: strings.cloudery[clouderyType].devCozyLoginRelativeUri + } + const baseCozyLoginRelativeUri = baseCozyLoginRelativeUris[clouderyEnv] + + const baseCozySigninRelativeUris: Record = { + PROD: strings.cloudery[clouderyType].prodCozySigninRelativeUri, + INT: strings.cloudery[clouderyType].intCozySigninRelativeUri, + DEV: strings.cloudery[clouderyType].devCozySigninRelativeUri + } + const baseCozySigninRelativeUri = baseCozySigninRelativeUris[clouderyEnv] + const onboardingPartnerPath = await getOnboardingPartnerRelativeUrl() - const relativeLoginUri = - onboardingPartnerPath ?? strings.cloudery[clouderyType].cozyLoginRelativeUri - const relativeSigninUri = strings.cloudery[clouderyType].cozySigninRelativeUri + const relativeLoginUri = onboardingPartnerPath ?? baseCozyLoginRelativeUri + const relativeSigninUri = baseCozySigninRelativeUri const queryString = Platform.OS === 'ios'