import { InfoCard } from "@scandic-hotels/design-system/InfoCard" import { TeaserCard } from "@scandic-hotels/design-system/TeaserCard" import { CardsGridEnum, CardsGridLayoutEnum, } from "@scandic-hotels/trpc/types/cardsGridEnum" import InfoCardWithImage from "@/components/ContentType/StartPage/InfoCardWithImage" import { Section } from "@/components/Section" import { SectionHeader } from "@/components/Section/Header" import Grids from "@/components/TempDesignSystem/Grids" import LoyaltyCard from "@/components/TempDesignSystem/LoyaltyCard" import type { CardsGrid as CardsGridBlock } from "@scandic-hotels/trpc/types/blocks" import type { VariantProps } from "class-variance-authority" import type { headingVariants } from "@/components/Section/Header/headingVariants" import type { StackableGridProps } from "../TempDesignSystem/Grids/Stackable/stackable" interface CardsGridProps extends Pick { headingLevel?: "h1" | "h2" headingTypography?: VariantProps["typography"] } export default function CardsGrid({ cards_grid, headingLevel = "h2", headingTypography = "Title/sm", }: CardsGridProps) { let columns: StackableGridProps["columns"] switch (cards_grid.layout) { case CardsGridLayoutEnum.ONE_COLUMN: columns = 1 break case CardsGridLayoutEnum.TWO_COLUMNS: columns = 2 break case CardsGridLayoutEnum.THREE_COLUMNS: columns = 3 break default: columns = 3 } return (
{cards_grid.cards.map((card, index) => { switch (card.__typename) { case CardsGridEnum.cards.InfoCard: return ( ) case CardsGridEnum.cards.InfoCardWithImage: return ( ) case CardsGridEnum.cards.TeaserCard: return ( ) case CardsGridEnum.cards.LoyaltyCard: return ( ) } })}
) }