const { Button, Input, Logo, NoteCard, Card, Tag } = window.RePairDesignSystem_eab2dc; const ILL_HERO = "../../assets/illustrations/repair-toolset-ink.svg"; const ILL_BAND_LIGHT = "../../assets/illustrations/repair-sewing-machine-light.svg"; const CRAFTS = ["Alle", "Schneiderei", "Keramik", "Schuhe", "Elektronik", "Fahrräder", "Möbel"]; const STUDIOS = [ ["Flick Studio", "Buchbinderei · Kreuzberg", "lavender"], ["Nadel", "Schneiderei · Wedding", "chartreuse"], ["Kesselhaus", "Fahrräder · Moabit", "secondary"], ]; /* One hand-drawn hook, curling down toward whatever it's aimed at. A single asset — .repair-note-arrow--mirror flips it for the other side, same trick .repair-tape-bottom uses on its own mask. See tokens/brand.css .repair-note. */ function NoteArrow({ mirror = false }) { return ( ); } const STEPS = [ { n: "01", title: "Foto machen", body: "Ein Foto reicht. Die Plattform erkennt, was genau kaputt ist.", img: "../../assets/steps/schritt-1-foto.jpg", alt: "Foto eines kaputten Gegenstands", tint: "lavender" }, { n: "02", title: "Anleitung bekommen", body: "Passende Tutorials und Anleitungen, um deine Sache selbst zu reparieren.", img: "../../assets/steps/schritt-2-anleitung.jpg", alt: "Reparatur-Anleitung", tint: "chartreuse" }, { n: "03", title: "Macher finden", body: "Repair-Cafés und Circular-Economy-Fans in deiner Nähe zum Vernetzen und Austauschen.", img: "../../assets/steps/schritt-3-vernetzen.jpg", alt: "Menschen bei einem Repair-Café", tint: "cream" }, ]; const STEP_TINT = { lavender: "var(--card-tint-lavender)", chartreuse: "var(--card-tint-chartreuse)", cream: "var(--card-tint-cream)" }; /* Header + footer, translated for the German marketing site. Scroll-anchor nav, mirroring the click-through header from ui_kits/website but for a single long-form landing page instead of routed screens. */ function SiteHeader() { return (
); } function SiteFooter() { return ( ); } function LandingScreen() { const [craft, setCraft] = React.useState("Alle"); const [email, setEmail] = React.useState(""); const [sent, setSent] = React.useState(false); return (
{/* Hero */}

Reparieren –
leicht für alle

Werkstätten in deiner Nähe, sortiert nach dem, was sie reparieren. Termin buchen, vorbeibringen, repariert abholen.

Illustration von Schraubenschlüssel, Schraubenzieher, Zange und Hammer
{/* Value trio */}
{/* Craft search + example studios */}

Wonach suchst du?

{CRAFTS.map((c) => setCraft(c)}>{c})}
{STUDIOS.map(([name, kind, tint]) => ( ))}
{/* Dark highlight band */}
Illustration einer Nähmaschine

Nichts ist zu kaputt zum Reparieren

Jede Werkstatt auf Re:Pair macht ein Angebot, bevor sie loslegt. Du gibst grünes Licht, sie reparieren es, und was dir gehört, bleibt deins.

{/* Three-step process */}
{STEPS.map((s) => (
{s.alt} { e.currentTarget.style.display = "none"; }} />

{s.title}

{s.body}

))}
{/* Newsletter */}

Neugierig?

Reparatur-Tipps und neue Werkstätten, einmal im Monat.

{sent ? (

Danke – schau in dein Postfach, um zu bestätigen.

) : (
{ e.preventDefault(); if (email) setSent(true); }} style={{ display: "flex", alignItems: "center", gap: "var(--scale-300)" }} > setEmail(e.target.value)} placeholder="Deine E-Mail-Adresse" />
)}

Kein Spam. Jederzeit abbestellbar

); } Object.assign(window, { SiteHeader, SiteFooter, LandingScreen });