Feat/SW-1737 design mystay multiroom * feat(SW-1737) Fixed member view of guest details * feat(SW-1737) fix merge issues * feat(SW-1737) Fixed price details * feat(SW-1737) removed unused imports * feat(SW-1737) removed true as statement * feat(SW-1737) updated store handling * feat(SW-1737) fixed bug showing double numbers * feat(SW-1737) small design fixed * feat(SW-1737) fixed rebase errors * feat(SW-1737) fixed create booking error with dates * feat(SW-1737) fixed view multiroom as singleroom * feat(SW-1737) fixes for multiroom * feat(SW-1737) fixed bookingsummary * feat(SW-1737) dont hide modify dates * feat(SW-1737) updated breakfast to handle number * feat(SW-1737) Added red color if member rate * feat(SW-1737) fix PR comments * feat(SW-1737) updated member tiers svg * feat(SW-1737) updated how to handle paymentMethodDescription * feat(SW-1737) fixes after testing mystay * feat(SW-1737) updated Room type to just use whats used * feat(SW-1737) fixed access * feat(SW-1737) refactor my stay after PR comments * feat(SW-1737) fix roomNumber translation * feat(SW-1737) removed log Approved-by: Arvid Norlin
80 lines
2.0 KiB
TypeScript
80 lines
2.0 KiB
TypeScript
import { Typography } from "@scandic-hotels/design-system/Typography"
|
|
|
|
import Image from "@/components/Image"
|
|
import Link from "@/components/TempDesignSystem/Link"
|
|
|
|
import styles from "./summaryCard.module.css"
|
|
|
|
interface SummaryCardProps {
|
|
title: React.ReactNode
|
|
image: {
|
|
src: string
|
|
alt: string
|
|
}
|
|
texts: string[]
|
|
supportingText?: string
|
|
links?: {
|
|
href: string
|
|
text: string
|
|
icon: React.ReactNode
|
|
onClick?: () => void
|
|
}[]
|
|
chip?: React.ReactNode
|
|
}
|
|
|
|
export default function SummaryCard({
|
|
title,
|
|
texts,
|
|
image,
|
|
supportingText,
|
|
links,
|
|
chip,
|
|
}: SummaryCardProps) {
|
|
return (
|
|
<div className={styles.card}>
|
|
<div className={styles.image}>
|
|
<Image src={image.src} alt={image.alt} width={152} height={152} />
|
|
</div>
|
|
<div className={styles.content}>
|
|
<div>
|
|
{title}
|
|
{texts.map((text) => (
|
|
<Typography variant="Body/Paragraph/mdRegular" key={text}>
|
|
<p>{text}</p>
|
|
</Typography>
|
|
))}
|
|
</div>
|
|
{supportingText && (
|
|
<Typography variant="Body/Supporting text (caption)/smRegular">
|
|
<p className={styles.supportingText}>{supportingText}</p>
|
|
</Typography>
|
|
)}
|
|
<div className={styles.bottomContent}>
|
|
{chip}
|
|
{links && (
|
|
<div className={styles.links}>
|
|
{links.map((link) => (
|
|
<Typography
|
|
variant="Body/Supporting text (caption)/smBold"
|
|
key={link.href}
|
|
>
|
|
<Link
|
|
href={link.href}
|
|
target="_blank"
|
|
color="burgundy"
|
|
className={styles.link}
|
|
onClick={link.onClick}
|
|
>
|
|
{link.icon}
|
|
{link.text}
|
|
</Link>
|
|
</Typography>
|
|
))}
|
|
</div>
|
|
)}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
)
|
|
}
|