diff --git a/src/components/ui/ItemGrid.astro b/src/components/ui/ItemGrid.astro index 7f023b2..8a6f6a6 100644 --- a/src/components/ui/ItemGrid.astro +++ b/src/components/ui/ItemGrid.astro @@ -1,23 +1,18 @@ --- -import { Icon } from "astro-icon/components"; -import { twMerge } from "tailwind-merge"; -import type { ItemGrid } from "~/types"; -import CTA from "./CTA.astro"; +import { twMerge } from 'tailwind-merge'; +import type { ItemGrid } from '~/types'; +import CTA from './CTA.astro'; +import { Icon } from 'astro-icon/components'; + +const { items = [], columns, defaultIcon = '', classes = {} } = Astro.props as ItemGrid; const { - items = [], - columns, - defaultIcon = "", - classes = {}, -} = Astro.props as ItemGrid; - -const { - container: containerClass = "", - // container: containerClass = "md:grid-cols-2", - panel: panelClass = "", - title: titleClass = "", - description: descriptionClass = "", - icon: defaultIconClass = "text-primary", + container: containerClass = '', + panel: panelClass = '', + title: titleClass = '', + description: descriptionClass = '', + icon: defaultIconClass = 'text-primary', + action: actionClass = '', } = classes; --- @@ -27,74 +22,50 @@ const { class={twMerge( `grid mx-auto gap-8 md:gap-y-12 ${ columns === 4 - ? "lg:grid-cols-4 md:grid-cols-3 sm:grid-cols-2" + ? 'lg:grid-cols-4 md:grid-cols-3 sm:grid-cols-2' : columns === 3 - ? "lg:grid-cols-3 sm:grid-cols-2" + ? 'lg:grid-cols-3 sm:grid-cols-2' : columns === 2 - ? "sm:grid-cols-2 " - : "" + ? 'sm:grid-cols-2 ' + : '' }`, containerClass )} > - {items.map( - ({ - title, - description, - icon, - callToAction, - classes: itemClasses = {}, - }) => ( -
-
( +
+
+
+ {(icon || defaultIcon) && ( + )} - > -
- {(icon || defaultIcon) && ( - - )} -
-
-

+
+ {title &&

{title}

} + {description && ( +

+ )} + {callToAction && ( +

- {title} -

- {description && ( -

- )} - {callToAction && ( -

- -
- )} -
+ +
+ )}
- ) - )} +
+ ))}
) } diff --git a/src/components/widgets/Content.astro b/src/components/widgets/Content.astro index f802282..12e54a7 100644 --- a/src/components/widgets/Content.astro +++ b/src/components/widgets/Content.astro @@ -1,10 +1,10 @@ --- -import { Icon } from 'astro-icon/components'; import type { Content } from '~/types'; import Headline from '../ui/Headline.astro'; import WidgetWrapper from '../ui/WidgetWrapper.astro'; import Image from '~/components/common/Image.astro'; import CTA from '../ui/CTA.astro'; +import ItemGrid from '../ui/ItemGrid.astro'; const { title = await Astro.slots.render('title'), @@ -13,6 +13,7 @@ const { content = await Astro.slots.render('content'), callToAction, items = [], + columns, image = await Astro.slots.render('image'), isReversed = false, isAfterContent = false, @@ -53,25 +54,19 @@ const { ) } - { - items && ( -
- {items.map(({ title: title2, description, icon }) => ( -
-
-
- -
-
-
- {title2 &&

{title2}

} - {description &&

} -

-
- ))} -
- ) - } +