Merged in feat/LOY-311-New-Avatar-Component (pull request #2694)

Feat(LOY-311) Create avatar design system component

* feat(LOY-311): Creat & use New Avatar Design System Component

* refactor(LOY-311): replace avatar used in app header with design system component

* fix(LOY-311): use correct space vars


Approved-by: Erik Tiekstra
This commit is contained in:
Chuma Mcphoy (We Ahead)
2025-08-25 14:41:50 +00:00
parent 87f597ae1a
commit 7561e996c6
19 changed files with 399 additions and 45 deletions

View File

@@ -0,0 +1,11 @@
.container {
display: flex;
align-items: center;
gap: var(--Space-x1);
color: var(--Scandic-Red-100);
}
.copyButton {
min-width: auto;
padding: var(--Space-x05);
}

View File

@@ -0,0 +1,56 @@
"use client"
import { useIntl } from "react-intl"
import { Button } from "@scandic-hotels/design-system/Button"
import { MaterialIcon } from "@scandic-hotels/design-system/Icons/MaterialIcon"
import { Typography } from "@scandic-hotels/design-system/Typography"
import { toast } from "@/components/TempDesignSystem/Toasts"
import styles from "./copyMembershipIdButton.module.css"
interface CopyMembershipIdButtonProps {
membershipNumber: string
}
export default function CopyMembershipIdButton({
membershipNumber,
}: CopyMembershipIdButtonProps) {
const intl = useIntl()
function handleCopy() {
try {
navigator.clipboard.writeText(membershipNumber)
toast.success(
intl.formatMessage({
defaultMessage: "Membership ID copied to clipboard",
})
)
} catch {
toast.error(
intl.formatMessage({
defaultMessage: "Failed to copy",
})
)
}
}
return (
<div className={styles.container}>
<Typography variant="Body/Supporting text (caption)/smBold">
<code data-hj-suppress className={styles.membershipCode}>
{membershipNumber}
</code>
</Typography>
<Button
onClick={handleCopy}
className={styles.copyButton}
variant="Text"
size="Small"
>
<MaterialIcon icon="content_copy" color="CurrentColor" />
</Button>
</div>
)
}