'use client' import Image from 'next/image' import Link from 'next/link' import { useState } from 'react' import { Button } from '@/components/Button' import { Container } from '@/components/Container' import { TextField } from '@/components/Fields' import { NavLinks } from '@/components/NavLinks' import github from '@/images/github.svg' import logomark from '@/images/logomark.svg' export function Footer() { const [email, setEmail] = useState(''); const [loading, setLoading] = useState(false); const [success, setSuccess] = useState(false); const [message, setMessage] = useState(''); const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); setLoading(true); setSuccess(false); setMessage(''); try { const response = await fetch('/api/subscribe', { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ email }), }); const data = await response.json(); if (!response.ok) { throw new Error(data.error || 'Something went wrong'); } setSuccess(true); setMessage('Thanks for subscribing!'); setEmail(''); } catch (error: any) { setMessage(error.message); } finally { setLoading(false); } }; return ( ) }