From ad2f7c32a1846e8d38a44a490e201941654572fe Mon Sep 17 00:00:00 2001 From: DanielS Date: Sat, 18 Jul 2026 04:22:56 +0200 Subject: [PATCH] feat: add industry filtering logic with transitions to templates showcase --- src/pages/templates.astro | 190 +++++++++++++++++++++++++++----------- 1 file changed, 136 insertions(+), 54 deletions(-) diff --git a/src/pages/templates.astro b/src/pages/templates.astro index dd87508..fa4af23 100644 --- a/src/pages/templates.astro +++ b/src/pages/templates.astro @@ -2,7 +2,7 @@ import Layout from '../layouts/Layout.astro'; import Navbar from '../components/Navbar.astro'; import Footer from '../components/Footer.astro'; -import { FaArrowLeft, FaEye, FaDesktop } from 'react-icons/fa'; +import { FaArrowLeft, FaDesktop } from 'react-icons/fa'; // List of 20 design templates showcasing maximum diversity in color, structure, and style const templates = [ @@ -12,12 +12,13 @@ const templates = [ style: "Einfach & Bodenständig", layout: "Boxed Layout", design: "Brutalismus", - colorScheme: "Warm & Earthy (Sand & Terrakotta)", + colorScheme: "Sand & Terrakotta", bgClass: "bg-[#FDFBF7] text-[#2C1A11] border-[#2C1A11]/20", theme: "light", accentColor: "bg-[#D97706]", badgeClass: "bg-[#D97706]/10 text-[#D97706]", - layoutPreview: "boxed" + layoutPreview: "boxed", + category: "handwerk" }, { id: "02", @@ -25,12 +26,13 @@ const templates = [ style: "Elegant & Professionell", layout: "Split-Screen", design: "Glassmorphismus", - colorScheme: "Deep Dark (Anthrazit & Gold)", + colorScheme: "Anthrazit & Gold", bgClass: "bg-[#18181B] text-white border-yellow-500/20", theme: "dark", accentColor: "bg-yellow-500", badgeClass: "bg-yellow-500/10 text-yellow-400", - layoutPreview: "split" + layoutPreview: "split", + category: "handwerk" }, { id: "03", @@ -38,12 +40,13 @@ const templates = [ style: "Tech & Zukunft", layout: "Bento-Grid", design: "SaaS-Minimalismus", - colorScheme: "Tech-Vibrant (Grau & Neon-Orange)", + colorScheme: "Grau & Neon-Orange", bgClass: "bg-zinc-900 text-zinc-100 border-orange-500/20", theme: "dark", accentColor: "bg-orange-500", badgeClass: "bg-orange-500/10 text-orange-400", - layoutPreview: "bento" + layoutPreview: "bento", + category: "dienstleister" }, { id: "04", @@ -51,12 +54,13 @@ const templates = [ style: "Seriös & Clean", layout: "Asymmetrisch", design: "Glassmorphismus", - colorScheme: "Deep Dark (Anthrazit & Smaragd-Grün)", + colorScheme: "Anthrazit & Smaragd-Grün", bgClass: "bg-[#0B0F19] text-white border-emerald-500/20", theme: "dark", accentColor: "bg-emerald-500", badgeClass: "bg-emerald-500/10 text-emerald-400", - layoutPreview: "asymmetric" + layoutPreview: "asymmetric", + category: "dienstleister" }, { id: "05", @@ -69,7 +73,8 @@ const templates = [ theme: "light", accentColor: "bg-[#C2410C]", badgeClass: "bg-[#C2410C]/10 text-[#C2410C]", - layoutPreview: "single" + layoutPreview: "single", + category: "gastro" }, { id: "06", @@ -77,12 +82,13 @@ const templates = [ style: "Klar & Zuverlässig", layout: "Bento-Grid", design: "SaaS-Minimalismus", - colorScheme: "Clean Light (Weiß & Navy-Blau)", + colorScheme: "Weiß & Navy-Blau", bgClass: "bg-white text-slate-800 border-slate-200", theme: "light", accentColor: "bg-blue-800", badgeClass: "bg-blue-800/10 text-blue-800", - layoutPreview: "bento" + layoutPreview: "bento", + category: "handwerk" }, { id: "07", @@ -90,12 +96,13 @@ const templates = [ style: "Dynamisch & Direkt", layout: "Split-Screen", design: "Brutalismus", - colorScheme: "Tech-Vibrant (Grau & Neon-Orange)", + colorScheme: "Grau & Neon-Orange", bgClass: "bg-zinc-800 text-white border-zinc-700", theme: "dark", accentColor: "bg-orange-600", badgeClass: "bg-orange-600/15 text-orange-400", - layoutPreview: "split" + layoutPreview: "split", + category: "handwerk" }, { id: "08", @@ -103,12 +110,13 @@ const templates = [ style: "Handwerk & Präzision", layout: "Boxed Layout", design: "SaaS-Minimalismus", - colorScheme: "Warm & Earthy (Sand-Töne)", + colorScheme: "Sand-Töne", bgClass: "bg-[#F5F2EB] text-[#3D3A36] border-[#D9D2C5]", theme: "light", accentColor: "bg-[#8B5A2B]", badgeClass: "bg-[#8B5A2B]/10 text-[#8B5A2B]", - layoutPreview: "boxed" + layoutPreview: "boxed", + category: "handwerk" }, { id: "09", @@ -116,12 +124,13 @@ const templates = [ style: "Exklusiv & Diskret", layout: "Bento-Grid", design: "Glassmorphismus", - colorScheme: "Deep Dark (Anthrazit & Gold)", + colorScheme: "Anthrazit & Gold", bgClass: "bg-slate-900 text-slate-100 border-amber-500/20", theme: "dark", accentColor: "bg-amber-500", badgeClass: "bg-amber-500/10 text-amber-400", - layoutPreview: "bento" + layoutPreview: "bento", + category: "dienstleister" }, { id: "10", @@ -129,12 +138,13 @@ const templates = [ style: "Frisch & Modern", layout: "Asymmetrisch", design: "Glassmorphismus", - colorScheme: "Clean Light (Weiß & Salbei-Grün)", + colorScheme: "Weiß & Salbei-Grün", bgClass: "bg-[#F3F7F4] text-slate-800 border-emerald-200", theme: "light", accentColor: "bg-emerald-700", badgeClass: "bg-emerald-700/10 text-emerald-800", - layoutPreview: "asymmetric" + layoutPreview: "asymmetric", + category: "handwerk" }, { id: "11", @@ -142,12 +152,13 @@ const templates = [ style: "Clean & Vertrauensvoll", layout: "Minimalistisch 1-spaltig", design: "SaaS-Minimalismus", - colorScheme: "Clean Light (Weiß & Navy-Blau)", + colorScheme: "Weiß & Navy-Blau", bgClass: "bg-slate-50 text-slate-800 border-slate-200", theme: "light", accentColor: "bg-[#1E3A8A]", badgeClass: "bg-[#1E3A8A]/10 text-[#1E3A8A]", - layoutPreview: "single" + layoutPreview: "single", + category: "dienstleister" }, { id: "12", @@ -155,12 +166,13 @@ const templates = [ style: "Gemütlich & Lecker", layout: "Boxed Layout", design: "Neomorphismus", - colorScheme: "Warm & Earthy (Terrakotta)", + colorScheme: "Terrakotta", bgClass: "bg-[#FDF9F3] text-[#5C3E21] border-[#EADCC9]", theme: "light", accentColor: "bg-[#B45309]", badgeClass: "bg-[#B45309]/10 text-[#B45309]", - layoutPreview: "boxed" + layoutPreview: "boxed", + category: "gastro" }, { id: "13", @@ -168,12 +180,13 @@ const templates = [ style: "Präzise & Leistungsstark", layout: "Split-Screen", design: "Brutalismus", - colorScheme: "Tech-Vibrant (Grau & Electric-Purple)", + colorScheme: "Grau & Electric-Purple", bgClass: "bg-neutral-900 text-neutral-100 border-purple-500/20", theme: "dark", accentColor: "bg-purple-600", badgeClass: "bg-purple-600/10 text-purple-400", - layoutPreview: "split" + layoutPreview: "split", + category: "handwerk" }, { id: "14", @@ -181,12 +194,13 @@ const templates = [ style: "Stark & Motivierend", layout: "Asymmetrisch", design: "Brutalismus", - colorScheme: "Deep Dark (Schwarz & Neon-Orange)", + colorScheme: "Schwarz & Neon-Orange", bgClass: "bg-black text-white border-orange-500/20", theme: "dark", accentColor: "bg-orange-500", badgeClass: "bg-orange-500/10 text-orange-500", - layoutPreview: "asymmetric" + layoutPreview: "asymmetric", + category: "dienstleister" }, { id: "15", @@ -194,12 +208,13 @@ const templates = [ style: "Minimalismus & Ästhetik", layout: "Split-Screen", design: "SaaS-Minimalismus", - colorScheme: "Clean Light (Weiß & Navy-Blau)", + colorScheme: "Weiß & Navy-Blau", bgClass: "bg-white text-zinc-900 border-zinc-200", theme: "light", accentColor: "bg-zinc-900", badgeClass: "bg-zinc-950/10 text-zinc-900", - layoutPreview: "split" + layoutPreview: "split", + category: "dienstleister" }, { id: "16", @@ -207,12 +222,13 @@ const templates = [ style: "Achtsam & Gesund", layout: "Minimalistisch 1-spaltig", design: "Glassmorphismus", - colorScheme: "Clean Light (Weiß & Salbei-Grün)", + colorScheme: "Weiß & Salbei-Grün", bgClass: "bg-[#F7FAFC] text-slate-800 border-emerald-100", theme: "light", accentColor: "bg-emerald-600", badgeClass: "bg-emerald-600/10 text-emerald-700", - layoutPreview: "single" + layoutPreview: "single", + category: "dienstleister" }, { id: "17", @@ -220,12 +236,13 @@ const templates = [ style: "Hart & Präzise", layout: "Boxed Layout", design: "Brutalismus", - colorScheme: "Deep Dark (Anthrazit & Smaragd-Grün)", + colorScheme: "Anthrazit & Smaragd-Grün", bgClass: "bg-stone-900 text-stone-100 border-emerald-500/20", theme: "dark", accentColor: "bg-emerald-600", badgeClass: "bg-emerald-600/10 text-emerald-400", - layoutPreview: "boxed" + layoutPreview: "boxed", + category: "handwerk" }, { id: "18", @@ -233,12 +250,13 @@ const templates = [ style: "Rustikal & Einladend", layout: "Bento-Grid", design: "Neomorphismus", - colorScheme: "Warm & Earthy (Sand-Töne)", + colorScheme: "Sand-Töne", bgClass: "bg-[#FAF6F0] text-[#543D2B] border-[#EFEAE2]", theme: "light", accentColor: "bg-[#A75D5D]", badgeClass: "bg-[#A75D5D]/10 text-[#A75D5D]", - layoutPreview: "bento" + layoutPreview: "bento", + category: "gastro" }, { id: "19", @@ -246,12 +264,13 @@ const templates = [ style: "Sauber & Strukturiert", layout: "Bento-Grid", design: "SaaS-Minimalismus", - colorScheme: "Tech-Vibrant (Grau & Electric-Purple)", + colorScheme: "Grau & Electric-Purple", bgClass: "bg-[#1C1B22] text-zinc-100 border-indigo-500/20", theme: "dark", accentColor: "bg-indigo-500", badgeClass: "bg-indigo-500/10 text-indigo-400", - layoutPreview: "bento" + layoutPreview: "bento", + category: "dienstleister" }, { id: "20", @@ -259,48 +278,71 @@ const templates = [ style: "Kreativ & Präzise", layout: "Asymmetrisch", design: "Glassmorphismus", - colorScheme: "Tech-Vibrant (Grau & Neon-Orange)", + colorScheme: "Grau & Neon-Orange", bgClass: "bg-[#1E1E2E] text-zinc-100 border-orange-500/20", theme: "dark", accentColor: "bg-orange-500", badgeClass: "bg-orange-500/10 text-orange-400", - layoutPreview: "asymmetric" + layoutPreview: "asymmetric", + category: "handwerk" } ]; + +const categories = [ + { id: "all", name: "Alle Branchen" }, + { id: "handwerk", name: "Handwerk & Bau" }, + { id: "dienstleister", name: "Dienstleister & Praxis" }, + { id: "gastro", name: "Gastronomie & Handel" } +]; --- -
+
+ + +
- -
-
-
- + Zurück zur Startseite -
-

+
+

Die perfekte Struktur für jeden Betrieb.

-

+

Egal ob klassische Schreinerei, moderne Anwaltskanzlei oder lokaler Handwerker: Wir passen das Design perfekt an Ihren Stil an. Hier sind 20 beispielhafte Bento-Kombinationen, Farbwelten und Layout-Konzepte.

+ +
+ {categories.map((cat, idx) => ( + + ))} +
+ - - {/* Visual Mini-Layout Preview Component inside card (Bento Content-Mix) */} + {/* Visual Mini-Layout Preview Component inside card */}
{tpl.layoutPreview === "bento" && ( @@ -401,12 +443,12 @@ const templates = [
-
+

Ihr Wunsch-Design ist nicht dabei?

-

+

Kein Problem. Jedes Layout wird von uns individuell im Code programmiert. Wir nutzen keine starren Fertig-Systeme. Teilen Sie uns einfach Ihre Vorstellungen mit, und wir setzen sie passgenau um.

@@ -422,3 +464,43 @@ const templates = [