'use client'; import React, { useState } from 'react'; import { RefreshCw, Check, AlertCircle } from 'lucide-react'; import { useRouter } from 'next/navigation'; export default function SyncPaymentsButton() { const [status, setStatus] = useState<'idle' | 'loading' | 'success' | 'error'>('idle'); const [result, setResult] = useState(null); const router = useRouter(); const handleSync = async () => { if (status === 'loading') return; setStatus('loading'); try { const response = await fetch('/api/admin/sync-payments', { method: 'POST' }); const data = await response.json(); if (data.success) { setResult(data); setStatus('success'); router.refresh(); setTimeout(() => setStatus('idle'), 3000); } else { setStatus('error'); } } catch (err) { console.error(err); setStatus('error'); } }; return (
{status === 'success' && result && (
{result.processedCount} İŞLEM TARANDI
)}
); }