Files
web/apps/scandic-web/components/DigitalTeamMemberCard/EmployeeBenefits/AuthCard/index.tsx
Anton Gunnarsson cbf9e7b7c2 Merged in chore/next15 (pull request #1999)
chore (SW-834): Upgrade to Next 15

* wip: apply codemod and upgrade swc plugin

* wip: design-system to react 19, fix issues from async (search)params

* wip: fix remaining issues from codemod

serverClient is now async because context use headers()
getLang is now async because it uses headers()

* Minor cleanup

* Inline react-material-symbols package

Package is seemingly not maintained any more and doesn't support
React 19. This copies the package source into `design-system`,
makes the necessary changes for 19 and export it for others to use.

* Fix missing awaits

* Disable modal exit animations

Enabling modal exit animations via isExiting prop is causing
modals to be rendered in "hidden" state and never unmount.
Seems to be an issue with react-aria-components,
see https://github.com/adobe/react-spectrum/issues/7563.
Can probably be fixed by rewriting to a solution similar to
https://react-spectrum.adobe.com/react-aria/examples/framer-modal-sheet.html

* Remove unstable cache implementation and use in memory cache locally

* Fix ref type in SelectFilter

* Use cloneElement to add key prop to element


Approved-by: Linus Flood
2025-06-02 11:11:50 +00:00

45 lines
1.1 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import { login } from "@/constants/routes/handleAuth"
import { signup } from "@/constants/routes/signup"
import Card from "@/components/TempDesignSystem/Card"
import { getIntl } from "@/i18n"
import { getLang } from "@/i18n/serverContext"
import { isLoggedInUser } from "@/utils/isLoggedInUser"
import styles from "./authCard.module.css"
export default async function EmployeeBenefitsAuthCard() {
const intl = await getIntl()
const lang = await getLang()
const isLoggedIn = await isLoggedInUser()
if (isLoggedIn) {
return null
}
return (
<Card
className={styles.card}
scriptedTopTitle={intl.formatMessage({
defaultMessage: "Lets be friends!",
})}
heading={intl.formatMessage({
defaultMessage: "Join our loyalty program today!",
})}
primaryButton={{
href: login[lang],
title: intl.formatMessage({ defaultMessage: "Log in" }),
openInNewTab: false,
}}
secondaryButton={{
href: signup[lang],
title: intl.formatMessage({ defaultMessage: "Sign up" }),
openInNewTab: false,
}}
theme="primaryInverted"
/>
)
}