From 615e8b4b4b504877d591070daf65d0a10cfa0708 Mon Sep 17 00:00:00 2001 From: Marc Mintel Date: Fri, 30 Jan 2026 22:28:39 +0100 Subject: [PATCH] websites page --- app/websites/page.tsx | 409 +++++++++++++++++++++++++------------ src/components/Section.tsx | 9 + 2 files changed, 293 insertions(+), 125 deletions(-) diff --git a/app/websites/page.tsx b/app/websites/page.tsx index e2688fe..777c20b 100644 --- a/app/websites/page.tsx +++ b/app/websites/page.tsx @@ -1,147 +1,306 @@ -import { Info, Minus } from 'lucide-react'; +'use client'; + +import { Info, Check, Zap, Shield, Code, MessageSquare, RefreshCw, Layout, ArrowRight } from 'lucide-react'; import { PageHeader } from '../../src/components/PageHeader'; import { Reveal } from '../../src/components/Reveal'; import { Section } from '../../src/components/Section'; +import { + ConceptSystem, + ConceptCode, + ConceptWebsite, + ConceptAutomation, + ConceptCommunication, + ConceptMessy, + ConceptTarget +} from '../../src/components/Landing/Illustrations'; +import { motion } from 'framer-motion'; export default function WebsitesPage() { return ( -
- Websites
& Preise.} - description="Ich baue Websites mit klaren Preisen und Ergebnissen – keine Stunden, keine Überraschungen." +
+ {/* Subtle Grid Pattern Overlay */} +
+ + Websites, die
einfach funktionieren.} + description="Die meisten Websites funktionieren. Bis jemand sie anfasst. Ich baue Websites so, dass das alles egal ist." backLink={{ href: '/', label: 'Zurück' }} - backgroundSymbol="€" + backgroundSymbol="W" /> - {/* 1. Website - Designed Pricing */} -
-
+ {/* Intro / Problem */} +
} + > +
-
-
-
6.000 €
-
einmalig
-
-

- Die Grundlage für jede Website. -

-
+

+ Ich baue Websites wie Systeme –
+ nicht wie Broschüren. +

- -
- {[ - 'Projekt-Setup & Infrastruktur', - 'Hosting-Bereitstellung', - 'Grundstruktur & Design-Vorlage', - 'technisches SEO-Basics', - 'Analytics (mit Mail-Report)', - 'Livegang', - ].map((item, i) => ( -
-
- {item} -
- ))} -
-
- -
- -

Enthält keine Seiten, Inhalte oder Funktionen. Diese werden nach Bedarf ergänzt.

-
-
-
-
- - {/* 2. Entwicklung - Designed Grid */} -
-
- {/* Seite */} - -
-
S
-
-

Seite

-
800 €
-
-

- Individuell gestaltete Seite – mit Layout, Struktur, Textaufteilung, responsivem Design. -

-
-
- - {/* Feature */} - -
-
F
-
-

Feature

-
2.000 €
-
-

- Ein in sich geschlossenes System mit Datenstruktur, Darstellung und Pflegefähigkeit. -

-
- {['Blog', 'News', 'Jobs', 'Referenzen', 'Events', 'Produktbereich'].map(tag => ( - {tag} - ))} -
-
-
- - {/* Funktion */} - -
-
L
-
-

Funktion

-
1.000 €
-
-

- Funktionen liefern Logik und Interaktion. -

-
-
Kontaktformular
-
Suche & Filter
-
PDF-Export
-
API-Anbindungen
-
Mailversand
-
Automatisierung
-
-
-
-
-
- - {/* 5. Betrieb - Designed Box */} -
- -
-
B
-
-
120 €
-
/ Monat
-
-

- Hosting, Wartung & Sicherheit.
- Damit Sie sich um nichts kümmern müssen. +

+ Eine Website ist kein Flyer. Sie ist ein System, das jeden Tag arbeitet. + Deshalb baue ich sie stabil, schnell und vorhersehbar.

-
+ + +
{[ - 'Webhosting & Verfügbarkeit', - 'Sicherheitsupdates & Backups', - 'Analytics inkl. Reports', - 'Medien-Speicher (20 GB)', + { label: 'Stabil', icon: Shield }, + { label: 'Schnell', icon: Zap }, + { label: 'Vorhersehbar', icon: Layout }, + { label: 'Sicher', icon: Info }, ].map((item, i) => ( -
-
- {item} +
+ + {item.label}
))}
+ +
+
+ + {/* Speed */} +
} + > +
+ +

+ Geschwindigkeit ist
+ kein Extra. Sie ist Standard. +

+
+ +

+ Viele Websites sind langsam, weil sie zusammengeklickt sind. Meine sind schnell, weil sie gebaut sind. +

+
+
+ +
    + {[ + 'Seiten laden sofort', + 'Google mag sie (SEO)', + 'Besucher bleiben länger', + 'Bessere Sichtbarkeit', + ].map((item, i) => ( +
  • +
    + {item} +
  • + ))} +
+
+ +
+
90+
+
Pagespeed Normalzustand
+
+
- +
+
+ + {/* No Maintenance */} +
} + > +
+ +

+ Keine Plugins.
+ Keine Wartungshölle. +

+
+ +

+ Ich nutze keine Baukästen oder Plugin-Sammlungen, die sich selbst zerstören. + Ihre Website besteht aus sauberem Code und einer klaren Struktur. +

+
+ +
+
+
Technik
+

Sauberer Code & feste Bausteine.

+
+
+
Sicherheit
+

Wenn etwas geändert wird, geht nichts kaputt.

+
+
+
+
+
+ + {/* Content/Tech Separation */} +
} + > +
+ +

+ Inhalte & Technik
+ sind getrennt. Absichtlich. +

+
+ +

+ Sie können Inhalte selbst pflegen, ohne das Design oder die Technik zu gefährden. + Sie können nichts kaputt machen. Ich verspreche es. +

+
+ +
+
+
Was Sie tun
+
+ + Inhalte pflegen +
+
+
+
Was Sie ignorieren
+
+
Design
+
Struktur
+
Technik
+
+
+
+
+
+
+ + {/* Simple Changes */} +
} + > +
+ +

+ Änderungen sind
+ einfach. Wirklich. +

+
+ +

+ Neue Seite? Neue Funktion? Neue Idee?
+ Kein Ticket. Kein Formular. Kein Projektplan. +

+
+ +
+
+ +

Kurze Wege

+

Sie schreiben mir, was Sie brauchen.

+
+
+ +

Schnelle Umsetzung

+

Ich setze es um. Fertig.

+
+
+
+
+
+ + {/* Why */} +
} + > +
+ +

+ 15 Jahre Agenturen
+ waren genug. +

+
+ +

+ Zu viele Meetings. Zu viele Konzepte. Zu viele Übergaben. Zu viele „eigentlich müsste man mal“. + Meine Websites sind dafür gebaut, dass Dinge einfach passieren. +

+
+
+
+ + {/* Result */} +
+
+ +

+ Eine Website, die sich wie eine
+ erledigte Aufgabe anfühlt. +

+
+ +
+ {[ + { title: 'Kein Stress', desc: 'Keine Wartungspflicht, keine Überraschungen.' }, + { title: 'Keine Abhängigkeit', desc: 'Sauberer Code, der Ihnen gehört.' }, + { title: 'Keine Agentur', desc: 'Direkter Kontakt, schnelle Ergebnisse.' }, + ].map((item, i) => ( + +
+
{item.title}
+

{item.desc}

+
+
+ ))} +
+ + +
+
+
Technik
+

+ Modern, sicher, schnell. Aber das ist mein Problem, nicht Ihres. +

+
+ + Projekt anfragen + + +
+
+
); diff --git a/src/components/Section.tsx b/src/components/Section.tsx index 615b461..e589b1c 100644 --- a/src/components/Section.tsx +++ b/src/components/Section.tsx @@ -11,6 +11,7 @@ interface SectionProps { borderTop?: boolean; connector?: React.ReactNode; containerVariant?: 'narrow' | 'normal' | 'wide'; + illustration?: React.ReactNode; } export const Section: React.FC = ({ @@ -23,6 +24,7 @@ export const Section: React.FC = ({ borderTop = false, connector, containerVariant = 'narrow', + illustration, }) => { const bgClass = variant === 'gray' ? 'bg-slate-50' : 'bg-white'; const borderClass = borderTop ? 'border-t border-slate-100' : ''; @@ -91,6 +93,13 @@ export const Section: React.FC = ({
)} + {illustration && ( + +
+ {illustration} +
+
+ )}