diff --git a/.env.local.example b/.env.local.example index 45b3c3b37..36561372b 100644 --- a/.env.local.example +++ b/.env.local.example @@ -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" diff --git a/.env.test b/.env.test index 4a68e99bb..9f7f67b28 100644 --- a/.env.test +++ b/.env.test @@ -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" diff --git a/app/[lang]/(live)/(public)/hotelreservation/(standard)/layout.tsx b/app/[lang]/(live)/(public)/hotelreservation/(standard)/layout.tsx index 774b91926..a8aeefed1 100644 --- a/app/[lang]/(live)/(public)/hotelreservation/(standard)/layout.tsx +++ b/app/[lang]/(live)/(public)/hotelreservation/(standard)/layout.tsx @@ -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() } diff --git a/app/[lang]/(live)/(public)/hotelreservation/(standard)/page.tsx b/app/[lang]/(live)/(public)/hotelreservation/(standard)/page.tsx index 44dceff92..ca39e25b8 100644 --- a/app/[lang]/(live)/(public)/hotelreservation/(standard)/page.tsx +++ b/app/[lang]/(live)/(public)/hotelreservation/(standard)/page.tsx @@ -9,7 +9,7 @@ import type { LangParams, PageArgs } from "@/types/params" export default function HotelReservationPage({ params }: PageArgs) { setLang(params.lang) - if (!env.SHOW_BOOKINGWIDGET_HOTELRESERVATION_PATH) { + if (!env.ENABLE_BOOKING_FLOW) { return null } diff --git a/app/[lang]/(live)/@bookingwidget/hotelreservation/[...paths]/page.tsx b/app/[lang]/(live)/@bookingwidget/hotelreservation/[...paths]/page.tsx index 9b483b601..1eea8e957 100644 --- a/app/[lang]/(live)/@bookingwidget/hotelreservation/[...paths]/page.tsx +++ b/app/[lang]/(live)/@bookingwidget/hotelreservation/[...paths]/page.tsx @@ -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 -} +// return <>BOOKING WIDGET!!!!! + +// return +// } // TODO: This should just: -// export { default } from "../page" +export { default } from "../../page" // when current web is no more diff --git a/app/[lang]/(live)/@bookingwidget/page.tsx b/app/[lang]/(live)/@bookingwidget/page.tsx index 6c944ae69..a2c4b15ca 100644 --- a/app/[lang]/(live)/@bookingwidget/page.tsx +++ b/app/[lang]/(live)/@bookingwidget/page.tsx @@ -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 } diff --git a/components/HotelReservation/SelectRate/RoomSelection/utils.ts b/components/HotelReservation/SelectRate/RoomSelection/utils.ts index 43af470e3..2cb36f189 100644 --- a/components/HotelReservation/SelectRate/RoomSelection/utils.ts +++ b/components/HotelReservation/SelectRate/RoomSelection/utils.ts @@ -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, diff --git a/env/server.ts b/env/server.ts index dbe24a894..cbfcf5155 100644 --- a/env/server.ts +++ b/env/server.ts @@ -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, }, }) diff --git a/server/tokenManager.ts b/server/tokenManager.ts index 980ca071d..d16faea74 100644 --- a/server/tokenManager.ts +++ b/server/tokenManager.ts @@ -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) => {