Merged in SW-3459-setup-booking-confirmation-page-in-sas (pull request #2794)

Setup booking-confirmation page in SAS

* Setup booking-confirmation page in SAS
move booking-confirmation tracking to booking-flow

* remove unused param

* Add test cards to documentation

* Fix payment callback page to use correct status


Approved-by: Anton Gunnarsson
Approved-by: Hrishikesh Vaipurkar
This commit is contained in:
Joakim Jäderberg
2025-09-11 12:19:26 +00:00
parent 6b01dd9a8f
commit 4893eb8b25
15 changed files with 355 additions and 32 deletions

View File

@@ -0,0 +1,4 @@
.layout {
background-color: var(--Background-Primary);
min-height: 100dvh;
}

View File

@@ -0,0 +1,10 @@
import styles from "./layout.module.css"
// TODO is this really needed? Similar to standard layout, but without SidePeek?
export default function PaymentCallbackLayout({
children,
}: {
children: React.ReactNode
}) {
return <div className={styles.layout}>{children}</div>
}

View File

@@ -0,0 +1,31 @@
import { PaymentCallbackPage as PaymentCallbackPagePrimitive } from "@scandic-hotels/booking-flow/pages/PaymentCallbackPage"
import { logger } from "@scandic-hotels/common/logger"
import type { PaymentCallbackStatusEnum } from "@scandic-hotels/common/constants/paymentCallbackStatusEnum"
import type { LangParams, PageArgs } from "@/types/params"
export default async function PaymentCallbackPage(
props: PageArgs<LangParams & { status: string }>
) {
const searchParams = await props.searchParams
const params = await props.params
logger.debug(`[payment-callback] callback started`)
const lang = params.lang
let userAccessToken = null
// TODO fix when auth is implemented
// const session = await auth()
// if (isValidSession(session)) {
// userAccessToken = session.token.access_token
// }
return (
<PaymentCallbackPagePrimitive
lang={lang}
userAccessToken={userAccessToken}
searchParams={searchParams}
status={params.status as PaymentCallbackStatusEnum}
/>
)
}