import { useState } from "react"; import { Check, Sparkles } from "lucide-react"; import { Button } from "@/components/ui/button.tsx"; import { BookingDialog } from "@/components/booking-dialog.tsx"; type PricingPlan = { id: number; name: string; slug: string; description: string; price: number; features: string[]; priceNote: string; highlighted?: boolean; }; type HostingPlan = { id: number; name: string; description: string; priceMonthly: number; priceYearly: number; features: string[]; highlighted: boolean; } const offerlist: PricingPlan[] = [ { id: 1, name: "Das Kompakt-Paket", slug: "kompakt", description: "Perfekt für die schnelle, moderne Präsentation. Ideal für Therapeuten, Berater und regionale Handwerker.", price: 1800, features: [ "Alle wichtigen Infos auf einer Seite", "Für Smartphone optimiert", "SSL-Verschlüsselung inklusive", "SEO-Grundlagen (Meta-Tags, schnelle Ladezeit)", ], priceNote: "Aufpreise z. B. für mehrsprachige Seiten oder Terminbuchung.", }, { id: 2, name: "Das Klassik-Paket", slug: "klassik", description: "Für Praxen und Betriebe mit breitem Angebot. Maximale Übersicht für Ihre Besucher.", price: 2500, features: [ "Separate Leistungs- und Teamseiten", "Bildergalerie & Referenzen", "Erweiterte SEO-Optimierung", "Rechtstexte-Assistenz", ], priceNote: "Aufpreise z. B. für zusätzliche Sprachen oder Shop-Anbindung.", highlighted: true, } ]; const hostinglist: HostingPlan[] = [ { id: 1, name: "Basis", description: "", priceMonthly: 79, priceYearly: 790, features: [ "Premium-Hosting", "SSL-Zertifikat", "Uptime Monitoring", "30 Minuten pro Monat für Textänderungen oder Anpassungen", ], highlighted: false, }, { id: 2, name: "Standard", description: "", priceMonthly: 149, priceYearly: 1490, features: [ "Alles aus Basis", "1 Stunde pro Monat für inhaltliche Pflege, z. B. neue Texte, Bilder, Teammitglieder", "Monatlicher Performance-Report zu Besucherzahlen und Analytics", ], highlighted: true, } ]; const priceFormatter = new Intl.NumberFormat("de-DE"); type Billing = "monthly" | "yearly"; export const Pricing = () => { const [billing, setBilling] = useState("monthly"); return ( <>
Preise

Feste Preise. Keine Überraschungen.

Wählen Sie das Paket, das zu Ihrem Betrieb passt. Nach dem Erstgespräch bekommen Sie einen festen Preis - schriftlich, ohne Überraschungen.

{offerlist.map((offer) => { const isHighlighted = offer.highlighted; return (
{isHighlighted && ( Empfehlung )}

{offer.name}

{offer.description}

ab {priceFormatter.format(offer.price)} €

zzgl. gesetzl. Umsatzsteuer

{offer.priceNote}

    {offer.features.map((feature) => (
  • {feature}
  • ))}
); })}
Hosting & Betreuung

Rundum betreut - auch nach dem Launch.

Wir übernehmen Technik, Sicherheit und laufende Anpassungen - damit Ihre Seite dauerhaft schnell, sicher und aktuell bleibt.

{hostinglist.map((plan) => { const isHighlighted = plan.highlighted; const price = billing === "monthly" ? plan.priceMonthly : plan.priceYearly; const suffix = billing === "monthly" ? "/ Monat" : "/ Jahr"; return (
{isHighlighted && ( Empfehlung )}

{plan.name}

{plan.description && (

{plan.description}

)}
{priceFormatter.format(price)} € {suffix}

zzgl. gesetzl. Umsatzsteuer

    {plan.features.map((feature) => (
  • {feature}
  • ))}
); })}

Nicht genutzte Zeitkontingente verfallen zum Monatsende. Kündbar zum Ende der jeweiligen Laufzeit.

Für Startups

Ohne Vorabkosten starten.

Als Startup steckt jeder Euro ins Wachstum. Wir übernehmen die Website und finanzieren die Erstellung mit - Sie zahlen von Tag eins nur einen festen Monatspreis.

    {[ "0 € Einmalkosten für die Erstellung", "Klassik-Paket inkl. Hosting, SSL und laufender Pflege", "1 Stunde inhaltliche Betreuung pro Monat inklusive", "Mindestlaufzeit 24 Monate, danach monatlich kündbar", ].map((feature) => (
  • {feature}
  • ))}

Für Unternehmen mit Gründung innerhalb der letzten 3 Jahre. Nachweis über Handelsregister- oder Gewerbeanmeldung.

Startup-Paket

Alles inklusive

Angebot
300 € / Monat

zzgl. gesetzl. Umsatzsteuer

Einmalkosten
0 €
Laufzeit
24 Monate
); };