Revise content across multiple components for enhanced clarity and user engagement; update About19, Contact21, CTA, FAQ, Footer, Hero, Pricing, and Stats sections with localized messaging and improved structure.

This commit is contained in:
2026-04-22 09:36:12 +02:00
parent f42b535073
commit ec22c238fa
9 changed files with 234 additions and 226 deletions

View File

@@ -1,4 +1,4 @@
import { ArrowDown, BookOpen, LayoutGrid, Sparkles } from "lucide-react";
import { ArrowDown } from "lucide-react";
import { Button } from "@/components/ui/button";
import { cn } from "@/lib/utils";
@@ -7,27 +7,6 @@ interface Hero235Props {
className?: string;
}
const SERVICES = [
{
icon: Sparkles,
title: "Webdesign mit Klarheit",
description:
"Ein moderner Auftritt, der Ihr Unternehmen auf den ersten Blick professionell wirken laesst.",
},
{
icon: LayoutGrid,
title: "Struktur und Texte",
description:
"Ich unterstuetze bei Seitenstruktur und Inhalten, damit Besucher schnell verstehen, was Sie anbieten.",
},
{
icon: BookOpen,
title: "Pflege und Weiterentwicklung",
description:
"Auf Wunsch betreue ich Ihre Website weiter, halte Inhalte aktuell und passe Details laufend an.",
},
];
const Hero235 = ({ className }: Hero235Props) => {
return (
<section
@@ -60,42 +39,17 @@ const Hero235 = ({ className }: Hero235Props) => {
<div className="flex flex-1 items-center justify-center">
<div className="mx-auto flex max-w-4xl flex-col items-center text-center">
<h1 className="text-4xl font-semibold tracking-tight text-balance text-foreground md:text-5xl lg:text-8xl">
Eine moderne Webseite kostet kein Vermögen.
Hallo, ich bin Matthias - ich baue Websites, die Kunden bringen.
</h1>
<p className="mt-8 max-w-xl text-pretty text-muted-foreground md:text-lg">
Ich gestalte klare Unternehmenswebsites, die Vertrauen aufbauen,
Ihre Leistungen verständlich zeigen und Anfragen einfacher
machen.
Moderne, blitzschnelle Auftritte für Handwerker, Friseure und Unternehmen aus der Region. Kein Agentur-Preisschild. Kein Overkill. Einfach eine Website, die funktioniert.
</p>
<Button size="lg" className="mt-10">
Projekt anfragen
Kostenloses Angebot
<ArrowDown className="shrink-0" aria-hidden />
</Button>
</div>
</div>
<div className="pt-16">
<div className="grid gap-12 lg:grid-cols-3 lg:gap-0">
{SERVICES.map((service) => {
const Icon = service.icon;
return (
<div
key={service.title}
className={cn(
"flex flex-col border-l border-primary px-6 md:px-8",
)}
>
<Icon className="mb-4 size-6" aria-hidden />
<h2 className="font-semibold text-foreground">
{service.title}
</h2>
<p className="mt-2 text-sm text-muted-foreground">
{service.description}
</p>
</div>
);
})}
</div>
</div>
</div>
</section>
);