'use client' import { useState } from 'react' import { Button } from '@/components/ui/button' import { Input } from '@/components/ui/input' export function WaitlistSection() { const [email, setEmail] = useState('') const [status, setStatus] = useState<'idle' | 'loading' | 'success' | 'error'>('idle') const [message, setMessage] = useState('') const handleSubmit = async (e: React.FormEvent) => { e.preventDefault() setStatus('loading') try { const response = await fetch('/api/waitlist', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ email }), }) const data = await response.json() if (response.ok) { setStatus('success') setMessage('Welcome to the underground. We\'ll reach out when nodes are ready.') setEmail('') } else { setStatus('error') setMessage(data.error || 'Something went wrong. Try again.') } } catch (error) { setStatus('error') setMessage('Connection failed. The network is watching.') } } return (
Join the Underground

Secure Your Node

Exclusive access to the first run of sovereign edge nodes. Add your signal to the network. We'll reach out when devices are ready for pre-order.

setEmail(e.target.value)} required disabled={status === 'loading' || status === 'success'} className="bg-background border-border font-mono" />
{message && (
{message}
)}

Your data is sovereign. Zero-knowledge. Encrypted. Always yours.

) }