This commit is contained in:
Vula Builder
2026-07-29 18:15:22 +00:00
parent 0e37be3da3
commit 9b767dc864
@@ -0,0 +1,62 @@
'use client'
import { useState } from "react"
import { ArrowRight } from 'lucide-react'
import Button from "@/components/ui/Button"
import Input from "@/components/ui/Input"
export default function JoinTheCrewSection() {
const [email, setEmail] = useState("")
const [joined, setJoined] = useState(false)
const handleSubmit = (e: React.FormEvent) => {
e.preventDefault()
if (email) {
setJoined(true)
setTimeout(() => setJoined(false), 4000)
setEmail("")
}
}
return (
<section data-vula-section="jointhecrew" id="newsletter" className="py-20 bg-[#101418] border-t-4 border-[#d4af37]">
<div className="container mx-auto px-4 text-center">
<h2 className="text-4xl font-black uppercase tracking-tight text-white">
Join the <span className="bg-[#d4af37] text-[#101418] px-2">crew</span>
</h2>
<p className="mt-4 text-lg text-white/70 max-w-lg mx-auto">
Be the first to know about fresh drops, members-only prices, and style inspo straight from the kasi.
</p>
{joined ? (
<p className="mt-8 text-[#16a34a] font-bold text-xl">
Yebo! You&apos;re in the crew now. Check your inbox for the welcome hookup.
</p>
) : (
<form onSubmit={handleSubmit} className="mt-8 max-w-md mx-auto flex flex-col sm:flex-row gap-3">
<Input
type="email"
placeholder="your@email.co.za"
value={email}
onChange={(e) => setEmail(e.target.value)}
required
className="flex-1 border-2 border-[#e7eaef] bg-white text-[#101418] placeholder:text-[#101418]/50 px-4 py-3 text-sm"
/>
<Button
type="submit"
variant="default"
size="lg"
className="bg-[#ea580c] hover:bg-[#d4500a] text-white font-bold uppercase tracking-wide shadow-[6px_6px_0_0_#d4af37] shrink-0"
>
Sign up <ArrowRight className="w-4 h-4 ml-2" />
</Button>
</form>
)}
<p className="mt-6 text-sm text-white/40">
No spam, just the good stuff. Unsubscribe anytime.
</p>
</div>
</section>
)
}