import React, { useState } from 'react'; import { X, AlertTriangle, Loader2 } from 'lucide-react'; import { cancelSubscription } from '../services/account'; /** * Abonelik iptali — nedeni sorar, dönem sonunda iptal eder. * Erişim ödenen sürenin sonuna kadar sürer; anında kesilmez. */ export const CancelSubscriptionModal = ({ planAdi, nedenler = [], onKapat, onIptalEdildi }) => { const [neden, setNeden] = useState(''); const [aciklama, setAciklama] = useState(''); const [busy, setBusy] = useState(false); const [hata, setHata] = useState(null); // "Diğer" seçildiyse açıklama zorunlu — yoksa geri bildirim işe yaramaz. const digerSecili = neden === 'other'; const gonderilebilir = Boolean(neden) && (!digerSecili || aciklama.trim().length >= 3); const gonder = async () => { setBusy(true); setHata(null); try { const out = await cancelSubscription(neden, aciklama.trim()); onIptalEdildi(out); } catch (e) { setHata(e.message || 'İptal edilemedi'); } finally { setBusy(false); } }; return (

Aboneliği iptal et

{planAdi} planınız dönem sonunda sona erer. Ödediğiniz sürenin sonuna kadar tüm özellikler açık kalır, yenileme yapılmaz.

Ayrılma nedeniniz nedir? *

{nedenler.map((n) => ( ))}