From 7fac673fbc11786c72dd404ee6bdede9dcf3c2d1 Mon Sep 17 00:00:00 2001 From: "Chuma Mcphoy (We Ahead)" Date: Thu, 13 Feb 2025 15:28:39 +0000 Subject: [PATCH] Merged in feat/LOY-116-remove-cta-from-signup-verify-page (pull request #1335) refactor(LOY-116): consolidate signup auth & remove SignUpVerification component * refactor(LOY-116): simplify signup authentication and remove SignUpVerification component - Remove SignUpVerification component and its related files - Move authentication checks to page-level components - Consolidate signup flow authentication logic - Remove unused signup verification link variant * refactor(LOY-116): remove "sign up verification" from TrackingPosition type Approved-by: Christian Andolf --- .../(public)/[contentType]/[uid]/page.tsx | 20 +++++++---- .../SignUpVerification/index.tsx | 36 ------------------- .../signUpVerification.module.css | 6 ---- .../SignupFormWrapper/index.tsx | 12 ------- components/Blocks/DynamicContent/index.tsx | 3 -- .../TempDesignSystem/Link/link.module.css | 12 ------- components/TempDesignSystem/Link/variants.ts | 1 - types/components/blocks/dynamicContent.ts | 2 -- types/components/tracking.ts | 1 - 9 files changed, 14 insertions(+), 79 deletions(-) delete mode 100644 components/Blocks/DynamicContent/SignUpVerification/index.tsx delete mode 100644 components/Blocks/DynamicContent/SignUpVerification/signUpVerification.module.css diff --git a/app/[lang]/(live)/(public)/[contentType]/[uid]/page.tsx b/app/[lang]/(live)/(public)/[contentType]/[uid]/page.tsx index 176dc48c0..2a623f322 100644 --- a/app/[lang]/(live)/(public)/[contentType]/[uid]/page.tsx +++ b/app/[lang]/(live)/(public)/[contentType]/[uid]/page.tsx @@ -1,10 +1,12 @@ import { headers } from "next/headers" -import { notFound } from "next/navigation" +import { notFound,redirect } from "next/navigation" +import { overview } from "@/constants/routes/myPages" import { isSignupPage } from "@/constants/routes/signup" import { env } from "@/env/server" import { getHotelPage } from "@/lib/trpc/memoizedRequests" +import { auth } from "@/auth" import DestinationOverviewPage from "@/components/ContentType/DestinationOverviewPage" import DestinationCityPage from "@/components/ContentType/DestinationPage/DestinationCityPage" import DestinationCountryPage from "@/components/ContentType/DestinationPage/DestinationCountryPage" @@ -14,7 +16,8 @@ import LoyaltyPage from "@/components/ContentType/LoyaltyPage" import StartPage from "@/components/ContentType/StartPage" import CollectionPage from "@/components/ContentType/StaticPages/CollectionPage" import ContentPage from "@/components/ContentType/StaticPages/ContentPage" -import { setLang } from "@/i18n/serverContext" +import { getLang,setLang } from "@/i18n/serverContext" +import { isValidSession } from "@/utils/session" import type { ContentTypeParams, @@ -38,12 +41,17 @@ export default async function ContentTypePage({ case PageContentTypeEnum.collectionPage: return case PageContentTypeEnum.contentPage: { - // Hide content pages for signup routes when signup flow is disabled. - if (!env.SHOW_SIGNUP_FLOW) { - const isSignupRoute = isSignupPage(pathname) - if (isSignupRoute) { + const isSignupRoute = isSignupPage(pathname) + + if (isSignupRoute) { + if (!env.SHOW_SIGNUP_FLOW) { return notFound() } + + const session = await auth() + if (isValidSession(session)) { + redirect(overview[getLang()]) + } } return diff --git a/components/Blocks/DynamicContent/SignUpVerification/index.tsx b/components/Blocks/DynamicContent/SignUpVerification/index.tsx deleted file mode 100644 index d178e067a..000000000 --- a/components/Blocks/DynamicContent/SignUpVerification/index.tsx +++ /dev/null @@ -1,36 +0,0 @@ -import { redirect } from "next/navigation" - -import { overview } from "@/constants/routes/myPages" - -import { auth } from "@/auth" -import LoginButton from "@/components/LoginButton" -import { getIntl } from "@/i18n" -import { getLang } from "@/i18n/serverContext" -import { isValidSession } from "@/utils/session" - -import styles from "./signUpVerification.module.css" - -import type { SignUpVerificationProps } from "@/types/components/blocks/dynamicContent" - -export default async function SignUpVerification({ - dynamic_content, -}: SignUpVerificationProps) { - const session = await auth() - if (isValidSession(session)) { - redirect(overview[getLang()]) - } - const intl = await getIntl() - - return ( -
- - {intl.formatMessage({ id: "Proceed to login" })} - -
- ) -} diff --git a/components/Blocks/DynamicContent/SignUpVerification/signUpVerification.module.css b/components/Blocks/DynamicContent/SignUpVerification/signUpVerification.module.css deleted file mode 100644 index 8e1a8e925..000000000 --- a/components/Blocks/DynamicContent/SignUpVerification/signUpVerification.module.css +++ /dev/null @@ -1,6 +0,0 @@ -.container { - display: flex; - flex-direction: column; - align-items: flex-start; - margin-top: var(--Spacing-x3); -} diff --git a/components/Blocks/DynamicContent/SignupFormWrapper/index.tsx b/components/Blocks/DynamicContent/SignupFormWrapper/index.tsx index c0c875b79..089339bd1 100644 --- a/components/Blocks/DynamicContent/SignupFormWrapper/index.tsx +++ b/components/Blocks/DynamicContent/SignupFormWrapper/index.tsx @@ -1,21 +1,9 @@ -import { redirect } from "next/navigation" - -import { overview } from "@/constants/routes/myPages" - -import { auth } from "@/auth" import SignupForm from "@/components/Forms/Signup" -import { getLang } from "@/i18n/serverContext" -import { isValidSession } from "@/utils/session" import type { SignupFormWrapperProps } from "@/types/components/blocks/dynamicContent" export default async function SignupFormWrapper({ dynamic_content, }: SignupFormWrapperProps) { - const session = await auth() - if (isValidSession(session)) { - // We don't want to allow users to access signup if they are already authenticated. - redirect(overview[getLang()]) - } return } diff --git a/components/Blocks/DynamicContent/index.tsx b/components/Blocks/DynamicContent/index.tsx index fb6f27f8a..97bc876bb 100644 --- a/components/Blocks/DynamicContent/index.tsx +++ b/components/Blocks/DynamicContent/index.tsx @@ -14,7 +14,6 @@ import NextLevelRewardsBlock from "@/components/Blocks/DynamicContent/Rewards/Ne import SASLinkedAccount from "@/components/Blocks/DynamicContent/SAS/LinkedAccounts" import SASTierComparisonBlock from "@/components/Blocks/DynamicContent/SASTierComparison" import SignupFormWrapper from "@/components/Blocks/DynamicContent/SignupFormWrapper" -import SignUpVerification from "@/components/Blocks/DynamicContent/SignUpVerification" import PreviousStays from "@/components/Blocks/DynamicContent/Stays/Previous" import SoonestStays from "@/components/Blocks/DynamicContent/Stays/Soonest" import UpcomingStays from "@/components/Blocks/DynamicContent/Stays/Upcoming" @@ -70,8 +69,6 @@ function DynamicContentBlocks(props: DynamicContentProps) { return case DynamicContentEnum.Blocks.components.sign_up_form: return - case DynamicContentEnum.Blocks.components.sign_up_verification: - return case DynamicContentEnum.Blocks.components.soonest_stays: return case DynamicContentEnum.Blocks.components.upcoming_stays: diff --git a/components/TempDesignSystem/Link/link.module.css b/components/TempDesignSystem/Link/link.module.css index 8ff6a9932..10ce6991d 100644 --- a/components/TempDesignSystem/Link/link.module.css +++ b/components/TempDesignSystem/Link/link.module.css @@ -274,15 +274,3 @@ text-decoration: none; padding: var(--Spacing-x-half) var(--Spacing-x1); } - -.signupVerification { - background-color: var(--Base-Button-Primary-Fill-Normal); - color: var(--Base-Button-Inverted-Fill-Normal); - cursor: pointer; - padding: var(--Spacing-x-one-and-half) var(--Spacing-x2); - border-radius: var(--Corner-radius-Rounded); - text-decoration: none; - display: inline-block; - text-align: center; - transition: background-color 0.3s ease; -} diff --git a/components/TempDesignSystem/Link/variants.ts b/components/TempDesignSystem/Link/variants.ts index c93b93189..44a3ce597 100644 --- a/components/TempDesignSystem/Link/variants.ts +++ b/components/TempDesignSystem/Link/variants.ts @@ -43,7 +43,6 @@ export const linkVariants = cva(styles.link, { shortcut: styles.shortcut, sidebar: styles.sidebar, tab: styles.tab, - signupVerification: styles.signupVerification, }, }, defaultVariants: { diff --git a/types/components/blocks/dynamicContent.ts b/types/components/blocks/dynamicContent.ts index ef01f9b1a..98639e13c 100644 --- a/types/components/blocks/dynamicContent.ts +++ b/types/components/blocks/dynamicContent.ts @@ -20,5 +20,3 @@ export interface OverviewTableProps extends PartialDynamicContent { } export interface SignupFormWrapperProps extends PartialDynamicContent {} - -export interface SignUpVerificationProps extends PartialDynamicContent {} diff --git a/types/components/tracking.ts b/types/components/tracking.ts index 246e14b9e..8aa172c6a 100644 --- a/types/components/tracking.ts +++ b/types/components/tracking.ts @@ -187,5 +187,4 @@ export type TrackingPosition = | "top menu" | "hamburger menu" | "join scandic friends sidebar" - | "sign up verification" | "enter details"