This commit is contained in:
Linus Flood
2024-11-22 13:25:57 +01:00
parent 299da82ba3
commit de22d873a1
9 changed files with 51 additions and 26 deletions

View File

@@ -52,7 +52,11 @@ GOOGLE_STATIC_MAP_ID=""
GOOGLE_DYNAMIC_MAP_ID=""
HIDE_FOR_NEXT_RELEASE="false"
SHOW_BOOKINGWIDGET_HOTELRESERVATION_PATH="false"
ENABLE_BOOKING_FLOW="false"
ENABLE_BOOKING_WIDGET="false"
ENABLE_BOOKING_WIDGET_HOTELRESERVATION_PATH="false"
SHOW_SITE_WIDE_ALERT="false"
SHOW_SIGNUP_FLOW="true"
USE_NEW_REWARDS_ENDPOINT="true"

View File

@@ -44,5 +44,7 @@ GOOGLE_DYNAMIC_MAP_ID="test"
HIDE_FOR_NEXT_RELEASE="true"
SALESFORCE_PREFERENCE_BASE_URL="test"
USE_NEW_REWARDS_ENDPOINT="true"
SHOW_BOOKINGWIDGET_HOTELRESERVATION_PATH="false"
ENABLE_BOOKING_FLOW="false"
ENABLE_BOOKING_WIDGET="false"
ENABLE_BOOKING_WIDGET_HOTELRESERVATION_PATH="false"
SHOW_SITE_WIDE_ALERT="false"

View File

@@ -13,8 +13,8 @@ export default function HotelReservationLayout({
sidePeek: React.ReactNode
}) {
if (
env.HIDE_FOR_NEXT_RELEASE &&
!env.SHOW_BOOKINGWIDGET_HOTELRESERVATION_PATH
!env.ENABLE_BOOKING_FLOW &&
!env.ENABLE_BOOKING_WIDGET_HOTELRESERVATION_PATH
) {
return notFound()
}

View File

@@ -9,7 +9,7 @@ import type { LangParams, PageArgs } from "@/types/params"
export default function HotelReservationPage({ params }: PageArgs<LangParams>) {
setLang(params.lang)
if (!env.SHOW_BOOKINGWIDGET_HOTELRESERVATION_PATH) {
if (!env.ENABLE_BOOKING_FLOW) {
return null
}

View File

@@ -1,21 +1,23 @@
import { env } from "@/env/server"
// import { env } from "@/env/server"
import BookingWidget, { preload } from "@/components/BookingWidget"
// import BookingWidget, { preload } from "@/components/BookingWidget"
import { PageArgs } from "@/types/params"
// import { PageArgs } from "@/types/params"
export default async function BookingWidgetHotelReservationPage({
searchParams,
}: PageArgs<{}, URLSearchParams>) {
if (!env.SHOW_BOOKINGWIDGET_HOTELRESERVATION_PATH) {
return null
}
// export default async function BookingWidgetHotelReservationPage({
// searchParams,
// }: PageArgs<{}, URLSearchParams>) {
// if (!env.ENABLE_BOOKING_WIDGET_HOTELRESERVATION_PATH) {
// return null
// }
preload()
// preload()
return <BookingWidget searchParams={searchParams} />
}
// return <>BOOKING WIDGET!!!!!</>
// return <BookingWidget searchParams={searchParams} />
// }
// TODO: This should just:
// export { default } from "../page"
export { default } from "../../page"
// when current web is no more

View File

@@ -8,7 +8,7 @@ import { PageArgs } from "@/types/params"
export default async function BookingWidgetPage({
searchParams,
}: PageArgs<{}, URLSearchParams>) {
if (env.HIDE_FOR_NEXT_RELEASE) {
if (!env.ENABLE_BOOKING_WIDGET_HOTELRESERVATION_PATH) {
return null
}

View File

@@ -44,7 +44,7 @@ export function getQueryParamsForEnterDetails(
fromDate: selectRoomParamsObject.fromDate,
toDate: selectRoomParamsObject.toDate,
hotel: selectRoomParamsObject.hotel,
rooms: room.map((room) => ({
rooms: room?.map((room) => ({
adults: room.adults, // TODO: Handle multiple rooms
children: room.child, // TODO: Handle multiple rooms and children
roomTypeCode: room.roomtype,

22
env/server.ts vendored
View File

@@ -79,7 +79,21 @@ export const env = createEnv({
.refine((s) => s === "true" || s === "false")
// transform to boolean
.transform((s) => s === "true"),
SHOW_BOOKINGWIDGET_HOTELRESERVATION_PATH: z
ENABLE_BOOKING_FLOW: z
.string()
// only allow "true" or "false"
.refine((s) => s === "true" || s === "false")
// transform to boolean
.transform((s) => s === "true")
.default("false"),
ENABLE_BOOKING_WIDGET: z
.string()
// only allow "true" or "false"
.refine((s) => s === "true" || s === "false")
// transform to boolean
.transform((s) => s === "true")
.default("false"),
ENABLE_BOOKING_WIDGET_HOTELRESERVATION_PATH: z
.string()
// only allow "true" or "false"
.refine((s) => s === "true" || s === "false")
@@ -156,8 +170,10 @@ export const env = createEnv({
GOOGLE_DYNAMIC_MAP_ID: process.env.GOOGLE_DYNAMIC_MAP_ID,
HIDE_FOR_NEXT_RELEASE: process.env.HIDE_FOR_NEXT_RELEASE,
USE_NEW_REWARDS_ENDPOINT: process.env.USE_NEW_REWARDS_ENDPOINT,
SHOW_BOOKINGWIDGET_HOTELRESERVATION_PATH:
process.env.SHOW_BOOKINGWIDGET_HOTELRESERVATION_PATH,
ENABLE_BOOKING_FLOW: process.env.ENABLE_BOOKING_FLOW,
ENABLE_BOOKING_WIDGET: process.env.ENABLE_BOOKING_WIDGET,
ENABLE_BOOKING_WIDGET_HOTELRESERVATION_PATH:
process.env.ENABLE_BOOKING_WIDGET_HOTELRESERVATION_PATH,
SHOW_SITE_WIDE_ALERT: process.env.SHOW_SITE_WIDE_ALERT,
},
})

View File

@@ -71,11 +71,12 @@ async function fetchServiceToken(scopes: string[]) {
export async function getServiceToken() {
let scopes: string[] = []
if (env.HIDE_FOR_NEXT_RELEASE) {
scopes = ["profile"]
} else {
if (env.ENABLE_BOOKING_FLOW) {
scopes = ["profile", "hotel", "booking", "package"]
} else {
scopes = ["profile"]
}
const tag = generateServiceTokenTag(scopes)
const getCachedJwt = unstable_cache(
async (scopes) => {