feat: add env var for signup flow
This commit is contained in:
@@ -51,5 +51,6 @@ GOOGLE_STATIC_MAP_SIGNATURE_SECRET=""
|
|||||||
GOOGLE_STATIC_MAP_ID=""
|
GOOGLE_STATIC_MAP_ID=""
|
||||||
GOOGLE_DYNAMIC_MAP_ID=""
|
GOOGLE_DYNAMIC_MAP_ID=""
|
||||||
|
|
||||||
HIDE_FOR_NEXT_RELEASE="true"
|
HIDE_FOR_NEXT_RELEASE="false"
|
||||||
|
SHOW_SIGNUP_FLOW="true"
|
||||||
USE_NEW_REWARDS_ENDPOINT="true"
|
USE_NEW_REWARDS_ENDPOINT="true"
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
|
import { headers } from "next/headers"
|
||||||
import { notFound } from "next/navigation"
|
import { notFound } from "next/navigation"
|
||||||
|
|
||||||
|
import { isSignupPage } from "@/constants/routes/signup"
|
||||||
import { env } from "@/env/server"
|
import { env } from "@/env/server"
|
||||||
|
|
||||||
import HotelPage from "@/components/ContentType/HotelPage"
|
import HotelPage from "@/components/ContentType/HotelPage"
|
||||||
@@ -22,17 +24,24 @@ export default function ContentTypePage({
|
|||||||
}: PageArgs<LangParams & ContentTypeParams & UIDParams, {}>) {
|
}: PageArgs<LangParams & ContentTypeParams & UIDParams, {}>) {
|
||||||
setLang(params.lang)
|
setLang(params.lang)
|
||||||
|
|
||||||
|
const pathname = headers().get("x-pathname") || ""
|
||||||
|
const isSignupRoute = isSignupPage(pathname)
|
||||||
|
|
||||||
switch (params.contentType) {
|
switch (params.contentType) {
|
||||||
case "collection-page":
|
case "collection-page":
|
||||||
if (env.HIDE_FOR_NEXT_RELEASE) {
|
if (env.HIDE_FOR_NEXT_RELEASE) {
|
||||||
return notFound()
|
return notFound()
|
||||||
}
|
}
|
||||||
return <CollectionPage />
|
return <CollectionPage />
|
||||||
case "content-page":
|
case "content-page": {
|
||||||
if (env.HIDE_FOR_NEXT_RELEASE) {
|
if (!isSignupRoute && env.HIDE_FOR_NEXT_RELEASE) {
|
||||||
|
return notFound()
|
||||||
|
}
|
||||||
|
if (isSignupRoute && !env.SHOW_SIGNUP_FLOW) {
|
||||||
return notFound()
|
return notFound()
|
||||||
}
|
}
|
||||||
return <ContentPage />
|
return <ContentPage />
|
||||||
|
}
|
||||||
case "loyalty-page":
|
case "loyalty-page":
|
||||||
return <LoyaltyPage />
|
return <LoyaltyPage />
|
||||||
case "hotel-page":
|
case "hotel-page":
|
||||||
|
|||||||
@@ -17,3 +17,13 @@ export const signupVerify: LangRoute = {
|
|||||||
da: `${signup.da}/bekraeft`,
|
da: `${signup.da}/bekraeft`,
|
||||||
de: `${signup.de}/verifizieren`,
|
de: `${signup.de}/verifizieren`,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function isSignupPage(path: string): boolean {
|
||||||
|
const signupPaths = [...Object.values(signup), ...Object.values(signupVerify)]
|
||||||
|
const result = signupPaths.some((signupPath) => {
|
||||||
|
const includes = signupPath.includes(path)
|
||||||
|
return includes
|
||||||
|
})
|
||||||
|
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
|||||||
8
env/server.ts
vendored
8
env/server.ts
vendored
@@ -60,6 +60,13 @@ export const env = createEnv({
|
|||||||
SEAMLESS_LOGOUT_FI: z.string(),
|
SEAMLESS_LOGOUT_FI: z.string(),
|
||||||
SEAMLESS_LOGOUT_NO: z.string(),
|
SEAMLESS_LOGOUT_NO: z.string(),
|
||||||
SEAMLESS_LOGOUT_SV: z.string(),
|
SEAMLESS_LOGOUT_SV: z.string(),
|
||||||
|
SHOW_SIGNUP_FLOW: z
|
||||||
|
.string()
|
||||||
|
// only allow "true" or "false"
|
||||||
|
.refine((s) => s === "true" || s === "false")
|
||||||
|
// transform to boolean
|
||||||
|
.transform((s) => s === "true")
|
||||||
|
.default("false"),
|
||||||
WEBVIEW_ENCRYPTION_KEY: z.string(),
|
WEBVIEW_ENCRYPTION_KEY: z.string(),
|
||||||
BOOKING_ENCRYPTION_KEY: z.string(),
|
BOOKING_ENCRYPTION_KEY: z.string(),
|
||||||
GOOGLE_STATIC_MAP_KEY: z.string(),
|
GOOGLE_STATIC_MAP_KEY: z.string(),
|
||||||
@@ -125,6 +132,7 @@ export const env = createEnv({
|
|||||||
SEAMLESS_LOGOUT_FI: process.env.SEAMLESS_LOGOUT_FI,
|
SEAMLESS_LOGOUT_FI: process.env.SEAMLESS_LOGOUT_FI,
|
||||||
SEAMLESS_LOGOUT_NO: process.env.SEAMLESS_LOGOUT_NO,
|
SEAMLESS_LOGOUT_NO: process.env.SEAMLESS_LOGOUT_NO,
|
||||||
SEAMLESS_LOGOUT_SV: process.env.SEAMLESS_LOGOUT_SV,
|
SEAMLESS_LOGOUT_SV: process.env.SEAMLESS_LOGOUT_SV,
|
||||||
|
SHOW_SIGNUP_FLOW: process.env.SHOW_SIGNUP_FLOW,
|
||||||
WEBVIEW_ENCRYPTION_KEY: process.env.WEBVIEW_ENCRYPTION_KEY,
|
WEBVIEW_ENCRYPTION_KEY: process.env.WEBVIEW_ENCRYPTION_KEY,
|
||||||
BOOKING_ENCRYPTION_KEY: process.env.BOOKING_ENCRYPTION_KEY,
|
BOOKING_ENCRYPTION_KEY: process.env.BOOKING_ENCRYPTION_KEY,
|
||||||
GOOGLE_STATIC_MAP_KEY: process.env.GOOGLE_STATIC_MAP_KEY,
|
GOOGLE_STATIC_MAP_KEY: process.env.GOOGLE_STATIC_MAP_KEY,
|
||||||
|
|||||||
Reference in New Issue
Block a user