Files
web/apps/scandic-web/components/DigitalTeamMemberCard/EmployeeBenefits/CallToActions/index.tsx
Chuma Mcphoy (We Ahead) 2101b79db1 Merged in feat/LOY-230-Microsoft-Entra-ID-Auth (pull request #2113)
Feat(LOY-230): DTMC Routes with Entra ID Auth & Error Page Handling

* feat(LOY-230): Link Scandic Friends and Azure accounts

* fix(LOY-230): remove employee id param setting

* fix(LOY-230): return token in jwt callback for auth.dtmc.ts


Approved-by: Michael Zetterberg
Approved-by: Christian Andolf
2025-06-18 10:22:04 +00:00

79 lines
2.2 KiB
TypeScript

import React from "react"
import { Typography } from "@scandic-hotels/design-system/Typography"
import { dtmcLogin } from "@/constants/routes/dtmc"
import { login } from "@/constants/routes/handleAuth"
import { signup } from "@/constants/routes/signup"
import { auth } from "@/auth"
import ButtonLink from "@/components/ButtonLink"
import { getIntl } from "@/i18n"
import { getLang } from "@/i18n/serverContext"
import { isValidSession } from "@/utils/session"
import styles from "./callToActions.module.css"
export default async function EmployeeBenefitsCallToActions() {
const session = await auth()
const intl = await getIntl()
const lang = await getLang()
const loginAndLinkURL = `${login[lang]}?redirectTo=${encodeURIComponent(dtmcLogin[lang])}`
if (!isValidSession(session)) {
return (
<>
<div className={styles.container}>
<Typography variant="Body/Paragraph/mdBold">
<p>
{intl.formatMessage({
defaultMessage: "Already a Scandic Friends member?",
})}
</p>
</Typography>
<ButtonLink href={loginAndLinkURL} size="Medium" variant="Tertiary">
{intl.formatMessage({
defaultMessage: "Log in and link employment",
})}
</ButtonLink>
</div>
<div className={styles.container}>
<Typography variant="Body/Paragraph/mdBold">
<p>
{intl.formatMessage({
defaultMessage: "Don't have a Scandic Friends account yet?",
})}
</p>
</Typography>
<ButtonLink href={signup[lang]} size="Medium" variant="Secondary">
{intl.formatMessage({
defaultMessage: "Sign up and link employment",
})}
</ButtonLink>
</div>
</>
)
}
// -- TODO [LOY-196] --
// Handle case of authed user and already connected work account.
// Show member card modal.
return (
<div className={styles.container}>
<ButtonLink
href={dtmcLogin[lang]}
size="Medium"
variant="Tertiary"
color="Primary"
>
{intl.formatMessage({
defaultMessage: "Link Employment",
})}
</ButtonLink>
</div>
)
}