Feat/SW-613 refactor hotelreservation sidepeek * feat(SW-613): move sidepeek paralell route to apply for all of hotelreservation * feat(SW-613): refactor sidepeek logic to a unified approach for hotelreservation flow * feat(SW-613): fix issue where room was not selected properly in sidepeek * fix(SW-613): move back preload to layout * fix(SW-613): move preload to dedicated file * fix(SW-613): refactor sidepeek to work with hotel page * feat(SW-613): added sidepeek button for room card Approved-by: Simon.Emanuelsson
48 lines
1.2 KiB
TypeScript
48 lines
1.2 KiB
TypeScript
import {
|
|
getCreditCardsSafely,
|
|
getProfileSafely,
|
|
} from "@/lib/trpc/memoizedRequests"
|
|
|
|
import EnterDetailsProvider from "@/components/HotelReservation/EnterDetails/Provider"
|
|
import { setLang } from "@/i18n/serverContext"
|
|
|
|
import { preload } from "./_preload"
|
|
|
|
import styles from "./layout.module.css"
|
|
|
|
import { StepEnum } from "@/types/components/hotelReservation/enterDetails/step"
|
|
import type { LangParams, LayoutArgs } from "@/types/params"
|
|
|
|
export default async function StepLayout({
|
|
summary,
|
|
children,
|
|
hotelHeader,
|
|
params,
|
|
}: React.PropsWithChildren<
|
|
LayoutArgs<LangParams & { step: StepEnum }> & {
|
|
hotelHeader: React.ReactNode
|
|
summary: React.ReactNode
|
|
}
|
|
>) {
|
|
setLang(params.lang)
|
|
preload()
|
|
|
|
const user = await getProfileSafely()
|
|
|
|
return (
|
|
<EnterDetailsProvider step={params.step} isMember={!!user}>
|
|
<main className={styles.layout}>
|
|
{hotelHeader}
|
|
<div className={styles.content}>
|
|
{children}
|
|
<aside className={styles.summaryContainer}>
|
|
<div className={styles.hider} />
|
|
<div className={styles.summary}>{summary}</div>
|
|
<div className={styles.shadow} />
|
|
</aside>
|
|
</div>
|
|
</main>
|
|
</EnterDetailsProvider>
|
|
)
|
|
}
|