'use client' import { useState, useMemo } from 'react' import { Copy, Check } from 'lucide-react' import { CookieBannerConfig } from '@/lib/sdk/einwilligungen/types' import { generateEmbedCode } from '@/lib/sdk/einwilligungen/generator/cookie-banner' interface EmbedCodeViewerProps { config: CookieBannerConfig | null } export function EmbedCodeViewer({ config }: EmbedCodeViewerProps) { const [activeTab, setActiveTab] = useState<'script' | 'html' | 'css' | 'js'>('script') const [copied, setCopied] = useState(false) const embedCode = useMemo(() => { if (!config) return null return generateEmbedCode(config, '/datenschutz') }, [config]) const copyToClipboard = async (text: string) => { await navigator.clipboard.writeText(text) setCopied(true) setTimeout(() => setCopied(false), 2000) } if (!embedCode) { return (

Embed-Code wird generiert...

) } const tabs = [ { id: 'script', label: 'Script-Tag', content: embedCode.scriptTag }, { id: 'html', label: 'HTML', content: embedCode.html }, { id: 'css', label: 'CSS', content: embedCode.css }, { id: 'js', label: 'JavaScript', content: embedCode.js }, ] as const const currentContent = tabs.find((t) => t.id === activeTab)?.content || '' return (
{tabs.map((tab) => ( ))}
          {currentContent}
        
{activeTab === 'script' && (

Integration: Fuegen Sie den Script-Tag in den{' '} <head> oder vor dem schliessenden{' '} </body>-Tag ein.

)}
) }