'use client' import React from 'react' import { Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter } from '@/components/ui/card' import { Label } from '@/components/ui/label' import { Button } from '@/components/ui/button' import { Input } from '@/components/ui/input' import { CreditCard, Calendar, Check, ChevronLeft, ChevronRight } from 'lucide-react' interface StepBillingProps { selectedBillingInterval: 'one_time' | 'monthly' handleBillingIntervalChange: (val: 'one_time' | 'monthly') => void customerMode: 'select' | 'create' selectedEndCustomerId: string | null lastLicenseDate: string setLastLicenseDate: (date: string) => void prevStep: () => void nextStep: () => void } export function StepBilling({ selectedBillingInterval, handleBillingIntervalChange, customerMode, selectedEndCustomerId, lastLicenseDate, setLastLicenseDate, prevStep, nextStep, }: StepBillingProps) { return ( Abrechnungsmodell wählen Möchten Sie Lizenzen dauerhaft kaufen oder monatlich mieten?
{/* Option 1: Kauf */}
handleBillingIntervalChange('one_time')} className={`relative p-6 rounded-2xl border-2 cursor-pointer transition-all duration-300 flex flex-col justify-between h-48 hover:shadow-[0_0_20px_rgba(255,255,255,0.05)] ${ selectedBillingInterval === 'one_time' ? 'border-primary bg-primary/10 shadow-[0_0_25px_rgba(59,130,246,0.2)]' : 'border-white/5 bg-white/5 hover:border-white/20' }`} >

Einmaliger Kauf

Einmalige Anschaffungskosten für die Softwarelizenz. Keine monatlichen Mietgebühren.

{selectedBillingInterval === 'one_time' && (
)}
{/* Option 2: Abo */}
handleBillingIntervalChange('monthly')} className={`relative p-6 rounded-2xl border-2 cursor-pointer transition-all duration-300 flex flex-col justify-between h-48 hover:shadow-[0_0_20px_rgba(255,255,255,0.05)] ${ selectedBillingInterval === 'monthly' ? 'border-primary bg-primary/10 shadow-[0_0_25px_rgba(59,130,246,0.2)]' : 'border-white/5 bg-white/5 hover:border-white/20' }`} >

Monatliches Abo (Miete)

Laufende monatliche Gebühren. Inklusive aller Updates und flexibler Laufzeit.

{selectedBillingInterval === 'monthly' && (
)}
{selectedBillingInterval === 'one_time' && customerMode === 'select' && selectedEndCustomerId && (
setLastLicenseDate(e.target.value)} className="bg-[#0b1329] border-white/10 text-white focus:border-primary" />

Falls dieser Kunde bereits Lizenzen besitzt, tragen Sie das Datum der letzten Lizenzierung ein. Damit werden die korrekten Update-Gebühren ermittelt.

)}
) }