Merged in feature/SW-3505-fetch-eurobonus-points (pull request #2847)
feat(SW-3505): add endpoint for getting eurobonus profile * feat(SW-3505): add endpoint for getting eurobonus profile * make sure we add loginType to session * no need to run zod parsing twice * Make SAS environment variables mandatory Approved-by: Anton Gunnarsson
This commit is contained in:
@@ -79,6 +79,7 @@ const config: NextAuthConfig = {
|
||||
}
|
||||
: undefined,
|
||||
token: {
|
||||
loginType: "sas",
|
||||
access_token: token.access_token,
|
||||
expires_at: token.expires_at,
|
||||
error: token.error,
|
||||
|
||||
@@ -6,6 +6,7 @@ import Image from "@scandic-hotels/design-system/Image"
|
||||
import Link from "@scandic-hotels/design-system/Link"
|
||||
import SkeletonShimmer from "@scandic-hotels/design-system/SkeletonShimmer"
|
||||
import { Typography } from "@scandic-hotels/design-system/Typography"
|
||||
import { trpc } from "@scandic-hotels/trpc/client"
|
||||
|
||||
import useLang from "@/hooks/useLang"
|
||||
|
||||
@@ -17,6 +18,14 @@ export function Header() {
|
||||
const lang = useLang()
|
||||
const session = useSession()
|
||||
|
||||
const {
|
||||
data: profileData,
|
||||
isLoading,
|
||||
isSuccess,
|
||||
} = trpc.partner.sas.getEuroBonusProfile.useQuery(undefined, {
|
||||
enabled: session.status === "authenticated",
|
||||
})
|
||||
|
||||
return (
|
||||
<>
|
||||
<header className={styles.header}>
|
||||
@@ -45,6 +54,15 @@ export function Header() {
|
||||
{session.data?.user && <>{session.data.user.email}</>}
|
||||
</span>
|
||||
</Typography>
|
||||
{isLoading && <SkeletonShimmer width={"6ch"} height={"1ch"} />}
|
||||
{isSuccess && profileData && (
|
||||
<Typography variant="Body/Supporting text (caption)/smBold">
|
||||
<span>
|
||||
{/* eslint-disable-next-line formatjs/no-literal-string-in-jsx */}
|
||||
{profileData.points.total} Points
|
||||
</span>
|
||||
</Typography>
|
||||
)}
|
||||
<Link color={"white"} href={`/${lang}/logout`} prefetch={false}>
|
||||
{/* eslint-disable-next-line formatjs/no-literal-string-in-jsx */}
|
||||
{"Logout"}
|
||||
|
||||
@@ -6,6 +6,8 @@ import {
|
||||
configureServerClient,
|
||||
} from "@scandic-hotels/trpc/serverClient"
|
||||
|
||||
import { auth } from "@/auth"
|
||||
|
||||
import type { Lang } from "@scandic-hotels/common/constants/language"
|
||||
|
||||
export async function createAppContext() {
|
||||
@@ -18,7 +20,8 @@ export async function createAppContext() {
|
||||
url: headersList.get("x-url")!,
|
||||
contentType: headersList.get("x-contenttype")!,
|
||||
auth: async () => {
|
||||
return null
|
||||
const session = await auth()
|
||||
return session
|
||||
},
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user