Files
web/apps/scandic-web/components/Blocks/DynamicContent/Rewards/RewardIcon/index.tsx
Anton Gunnarsson 08804e8675 Merged in chore/cleanup-scandic-web (pull request #2831)
chore: Cleanup scandic-web

* Remove unused files

* Remove unused and add missing packages

* Remove unused exports


Approved-by: Linus Flood
2025-09-18 15:33:00 +00:00

33 lines
831 B
TypeScript

import { mapRewardToIcon } from "./data"
import type { LogoAndIllustrationProps } from "@scandic-hotels/design-system/Icons"
interface RewardIconProps extends LogoAndIllustrationProps {
rewardId: string
iconSize?: "small" | "medium" | "large"
}
// Original SVG aspect ratio is 358:202 (≈1.77:1)
const sizeMap = {
small: { width: 120, height: 68 }, // 40% of card width
medium: { width: 180, height: 102 }, // 60% of card width
large: { width: 240, height: 135 }, // 80% of card width
} as const
export function RewardIcon({
rewardId,
iconSize = "medium",
...props
}: RewardIconProps) {
const IconComponent = mapRewardToIcon(rewardId)
if (!IconComponent) return null
return (
<IconComponent
{...props}
width={sizeMap[iconSize].width}
height={sizeMap[iconSize].height}
/>
)
}