'use client' import { CompanyProfile, BusinessModel, OfferingType, BUSINESS_MODEL_LABELS, OFFERING_TYPE_LABELS, } from '@/lib/sdk/types' import { OFFERING_URL_CONFIG } from './constants' export function StepBusinessModel({ data, onChange, }: { data: Partial onChange: (updates: Partial) => void }) { const toggleOffering = (offering: OfferingType) => { const current = data.offerings || [] if (current.includes(offering)) { const urls = { ...(data.offeringUrls || {}) } delete urls[offering] onChange({ offerings: current.filter(o => o !== offering), offeringUrls: urls }) } else { onChange({ offerings: [...current, offering] }) } } const updateOfferingUrl = (offering: string, url: string) => { onChange({ offeringUrls: { ...(data.offeringUrls || {}), [offering]: url } }) } const selectedWithUrls = (data.offerings || []).filter(o => o in OFFERING_URL_CONFIG) return (
{Object.entries(BUSINESS_MODEL_LABELS).map(([value, { short }]) => ( ))}
{data.businessModel && (

{BUSINESS_MODEL_LABELS[data.businessModel].description}

)}
{Object.entries(OFFERING_TYPE_LABELS).map(([value, { label, description }]) => ( ))}
{(data.offerings || []).includes('webshop') && (data.offerings || []).includes('software_saas') && (

Hinweis: Wenn Sie reine Software verkaufen, genuegt SaaS/CloudOnline-Shop ist nur fuer physische Produkte oder Hardware mit Abo-Modell gedacht.

)}
{selectedWithUrls.length > 0 && (
{selectedWithUrls.map(offering => { const config = OFFERING_URL_CONFIG[offering]! return (
updateOfferingUrl(offering, e.target.value)} placeholder={config.placeholder} className="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-purple-500 focus:border-transparent" />

{config.hint}

) })}
)}
) }