Merged in feat/skeletons-and-cache (pull request #1273)

feat: skeleton key bullet proof. 10 min cache on city search response

* feat: skeleton key bullet proof. 10 min cache on city search response

* Refactor server.ts


Approved-by: Michael Zetterberg
This commit is contained in:
Linus Flood
2025-02-07 07:02:53 +00:00
parent 1d822dad5a
commit c0f5c0278b
5 changed files with 24 additions and 26 deletions

View File

@@ -16,16 +16,11 @@ export default async function SelectHotelMapPage({
}: PageArgs<LangParams, SelectHotelSearchParams>) {
setLang(params.lang)
const roomKey = Object.keys(searchParams)
.filter((key) => key.startsWith("room["))
.map((key) => searchParams[key])
.join("-")
return (
<div className={styles.main}>
<MapContainer>
<Suspense
key={`${searchParams.city}-${searchParams.fromDate}-${searchParams.toDate}-${roomKey}`}
key={JSON.stringify(searchParams)}
fallback={<SelectHotelMapContainerSkeleton />}
>
<SelectHotelMapContainer searchParams={searchParams} />

View File

@@ -13,14 +13,9 @@ export default async function SelectHotelPage({
}: PageArgs<LangParams, SelectHotelSearchParams>) {
setLang(params.lang)
const roomKey = Object.keys(searchParams)
.filter((key) => key.startsWith("room["))
.map((key) => searchParams[key])
.join("-")
return (
<Suspense
key={`${searchParams.city}-${searchParams.fromDate}-${searchParams.toDate}-${roomKey}`}
key={JSON.stringify(searchParams)}
fallback={<SelectHotelSkeleton />}
>
<SelectHotel params={params} searchParams={searchParams} />

View File

@@ -79,11 +79,6 @@ export default async function SelectRatePage({
const hotelId = +hotel.id
const roomKey = Object.keys(searchParams)
.filter((key) => key.startsWith("room["))
.map((key) => searchParams[key])
.join("-")
return (
<>
<HotelInfoCard
@@ -96,7 +91,7 @@ export default async function SelectRatePage({
/>
<Suspense
key={`${searchParams.city}-${searchParams.fromDate}-${searchParams.toDate}-${roomKey}-${hotelId}`}
key={JSON.stringify(searchParams)}
fallback={<RoomsContainerSkeleton />}
>
<RoomsContainer