SW-3490 set metadata for routes * feat(SW-3490): Set metadata title for hotelreservation paths Approved-by: Anton Gunnarsson
63 lines
1.3 KiB
TypeScript
63 lines
1.3 KiB
TypeScript
import { AlternativeHotelsMapPage as AlternativeHotelsMapPagePrimitive } from "@scandic-hotels/booking-flow/pages/AlternativeHotelsMapPage"
|
|
|
|
import { getHotel } from "@/lib/trpc/memoizedRequests/getHotel"
|
|
|
|
import { getIntl } from "@/i18n"
|
|
import { getLang } from "@/i18n/serverContext"
|
|
|
|
import type { Metadata } from "next"
|
|
|
|
import type { LangParams, PageArgs } from "@/types/params"
|
|
|
|
export async function generateMetadata({
|
|
searchParams,
|
|
params,
|
|
}: PageArgs<LangParams>): Promise<Metadata> {
|
|
const intl = await getIntl()
|
|
|
|
const { hotel } = await searchParams
|
|
const { lang } = await params
|
|
|
|
if (!hotel || Array.isArray(hotel)) {
|
|
return {}
|
|
}
|
|
|
|
const hotelData = await getHotel({
|
|
hotelId: hotel,
|
|
language: lang,
|
|
isCardOnlyPayment: false,
|
|
})
|
|
const hotelName = hotelData?.additionalData?.name
|
|
|
|
if (!hotelName) {
|
|
return {}
|
|
}
|
|
|
|
const title = intl.formatMessage(
|
|
{
|
|
defaultMessage: "Alternatives for {value}",
|
|
},
|
|
{
|
|
value: hotelName,
|
|
}
|
|
)
|
|
|
|
return { title }
|
|
}
|
|
|
|
export default async function AlternativeHotelsMapPage(
|
|
props: PageArgs<LangParams>
|
|
) {
|
|
const searchParams = await props.searchParams
|
|
const lang = await getLang()
|
|
|
|
return (
|
|
<div>
|
|
<AlternativeHotelsMapPagePrimitive
|
|
lang={lang}
|
|
searchParams={searchParams}
|
|
/>
|
|
</div>
|
|
)
|
|
}
|