29 lines
708 B
TypeScript
29 lines
708 B
TypeScript
import { headers } from "next/headers"
|
|
|
|
import { PageContentTypeEnum } from "@scandic-hotels/trpc/enums/contentType"
|
|
|
|
import { env } from "@/env/server"
|
|
|
|
import { DEFAULT_THEME } from "./types"
|
|
import { getHotelTheme } from "./utils"
|
|
|
|
import type { Lang } from "@scandic-hotels/common/constants/language"
|
|
|
|
export async function getThemeClass(lang: Lang): Promise<string> {
|
|
if (!env.HOTEL_BRANDING) {
|
|
return DEFAULT_THEME
|
|
}
|
|
|
|
const headersList = await headers()
|
|
const contentType = headersList.get("x-contenttype") || ""
|
|
|
|
const isHotelPage =
|
|
contentType && contentType === PageContentTypeEnum.hotelPage
|
|
|
|
if (isHotelPage) {
|
|
return await getHotelTheme(lang)
|
|
}
|
|
|
|
return DEFAULT_THEME
|
|
}
|