Files
web/apps/scandic-web/utils/metadata/title/destinationPage.ts
Joakim Jäderberg df8e223d23 Merged in SW-3490-set-metadata-for-routes (pull request #2881)
SW-3490 set metadata for routes
* feat(SW-3490): Set metadata title for hotelreservation paths

Approved-by: Anton Gunnarsson
2025-10-01 11:34:52 +00:00

58 lines
1.2 KiB
TypeScript

import { getIntl } from "@/i18n"
import type { RawMetadataSchema } from "@scandic-hotels/trpc/routers/contentstack/metadata/output"
export async function getDestinationPageTitle(
data: RawMetadataSchema,
pageType: "city" | "country"
) {
const intl = await getIntl()
const { destinationData } = data
if (!destinationData) {
return null
}
const location = destinationData.location
if (!location) {
return null
}
const destinationTitle =
pageType === "country"
? intl.formatMessage(
{
defaultMessage: "Destinations in {location}",
},
{ location }
)
: intl.formatMessage(
{
defaultMessage: "Hotels in {location}",
},
{ location }
)
return destinationTitle
}
export function getDestinationFilterSeoMetaTitle(data: RawMetadataSchema) {
const filter = data.destinationData?.filter
if (!filter) {
return null
}
const foundSeoFilter = data.seo_filters?.find(
(f) => f.filterConnection.edges[0]?.node?.slug === filter
)
if (foundSeoFilter) {
if (foundSeoFilter.seo_metadata?.title) {
return foundSeoFilter.seo_metadata.title
}
return foundSeoFilter.heading
}
return null
}