'use client'; import * as React from 'react'; import { FormState } from '../types'; import { Checkbox } from '../components/Checkbox'; import { Link2, Globe, Share2, Instagram, Linkedin, Facebook, Twitter, Youtube } from 'lucide-react'; import { motion, AnimatePresence } from 'framer-motion'; import { Reveal } from '../../Reveal'; import { Input } from '../components/Input'; interface PresenceStepProps { state: FormState; updateState: (updates: Partial) => void; toggleItem: (list: string[], id: string) => string[]; } export function PresenceStep({ state, updateState, toggleItem }: PresenceStepProps) { const updateUrl = (id: string, url: string) => { updateState({ socialMediaUrls: { ...state.socialMediaUrls, [id]: url } }); }; const SOCIAL_PLATFORMS = [ { id: 'instagram', label: 'Instagram', icon: Instagram }, { id: 'linkedin', label: 'LinkedIn', icon: Linkedin }, { id: 'facebook', label: 'Facebook', icon: Facebook }, { id: 'twitter', label: 'Twitter / X', icon: Twitter }, { id: 'youtube', label: 'YouTube', icon: Youtube }, ]; return (

Bestehende Website

Optional
updateState({ existingWebsite: e.target.value })} />
updateState({ existingDomain: e.target.value })} /> updateState({ wishedDomain: e.target.value })} />

Social Media Accounts

{SOCIAL_PLATFORMS.map((platform) => { const isSelected = state.socialMedia.includes(platform.id); const Icon = platform.icon; return ( updateState({ socialMedia: toggleItem(state.socialMedia, platform.id) })} className={`flex flex-col items-center gap-4 p-8 rounded-[2.5rem] border-2 transition-all duration-500 ${ isSelected ? 'border-slate-900 bg-slate-900 text-white shadow-2xl shadow-slate-400' : 'border-slate-100 bg-white text-slate-400 hover:border-slate-300 hover:shadow-xl' }`} >
{platform.label}
); })}
{state.socialMedia.map((id) => { const platform = SOCIAL_PLATFORMS.find(p => p.id === id); if (!platform) return null; return (
{platform.label}
updateUrl(id, e.target.value)} className="w-full p-6 pl-40 bg-white border border-slate-100 rounded-[2rem] focus:outline-none focus:border-slate-900 transition-all duration-500 text-lg focus:shadow-xl" /> ); })} {state.socialMedia.length === 0 && (

Wählen Sie oben Ihre Kanäle aus, um die Links hinzuzufügen.

)}
); }