Files
web/apps/scandic-web/components/Blocks/UspGrid/index.tsx
Joakim Jäderberg 1bd6ce81b8 Merged in feature/SW-3245-move-jsontohtml (pull request #2661)
Feature/SW-3245 move jsontohtml

* wip

* Move JsonToHtml -> design-system

* Fix semantic issues within Stories

* replace imports of 'storybook/react-vite' with 'storybook/nextjs-vite'

* merge


Approved-by: Anton Gunnarsson
2025-08-18 07:46:21 +00:00

35 lines
1022 B
TypeScript

import { IconByIconName } from "@scandic-hotels/design-system/Icons/IconByIconName"
import { JsonToHtml } from "@scandic-hotels/design-system/JsonToHtml"
import { getUspIconName } from "./utils"
import styles from "./uspgrid.module.css"
import type { UspGridProps, UspIcon } from "@/types/components/blocks/uspGrid"
function UspIcon({ icon }: { icon: UspIcon }) {
const iconName = getUspIconName(icon)
return iconName ? (
<IconByIconName iconName={iconName} color="Icon/Interactive/Accent" />
) : null
}
export default function UspGrid({ usp_grid }: UspGridProps) {
return (
<div className={styles.grid}>
{usp_grid.usp_card.map(
(usp) =>
usp.text.json && (
<div key={usp.text.json.uid} className={styles.usp}>
<UspIcon icon={usp.icon} />
<JsonToHtml
embeds={usp.text.embedded_itemsConnection?.edges}
nodes={usp.text.json.children}
/>
</div>
)
)}
</div>
)
}