feat: add ability to access localized entries of Hotel pages through language switcher

This commit is contained in:
Chuma McPhoy
2024-06-27 13:05:19 +02:00
parent 3c125ca324
commit 00c04de09a
5 changed files with 56 additions and 2 deletions

View File

@@ -7,7 +7,7 @@ import {
UIDParams,
} from "@/types/params"
export default function ContentTypeLayout({
export default async function ContentTypeLayout({
breadcrumbs,
children,
}: React.PropsWithChildren<

View File

@@ -13,7 +13,7 @@ export default async function HotelPage({ lang }: LangParams) {
}
return (
<section className={styles.content}>
<Title>ID: {hotelPage.hotel_page_id}</Title>
<Title>{hotelPage.title}</Title>
</section>
)
}

View File

@@ -5,3 +5,39 @@ query GetHotelPage($locale: String!, $uid: String!) {
title
}
}
query GetDaDeEnUrlsHotelPage($uid: String!) {
de: all_hotel_page(where: { uid: $uid }, locale: "de") {
items {
url
}
}
en: all_hotel_page(where: { uid: $uid }, locale: "en") {
items {
url
}
}
da: all_hotel_page(where: { uid: $uid }, locale: "da") {
items {
url
}
}
}
query GetFiNoSvUrlsHotelPage($uid: String!) {
fi: all_hotel_page(where: { uid: $uid }, locale: "fi") {
items {
url
}
}
no: all_hotel_page(where: { uid: $uid }, locale: "no") {
items {
url
}
}
sv: all_hotel_page(where: { uid: $uid }, locale: "sv") {
items {
url
}
}
}

View File

@@ -5,6 +5,10 @@ import {
GetDaDeEnUrlsAccountPage,
GetFiNoSvUrlsAccountPage,
} from "@/lib/graphql/Query/AccountPage.graphql"
import {
GetDaDeEnUrlsHotelPage,
GetFiNoSvUrlsHotelPage,
} from "@/lib/graphql/Query/HotelPage.graphql"
import {
GetDaDeEnUrlsCurrentBlocksPage,
GetFiNoSvUrlsCurrentBlocksPage,
@@ -84,6 +88,19 @@ async function getLanguageSwitcher(options: LanguageSwitcherVariables) {
tags: tagsFiNoSv,
},
])
case PageTypeEnum.hotelPage:
return await batchRequest<LanguageSwitcherQueryDataRaw>([
{
document: GetDaDeEnUrlsHotelPage,
variables,
tags: tagsDaDeEn,
},
{
document: GetFiNoSvUrlsHotelPage,
variables,
tags: tagsFiNoSv,
},
])
default:
console.info(`type: [${options.contentType}]`)
console.error(`Trying to get a content type that is not supported`)

View File

@@ -1,5 +1,6 @@
export enum PageTypeEnum {
accountPage = "account-page",
loyaltyPage = "loyalty-page",
hotelPage = "hotel-page",
currentBlocksPage = "current-blocks-page",
}