From 549265cd340e831efffa0f71931b779f2b2c7165 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matilda=20Landstr=C3=B6m?= Date: Wed, 4 Feb 2026 16:51:06 +0000 Subject: [PATCH] Merged in feat/LOY-615-cleanup-env-prof-consent (pull request #3537) feat(LOY-615): cleanup profiling consent env var * feat(LOY-615): cleanup profiling consent env var Approved-by: Anton Gunnarsson --- .../(live)/(protected)/my-pages/layout.tsx | 39 +--------- .../my-pages/profile/consent/page.tsx | 11 --- .../SignupFormWrapper/index.tsx | 9 +-- .../components/Forms/Signup/index.tsx | 77 +++++++++---------- .../Profile/CommunicationSettings/index.tsx | 4 +- .../MyPages/ProfilingConsent/Banner/index.tsx | 3 - .../MyPages/ProfilingConsent/README.md | 4 +- apps/scandic-web/env/server.ts | 6 -- 8 files changed, 40 insertions(+), 113 deletions(-) diff --git a/apps/scandic-web/app/[lang]/(live)/(protected)/my-pages/layout.tsx b/apps/scandic-web/app/[lang]/(live)/(protected)/my-pages/layout.tsx index 346d2af71..48c04d2a4 100644 --- a/apps/scandic-web/app/[lang]/(live)/(protected)/my-pages/layout.tsx +++ b/apps/scandic-web/app/[lang]/(live)/(protected)/my-pages/layout.tsx @@ -1,12 +1,7 @@ import { TrackingSDK } from "@scandic-hotels/tracking/TrackingSDK" -import { - getEurobonusMembership, - scandicMembershipTypes, -} from "@scandic-hotels/trpc/routers/user/helpers" +import { getEurobonusMembership } from "@scandic-hotels/trpc/routers/user/helpers" -import { env } from "@/env/server" import { - getBasicProfileSafely, getProfileSafely, getProfilingConsent, } from "@/lib/trpc/memoizedRequests" @@ -26,15 +21,7 @@ type MyPagesLayoutProps = React.PropsWithChildren<{ breadcrumbs: React.ReactNode }> -export default async function MyPagesLayout(props: MyPagesLayoutProps) { - if (env.ENABLE_PROFILE_CONSENT) { - return - } - - return -} - -async function MyPagesLayoutWithConsent({ +export default async function MyPagesLayout({ breadcrumbs, children, }: MyPagesLayoutProps) { @@ -84,25 +71,3 @@ async function MyPagesLayoutWithConsent({ ) } - -async function MyPagesLayoutBase({ - breadcrumbs, - children, -}: MyPagesLayoutProps) { - const profile = await getBasicProfileSafely() - const eurobonusMembership = profile?.loyalty?.memberships?.find( - (m) => m.membershipType === scandicMembershipTypes.SAS_EB - ) - - return ( -
-
- {breadcrumbs} -
{children}
-
- - {eurobonusMembership && } - -
- ) -} diff --git a/apps/scandic-web/app/[lang]/(live)/(protected)/my-pages/profile/consent/page.tsx b/apps/scandic-web/app/[lang]/(live)/(protected)/my-pages/profile/consent/page.tsx index 576b128a3..2468ef75e 100644 --- a/apps/scandic-web/app/[lang]/(live)/(protected)/my-pages/profile/consent/page.tsx +++ b/apps/scandic-web/app/[lang]/(live)/(protected)/my-pages/profile/consent/page.tsx @@ -1,24 +1,13 @@ -import { redirect } from "next/navigation" - -import { profile } from "@scandic-hotels/common/constants/routes/myPages" import { TrackingSDK } from "@scandic-hotels/tracking/TrackingSDK" -import { env } from "@/env/server" import { getProfile } from "@/lib/trpc/memoizedRequests" import { serverClient } from "@/lib/trpc/server" import { ProfilingConsent } from "@/components/Forms/ProfilingConsent" -import { getLang } from "@/i18n/serverContext" import styles from "./page.module.css" export default async function ProfilingConsentSlot() { - const lang = await getLang() - - if (!env.ENABLE_PROFILE_CONSENT) { - redirect(profile[lang]) - } - const caller = await serverClient() const accountPage = await caller.contentstack.accountPage.get() const user = await getProfile() diff --git a/apps/scandic-web/components/Blocks/DynamicContent/SignupFormWrapper/index.tsx b/apps/scandic-web/components/Blocks/DynamicContent/SignupFormWrapper/index.tsx index 2d20f9864..089339bd1 100644 --- a/apps/scandic-web/components/Blocks/DynamicContent/SignupFormWrapper/index.tsx +++ b/apps/scandic-web/components/Blocks/DynamicContent/SignupFormWrapper/index.tsx @@ -1,5 +1,3 @@ -import { env } from "@/env/server" - import SignupForm from "@/components/Forms/Signup" import type { SignupFormWrapperProps } from "@/types/components/blocks/dynamicContent" @@ -7,10 +5,5 @@ import type { SignupFormWrapperProps } from "@/types/components/blocks/dynamicCo export default async function SignupFormWrapper({ dynamic_content, }: SignupFormWrapperProps) { - return ( - - ) + return } diff --git a/apps/scandic-web/components/Forms/Signup/index.tsx b/apps/scandic-web/components/Forms/Signup/index.tsx index 55f8b3756..36b32b2a1 100644 --- a/apps/scandic-web/components/Forms/Signup/index.tsx +++ b/apps/scandic-web/components/Forms/Signup/index.tsx @@ -48,14 +48,9 @@ import styles from "./form.module.css" interface SignUpFormProps { title: string - enableProfileConsent?: boolean } -export default function SignupForm({ - title, - // Handled as a prop rather than a client env var due to limits in Netlify env var size. - enableProfileConsent = false, -}: SignUpFormProps) { +export default function SignupForm({ title }: SignUpFormProps) { const intl = useIntl() const router = useRouter() const lang = useLang() @@ -140,7 +135,7 @@ export default function SignupForm({ return (
- {enableProfileConsent && } + {title ? (

{title}

@@ -293,41 +288,39 @@ export default function SignupForm({ /> - {enableProfileConsent && ( -
-
- -

- {intl.formatMessage({ - id: "signup.UnlockYourPersonalizedExperience", - defaultMessage: "Unlock your personalized experience!", - })} -

-
-
- - {intl.formatMessage({ - id: "signup.yesConsent", - defaultMessage: - "I consent to Scandic using my information to give me even more personalized travel inspiration and offers from Scandic and trusted Scandic Friends partners. This means Scandic may use information about my interactions with Scandic Friends partners, and share details of my interactions with Scandic with those partners, to make the experience even more relevant to me.", - })} - - - {intl.formatMessage({ - id: "signup.ReadMoreAboutPersonalization", - defaultMessage: "Read more about personalization at Scandic", - })} - -
- )} +
+
+ +

+ {intl.formatMessage({ + id: "signup.UnlockYourPersonalizedExperience", + defaultMessage: "Unlock your personalized experience!", + })} +

+
+
+ + {intl.formatMessage({ + id: "signup.yesConsent", + defaultMessage: + "I consent to Scandic using my information to give me even more personalized travel inspiration and offers from Scandic and trusted Scandic Friends partners. This means Scandic may use information about my interactions with Scandic Friends partners, and share details of my interactions with Scandic with those partners, to make the experience even more relevant to me.", + })} + + + {intl.formatMessage({ + id: "signup.ReadMoreAboutPersonalization", + defaultMessage: "Read more about personalization at Scandic", + })} + +
diff --git a/apps/scandic-web/components/MyPages/Profile/CommunicationSettings/index.tsx b/apps/scandic-web/components/MyPages/Profile/CommunicationSettings/index.tsx index 49a36849c..674241ac1 100644 --- a/apps/scandic-web/components/MyPages/Profile/CommunicationSettings/index.tsx +++ b/apps/scandic-web/components/MyPages/Profile/CommunicationSettings/index.tsx @@ -1,5 +1,3 @@ -import { env } from "@/env/server" - import { getIntl } from "@/i18n" import { Section } from "../Section" @@ -17,7 +15,7 @@ export async function CommunicationSettings() { })} > - {env.ENABLE_PROFILE_CONSENT && } +
) } diff --git a/apps/scandic-web/components/MyPages/ProfilingConsent/Banner/index.tsx b/apps/scandic-web/components/MyPages/ProfilingConsent/Banner/index.tsx index baa41c320..f6ffd1399 100644 --- a/apps/scandic-web/components/MyPages/ProfilingConsent/Banner/index.tsx +++ b/apps/scandic-web/components/MyPages/ProfilingConsent/Banner/index.tsx @@ -1,6 +1,5 @@ import { Typography } from "@scandic-hotels/design-system/Typography" -import { env } from "@/env/server" import { getProfile, getProfilingConsent } from "@/lib/trpc/memoizedRequests" import { GetMainIconByCSIdentifier, userHasConsent } from "../utils" @@ -9,8 +8,6 @@ import { BannerButton } from "./Button" import styles from "./profilingConsentBanner.module.css" export async function ProfilingConsentBanner() { - if (!env.ENABLE_PROFILE_CONSENT) return null - const user = await getProfile() if (!user || userHasConsent(user?.profilingConsent)) return null diff --git a/apps/scandic-web/components/MyPages/ProfilingConsent/README.md b/apps/scandic-web/components/MyPages/ProfilingConsent/README.md index 4b7dcefce..bb108ce8f 100644 --- a/apps/scandic-web/components/MyPages/ProfilingConsent/README.md +++ b/apps/scandic-web/components/MyPages/ProfilingConsent/README.md @@ -1,6 +1,6 @@ # Profiling Consent -Profiling consent allows users to opt in/out of personalized experiences. The feature is controlled by the `ENABLE_PROFILE_CONSENT` environment variable. +Profiling consent allows users to opt in/out of personalized experiences. ## User Journey @@ -121,11 +121,9 @@ Replace `` with the actual `membershipNumber` or `profileId`. Required content for the feature: 1. **Profiling Consent (config)** - - Config needs to be created and published in each language 2. **/consent (account page)** - - Page needs to be created and published in each language 3. **/overview (account page)** diff --git a/apps/scandic-web/env/server.ts b/apps/scandic-web/env/server.ts index ce28025b1..c0e35b93c 100644 --- a/apps/scandic-web/env/server.ts +++ b/apps/scandic-web/env/server.ts @@ -96,11 +96,6 @@ export const env = createEnv({ .refine((s) => s === "1" || s === "0") .transform((s) => s === "1") .default("0"), - ENABLE_PROFILE_CONSENT: z - .string() - .refine((s) => s === "true" || s === "false") - .transform((s) => s === "true") - .default("false"), RELEASE_TAG: z .string() .optional() @@ -160,7 +155,6 @@ export const env = createEnv({ DTMC_ENTRA_ID_SECRET: process.env.DTMC_ENTRA_ID_SECRET, CHATBOT_LIVE_LANGS: process.env.CHATBOT_LIVE_LANGS, SEO_INERT: process.env.SEO_INERT, - ENABLE_PROFILE_CONSENT: process.env.ENABLE_PROFILE_CONSENT, RELEASE_TAG: process.env.NEXT_PUBLIC_RELEASE_TAG, }, })