'use client'; import { useState } from 'react'; import { submitEmail } from '@/lib/actions/waitlistActions'; export const BlogNewsletter = () => { const [email, setEmail] = useState(''); const [status, setStatus] = useState<'idle' | 'loading' | 'success' | 'error'>('idle'); const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); if (!email) return; setStatus('loading'); const result = await submitEmail(email); if (result.success) { setStatus('success'); setEmail(''); } else { setStatus('error'); setTimeout(() => setStatus('idle'), 3000); } }; return (

Subscribe to Banatie

Get the latest articles and updates delivered to your inbox.

setEmail(e.target.value)} placeholder="your@email.com" disabled={status === 'loading' || status === 'success'} className="block w-full rounded-lg border border-white/10 bg-[#0B0F19] py-2 px-3 text-white text-sm placeholder:text-gray-600 focus:border-violet-500 focus:ring-1 focus:ring-violet-500 focus:outline-none disabled:opacity-50" />
); };