This commit is contained in:
Vula Builder
2026-07-27 18:06:16 +00:00
parent 6c91a5bd54
commit 2f12073574
@@ -0,0 +1,57 @@
'use client'
import { useState } from 'react'
import Button from '@/components/ui/Button'
import Input from '@/components/ui/Input'
export default function NewsletterSection() {
const [email, setEmail] = useState('')
const [submitted, setSubmitted] = useState(false)
const handleSubmit = (e: React.FormEvent) => {
e.preventDefault()
if (email) {
setSubmitted(true)
setEmail('')
}
}
return (
<section data-vula-section="newsletter" id="newsletter" className="bg-black border-y-[3px] border-[#16a34a] py-20 px-6">
<div className="max-w-4xl mx-auto text-center">
<h2 className="text-4xl md:text-6xl font-['Archivo_Black'] uppercase text-white mb-4">
Join the{' '}
<span className="text-[#16a34a]">Inner</span> Circle
</h2>
<p className="text-lg md:text-xl font-mono text-[#e7eaef] mb-10 max-w-2xl mx-auto">
First access to drops, secret sales, and street culture. No spam, just the real.
</p>
{submitted ? (
<p className="text-[#16a34a] text-xl font-bold uppercase">
You're in. Check your inbox for the invite.
</p>
) : (
<form onSubmit={handleSubmit} className="flex flex-col sm:flex-row gap-4 max-w-md mx-auto">
<Input
type="email"
placeholder="Your email address"
value={email}
onChange={(e) => setEmail(e.target.value)}
required
className="flex-1 bg-white text-black border-2 border-[#16a34a] placeholder-gray-500 px-4 py-3 text-sm uppercase tracking-wider"
/>
<Button
variant="default"
size="lg"
type="submit"
className="bg-[#16a34a] text-black border-2 border-[#16a34a] shadow-[4px_4px_0_0_white] hover:shadow-[2px_2px_0_0_white] transition-all duration-200 ease-out uppercase tracking-widest text-sm"
>
Join
</Button>
</form>
)}
</div>
</section>
)
}