(
+
+
+
+ {(icon || defaultIcon) && (
+
)}
- >
-
- {(icon || defaultIcon) && (
-
- )}
-
-
-
+
+ {title &&
{title}
}
+ {description && (
+
+ )}
+ {callToAction && (
+
- {title}
-
- {description && (
-
- )}
- {callToAction && (
-
-
-
- )}
-
+
+
+ )}
- )
- )}
+
+ ))}
)
}
diff --git a/src/components/widgets/Brands.astro b/src/components/widgets/Brands.astro
new file mode 100644
index 0000000..6f576b4
--- /dev/null
+++ b/src/components/widgets/Brands.astro
@@ -0,0 +1,36 @@
+---
+import { Icon } from 'astro-icon/components';
+import type { Brands } from '~/types';
+import Headline from '~/components/ui/Headline.astro';
+import WidgetWrapper from '~/components/ui/WidgetWrapper.astro';
+const {
+ title = '',
+ subtitle = '',
+ tagline = '',
+ icons = [],
+ images = [],
+ id,
+ isDark = false,
+ classes = {},
+ bg = await Astro.slots.render('bg'),
+} = Astro.props as Brands;
+---
+
+
+
+
+
+ {icons && icons.map((icon) =>
)}
+ {
+ images &&
+ images.map(
+ (image) =>
+ image.src && (
+
+

+
+ )
+ )
+ }
+
+
diff --git a/src/components/widgets/Content.astro b/src/components/widgets/Content.astro
index ce9fb13..12e54a7 100644
--- a/src/components/widgets/Content.astro
+++ b/src/components/widgets/Content.astro
@@ -1,16 +1,19 @@
---
-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'),
subtitle = await Astro.slots.render('subtitle'),
tagline,
content = await Astro.slots.render('content'),
+ callToAction,
items = [],
+ columns,
image = await Astro.slots.render('image'),
isReversed = false,
isAfterContent = false,
@@ -44,24 +47,26 @@ const {
{content &&
}
{
- items && (
-
- {items.map(({ title: title2, description, icon }) => (
-
-
-
- {title2 &&
{title2}
}
- {description &&
}
-
-
- ))}
+ callToAction && (
+
+
)
}
+
+
{
diff --git a/src/components/widgets/Features3.astro b/src/components/widgets/Features3.astro
index f3be947..3eb0d64 100644
--- a/src/components/widgets/Features3.astro
+++ b/src/components/widgets/Features3.astro
@@ -62,7 +62,8 @@ const {
container: 'mt-12',
panel: 'max-w-full sm:max-w-md',
title: 'text-lg font-semibold',
- icon: 'flex-shrink-0 mt-0.5 text-primary w-6 h-6',
+ description: 'mt-0.5',
+ icon: 'flex-shrink-0 mt-1 text-primary w-6 h-6',
...((classes?.items as {}) ?? {}),
}}
/>
diff --git a/src/pages/homes/personal.astro b/src/pages/homes/personal.astro
index b22b1cd..f6a209d 100644
--- a/src/pages/homes/personal.astro
+++ b/src/pages/homes/personal.astro
@@ -52,18 +52,31 @@ const metadata = {
@@ -233,6 +252,12 @@ const metadata = {
src: 'https://images.unsplash.com/photo-1619983081563-430f63602796?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=774&q=80',
alt: 'Art and Music Poster Image',
}}
+ callToAction={{
+ targetBlank: true,
+ text: 'Go to the project',
+ icon: 'tabler:chevron-right',
+ href: '#',
+ }}
>
@@ -264,6 +289,12 @@ const metadata = {
src: 'https://plus.unsplash.com/premium_photo-1683288295841-782fa47e4770?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=870&q=80',
alt: 'Fashion e-commerce Image',
}}
+ callToAction={{
+ targetBlank: true,
+ text: 'Go to the project',
+ icon: 'tabler:chevron-right',
+ href: '#',
+ }}
>
diff --git a/src/pages/homes/startup.astro b/src/pages/homes/startup.astro
index 3162b0a..9dd26ad 100644
--- a/src/pages/homes/startup.astro
+++ b/src/pages/homes/startup.astro
@@ -9,6 +9,7 @@ import Features from '~/components/widgets/Features.astro';
import Stats from '~/components/widgets/Stats.astro';
import Features3 from '~/components/widgets/Features3.astro';
import FAQs from '~/components/widgets/FAQs.astro';
+import Brands from '~/components/widgets/Brands.astro';
const metadata = {
title: 'Startup Landing Page',
@@ -64,7 +65,8 @@ const metadata = {
+
+
+
+
;
images?: Array;
}
@@ -273,6 +273,7 @@ export interface Content extends Headline, Widget {
columns?: number;
isReversed?: boolean;
isAfterContent?: boolean;
+ callToAction?: CallToAction;
}
export interface Contact extends Headline, Form, Widget {}