import { Logo } from "@/components/ui/logo"; import { Link } from "wouter"; import { useState } from "react"; import { useMutation } from "@tanstack/react-query"; import { apiRequest } from "@/lib/queryClient"; import { useToast } from "@/hooks/use-toast"; import { Loader2 } from "lucide-react"; import SquareLogo from "@assets/PwF Logo (square).png"; export default function Footer() { const currentYear = new Date().getFullYear(); const { toast } = useToast(); const [email, setEmail] = useState(""); const [agreedToTerms, setAgreedToTerms] = useState(false); const newsletterMutation = useMutation({ mutationFn: async (newsletterData: { email: string, agreedToTerms: boolean }) => { const res = await apiRequest("POST", "/api/newsletter", newsletterData); return await res.json(); }, onSuccess: () => { toast({ title: "Subscription successful", description: "Thank you for subscribing to our newsletter!", }); setEmail(""); setAgreedToTerms(false); }, onError: (error: Error) => { toast({ title: "Subscription failed", description: error.message, variant: "destructive", }); }, }); const handleNewsletterSubmit = (e: React.FormEvent) => { e.preventDefault(); if (!email) { toast({ title: "Email required", description: "Please enter your email address", variant: "destructive", }); return; } if (!agreedToTerms) { toast({ title: "Consent required", description: "Please agree to receive emails from Pilates with Fadia", variant: "destructive", }); return; } newsletterMutation.mutate({ email, agreedToTerms }); }; return ( ); }