ifixkart-storefront/sections/NewsletterSection.tsx

59 lines
2.7 KiB
TypeScript

"use client";
import React, { useState } from 'react';
import { Send } from 'lucide-react';
import { motion } from 'framer-motion';
export const NewsletterSection: React.FC = () => {
const [email, setEmail] = useState('');
const handleSubscribe = (e: React.FormEvent) => {
e.preventDefault();
if (email.trim()) {
alert(`Thank you for subscribing with: ${email}`);
setEmail('');
}
};
return (
<section className="py-16 bg-primary font-sans text-white relative overflow-hidden">
{/* Decorative background shapes */}
<div className="absolute top-0 left-0 w-64 h-64 bg-blue-500 rounded-full mix-blend-multiply filter blur-3xl opacity-30 -translate-x-1/2 -translate-y-1/2 pointer-events-none" />
<div className="absolute bottom-0 right-0 w-80 h-80 bg-indigo-500 rounded-full mix-blend-multiply filter blur-3xl opacity-30 translate-x-1/3 translate-y-1/3 pointer-events-none" />
<div className="container mx-auto px-4 sm:px-6 lg:px-8 relative z-10">
<div className="max-w-2xl mx-auto text-center flex flex-col items-center">
<span className="text-[10px] font-extrabold uppercase tracking-widest text-blue-100 bg-blue-800/40 px-3 py-1 rounded-full mb-4">
Newsletter Signup
</span>
<h2 className="text-2xl md:text-3xl font-extrabold tracking-tight mb-2 font-outfit">
Subscribe to our Newsletter
</h2>
<p className="text-xs md:text-sm text-blue-100 font-medium max-w-md mb-8 leading-relaxed">
Get the latest tech arrivals, exclusive brand discounts, and weekly hot deal alerts directly in your inbox.
</p>
<form onSubmit={handleSubscribe} className="w-full max-w-md flex flex-col sm:flex-row gap-3">
<input
type="email"
required
placeholder="Your email address..."
value={email}
onChange={(e) => setEmail(e.target.value)}
className="flex-grow px-4 py-3.5 bg-white/10 border border-white/20 hover:border-white/40 focus:border-white rounded-lg text-white placeholder-white/60 focus:outline-none text-xs font-semibold backdrop-blur-sm transition-all"
/>
<motion.button
whileHover={{ scale: 1.03 }}
whileTap={{ scale: 0.97 }}
type="submit"
className="bg-white hover:bg-gray-50 text-primary hover:text-primary-dark font-extrabold text-xs px-8 py-3.5 rounded-lg flex items-center justify-center gap-2 shadow-lg transition-colors"
>
Subscribe
<Send size={13} className="stroke-[2.5]" />
</motion.button>
</form>
</div>
</div>
</section>
);
};