diff --git a/src/assets/scripts/main.js b/src/assets/scripts/main.js
new file mode 100644
index 00000000..7932ccda
--- /dev/null
+++ b/src/assets/scripts/main.js
@@ -0,0 +1,34 @@
+let currentFeatureId = 0;
+function nextFeatureId() {
+ if (currentFeatureId >= 3) {
+ currentFeatureId = 0;
+ } else {
+ currentFeatureId += 1;
+ }
+ return currentFeatureId;
+}
+function selectFeature(t) {
+ const windowContent = document.querySelector('.showcase .window__content');
+ const r = windowContent.src;
+ const o = '' + r.substr(0, r.lastIndexOf('/') + 1) + t + '.jpg';
+ const c = document.querySelector(".showcase__feature[data-id='" + t + "']");
+ windowContent.src = o;
+ document.querySelectorAll('.showcase__feature').forEach(function (f) {
+ f.classList.remove('showcase__feature--active');
+ });
+
+ c.classList.add('showcase__feature--active');
+}
+const i = setInterval(function () {
+ selectFeature(nextFeatureId());
+}, 4e3);
+document.querySelectorAll('.showcase__feature').forEach(function (feature) {
+ feature.onclick = function (e) {
+ e.preventDefault();
+ clearInterval(i);
+ selectFeature(this.getAttribute('data-id'));
+ return false;
+ };
+});
+
+console.log('main.js loaded');
\ No newline at end of file
diff --git a/src/components/ui/ItemGrid5.astro b/src/components/ui/ItemGrid5.astro
new file mode 100644
index 00000000..7fedede0
--- /dev/null
+++ b/src/components/ui/ItemGrid5.astro
@@ -0,0 +1,65 @@
+---
+import type { ItemGrid as Props } from '~/types';
+import { twMerge } from 'tailwind-merge';
+import Button from './Button.astro';
+import { Icon } from 'astro-icon/components';
+
+const { items = [], columns, defaultIcon = '', classes = {} } = Astro.props;
+
+const {
+ container: containerClass = '',
+ panel: panelClass = '',
+ title: titleClass = '',
+ description: descriptionClass = '',
+ icon: defaultIconClass = 'text-primary',
+ action: actionClass = '',
+} = classes;
+---
+
+{
+ items && (
+
+ {items.map(({ title, description, icon, callToAction, classes: itemClasses = {} }, idx) => (
+
+
+
+ {(icon || defaultIcon) && (
+
+ )}
+
+
+ {title &&
{title}
}
+ {description && (
+
+ )}
+ {callToAction && (
+
+
+
+ )}
+
+
+
+ ))}
+
+ )
+}
diff --git a/src/components/widgets/Content3.astro b/src/components/widgets/Content3.astro
new file mode 100644
index 00000000..dd03367d
--- /dev/null
+++ b/src/components/widgets/Content3.astro
@@ -0,0 +1,177 @@
+---
+import type { Content3 as Props } from '~/types';
+import Headline from '../ui/Headline.astro';
+import WidgetWrapper from '../ui/WidgetWrapper.astro';
+import Image from '~/components/common/Image.astro';
+import Button from '~/components/ui/Button.astro';
+import ItemGrid5 from '../ui/ItemGrid5.astro';
+
+const {
+ title = await Astro.slots.render('title'),
+ subtitle = await Astro.slots.render('subtitle'),
+ tagline,
+ content = await Astro.slots.render('content'),
+ callToAction,
+ items = [],
+ columns,
+ isReversed = false,
+ isAfterContent = false,
+
+ img1 = await Astro.slots.render('img1'),
+ img2 = await Astro.slots.render('img2'),
+ img3 = await Astro.slots.render('img3'),
+ img4 = await Astro.slots.render('img4'),
+
+ id,
+ isDark = false,
+ classes = {},
+ bg = await Astro.slots.render('bg'),
+} = Astro.props;
+---
+
+
+
+
+
+
+ {content &&
}
+
+ {
+ callToAction && (
+
+
+
+ )
+ }
+
+
+
+
+
+
+
diff --git a/src/pages/index.astro b/src/pages/index.astro
index 59f6ca54..7208132f 100644
--- a/src/pages/index.astro
+++ b/src/pages/index.astro
@@ -5,9 +5,9 @@ import Hero from '~/components/widgets/Hero.astro';
// import Note from '~/components/widgets/Note.astro';
// import Features from '~/components/widgets/Features.astro';
// import Features2 from '~/components/widgets/Features2.astro';
-import Steps from '~/components/widgets/Steps.astro';
+// import Steps from '~/components/widgets/Steps.astro';
import Content from '~/components/widgets/Content.astro';
-import Content2 from '~/components/widgets/Content2.astro';
+import Content3 from '~/components/widgets/Content3.astro';
// import Image from '~/components/common/Image.astro';
// import { Image } from "astro:assets"
import { Image } from 'astro:assets';
@@ -18,6 +18,9 @@ import CallToAction from '~/components/widgets/CallToAction.astro';
import showcase from '../assets/images/showcase.jpg';
import Features4 from '~/components/widgets/Features4.astro';
import show0 from '../assets/images/showcase/0.jpg';
+import show1 from '../assets/images/showcase/1.jpg';
+import show2 from '../assets/images/showcase/2.jpg';
+import show3 from '../assets/images/showcase/3.jpg';
const metadata = {
title: 'AstroWind — Free template for creating websites with Astro + Tailwind CSS',
@@ -143,7 +146,7 @@ const metadata = {
]}
/>
-
diff --git a/src/types.d.ts b/src/types.d.ts
index 6c4223bd..bd39060e 100644
--- a/src/types.d.ts
+++ b/src/types.d.ts
@@ -283,4 +283,17 @@ export interface Content extends Omit, Widget {
callToAction?: CallToAction;
}
+export interface Content3 extends Omit, Widget {
+ content?: string;
+ img1?: string | unknown;
+ img2?: string | unknown;
+ img3?: string | unknown;
+ img4?: string | unknown;
+ items?: Array- ;
+ columns?: number;
+ isReversed?: boolean;
+ isAfterContent?: boolean;
+ callToAction?: CallToAction;
+}
+
export interface Contact extends Omit, Form, Widget {}