'use client' import { useState, useRef } from 'react' import { useRouter } from '@/i18n/routing' import { saveWidgetPartnerAction } from '@/app/actions' import { CheckCircle, XCircle, ArrowLeft, Copy, Code } from 'lucide-react' import { Link } from '@/i18n/routing' import { WidgetPartner } from '@prisma/client' type Neighborhood = { id: string slug: string nameTr: string } export default function WidgetPartnerForm({ partner, neighborhoods, locale }: { partner: WidgetPartner | null neighborhoods: Neighborhood[] locale: string }) { const router = useRouter() const [error, setError] = useState('') const [loading, setLoading] = useState(false) const [copied, setCopied] = useState(false) const formRef = useRef(null) const isEditing = !!partner const [isHidden, setIsHidden] = useState(partner ? Boolean((partner as any).isHidden) : false) const [selectedNeighborhood, setSelectedNeighborhood] = useState(partner?.neighborhoodSlug || '') const embedCode = partner ? [ '', '', '' ].filter(Boolean).join('\n') : '' const handleCopy = () => { if (embedCode) { navigator.clipboard.writeText(embedCode) setCopied(true) setTimeout(() => setCopied(false), 2000) } } const handleSubmit = async (e: React.FormEvent) => { e.preventDefault() setError('') setLoading(true) if (!formRef.current) return try { const formData = new FormData(formRef.current) const result = await saveWidgetPartnerAction(formData) if (result.error) { setError(result.error) } else { router.push('/admin/widget-partners') router.refresh() } } catch (err: any) { setError(err.message || 'Bir hata oluştu') } finally { setLoading(false) } } return (

{isEditing ? 'widget partneri düzenle' : 'yeni widget partneri'}

Harici web sitesi bilgilerini girin ve embed kodunu alın.

{isEditing && (

Widget Embed Kodu

Aşağıdaki kodu kopyalayarak partnerin web sitesine yerleştirin. Bu kod, sitenizden backlink almayı sağlar.

            {embedCode}
          
)}
{error && (
{error}
)}

Eğer seçilirse widget sadece o bölgedeki mekanları gösterir.

{isEditing && ( )}
) }