From e5f053b3c4e72fe13ceb6057d54a8798a3c089c0 Mon Sep 17 00:00:00 2001 From: Athena Date: Tue, 5 May 2026 14:05:44 +0200 Subject: [PATCH] redesign: Bonus-Karten als Flip-Cards mit minimalem Icon-Design MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Neue BonusCards.tsx Komponente mit Flip-Mechanismus - Vorderseite: kleines dezentes Icon oben + großer fetter Titel als Hauptelement - Rückseite: Indigo/Violet Gradient + Detailbeschreibung - FlipCards-Heading: "Transformation/Kennst du das?" → "Ergebnisse/Diese Ergebnisse kannst du vom Programm erwarten" - Bonus-Heading: neu mit "HEUTE" + Subzeile - Unused Icon-Imports aus page.tsx entfernt Co-Authored-By: Claude Sonnet 4.6 --- src/app/components/BonusCards.tsx | 192 ++++++++++++++++++++++++++++++ src/app/components/FlipCards.tsx | 4 +- src/app/page.tsx | 29 +---- 3 files changed, 199 insertions(+), 26 deletions(-) create mode 100644 src/app/components/BonusCards.tsx diff --git a/src/app/components/BonusCards.tsx b/src/app/components/BonusCards.tsx new file mode 100644 index 0000000..6fcbb64 --- /dev/null +++ b/src/app/components/BonusCards.tsx @@ -0,0 +1,192 @@ +"use client"; + +import { useState } from "react"; +import { + PackageIcon, PhoneIcon, VideoCameraIcon, + MapIcon, ChatIcon, HandshakeIcon, +} from "./Icons"; + +const BONUSES = [ + { + n: 1, + icon: , + title: "Sofort loslegen: 7 fertige Vorlagen", + desc: "7 Vorlagen zum Direkt-Ausfüllen: Wunschkunden-Persona · Positionierungsformel · Verkaufsseiten-Struktur · 90-Tage-Marketingplan · Kanal-Entscheidungsmatrix · Marketing-Audit · Kurztext für Website & Social Media", + val: "497 €", + }, + { + n: 2, + icon: , + title: "Kunden gewinnen über Instagram", + desc: "Wie du über Social Media planbar Anfragen bekommst — Schritt für Schritt erklärt, direkt umsetzbar.", + val: "297 €", + }, + { + n: 3, + icon: , + title: "Professionell filmen — mit dem Handy", + desc: "Kein teures Equipment. Die Grundlagen von den Video-Experten — die du zuhause selbst anwenden kannst und die deine Content-Qualität sofort verbesserst.", + val: "197 €", + }, + { + n: 4, + icon: , + title: "Welcher Social Media Kanal passt zu dir?", + desc: "Kein Rätselraten mehr — du weißt auf welchem Social Media Kanal deine Wunschkunden aktiv sind, und wo es sich wirklich lohnt Zeit zu investieren.", + val: "147 €", + }, + { + n: 5, + icon: , + title: "1 Monat Begleitung nach dem Programm", + desc: "Die Messenger-Community bleibt einen Monat nach dem Programm offen. Fragen zur Umsetzung, offener Austausch, Motivation.", + val: "97 €", + }, + { + n: 6, + icon: , + title: "Abschluss-Netzwerkevent (geplant)", + desc: "Nach der letzten Session kommen alle zusammen. Persönliches Feedback von Katja. Neue Kontakte. Exklusiv für den Pilotdurchlauf.", + val: "197 €", + }, +]; + +const faceBase: React.CSSProperties = { + position: "absolute", + inset: 0, + borderRadius: "1rem", + display: "flex", + flexDirection: "column", + padding: "24px", + WebkitBackfaceVisibility: "hidden", + backfaceVisibility: "hidden", +}; + +function BonusCard({ n, icon, title, desc, val }: { + n: number; icon: React.ReactNode; title: string; desc: string; val: string; +}) { + const [flipped, setFlipped] = useState(false); + + return ( +
setFlipped((f) => !f)} + onMouseEnter={() => setFlipped(true)} + onMouseLeave={() => setFlipped(false)} + role="button" + tabIndex={0} + onKeyDown={(e) => e.key === "Enter" && setFlipped((f) => !f)} + > +
+ {/* VORDERSEITE */} +
+ {/* Oben: Icon (minimal) + Bonus-Label */} +
+ {icon} + + Bonus {n} + +
+ + {/* Spacer */} +
+ + {/* Titel — Hauptelement */} +

+ {title} +

+ + {/* Wert-Badge */} + + Wert: {val} + + + {/* Hint */} +
+ + + + drehe mich um +
+
+ + {/* RÜCKSEITE */} +
+ + Was du erhältst: + + +

+ {desc} +

+ + + + + + inklusive im Pilotprogramm + +
+
+
+ ); +} + +export default function BonusCards() { + return ( +
+ {BONUSES.map((b) => ( + + ))} +
+ ); +} diff --git a/src/app/components/FlipCards.tsx b/src/app/components/FlipCards.tsx index abd7667..e1a5507 100644 --- a/src/app/components/FlipCards.tsx +++ b/src/app/components/FlipCards.tsx @@ -149,9 +149,9 @@ export default function FlipCards() {
- Transformation + Ergebnisse -

Kennst du das?

+

Diese Ergebnisse kannst du vom Programm erwarten

Fahre über eine Karte — oder tippe drauf — um zu sehen was sich verändert.

diff --git a/src/app/page.tsx b/src/app/page.tsx index f3e0715..7a5ae48 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -1,11 +1,10 @@ import Image from "next/image"; import WeekTimeline from "./components/WeekTimeline"; import FlipCards from "./components/FlipCards"; +import BonusCards from "./components/BonusCards"; import MountainClimb from "./components/MountainClimb"; import { - CalendarIcon, GradCapIcon, UsersIcon, ClipboardIcon, - PhoneIcon, VideoCameraIcon, HandshakeIcon, MapIcon, - PackageIcon, ChatIcon, CheckIcon, + CalendarIcon, GradCapIcon, UsersIcon, ClipboardIcon, CheckIcon, } from "./components/Icons"; const CTA_HREF = "#platz-sichern"; @@ -337,33 +336,15 @@ export default function Home() {
Bonus-Paket -

Und du bist während und nach dem Programm nie allein.

+

Hier ist alles was du HEUTE zusätzlich zum Coaching Programm erhältst.

+

Alles was du brauchst, um dein Business richtig voran zu bringen.

Die gesamten 8 Wochen: In der Messenger-Community beantwortet Katja täglich Fragen. Du kannst jederzeit posten — Feedback kommt. 8 Wochen tägliche Begleitung.

-
- {[ - { n: 1, icon: , title: "Sofort loslegen: 7 fertige Vorlagen", desc: "Alle wichtigen Vorlagen direkt anwendbar — du fängst nicht bei null an.", val: "497 €" }, - { n: 2, icon: , title: "Kunden gewinnen über Instagram", desc: "Wie du über Social Media planbar Anfragen bekommst — Schritt für Schritt.", val: "297 €" }, - { n: 3, icon: , title: "Professionell filmen — mit dem Handy", desc: "Kein teures Equipment. Die Grundlagen von den Video-Experten.", val: "197 €" }, - { n: 4, icon: , title: "Welche Plattform passt zu dir?", desc: "Kein Rätselraten — du weißt auf welcher Plattform deine Wunschkunden sind.", val: "147 €" }, - { n: 5, icon: , title: "1 Monat Begleitung nach dem Programm", desc: "Die Messenger-Community bleibt einen Monat nach dem Programm offen.", val: "97 €" }, - { n: 6, icon: , title: "Abschluss-Netzwerkevent (geplant)", desc: "Persönliches Feedback von Katja. Neue Kontakte. Exklusiv für den Pilotdurchlauf.", val: "197 €" }, - ].map(({ n, icon, title, desc, val }) => ( -
-
- {icon} - Wert: {val} -
-

Bonus {n}

-

{title}

-

{desc}

-
- ))} -
+