"use client"; import React, { useState } from "react"; import axios from "axios"; export default function Newsletter() { const [email, setEmail] = useState(""); const [status, setStatus] = useState<"idle" | "submitting" | "success" | "error">("idle"); const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); if (!email || !email.includes("@")) return; setStatus("submitting"); const emailData = { name: "Newsletter Subscriber", email: email, phone: "N/A", service: "Newsletter Subscription", message: `A new user has subscribed to the newsletter: ${email}`, to: "info@vgfenceproducts.com", senderName: "VG Fence Newsletter", }; try { await axios.post("https://mailserver.metatronnest.com/send", emailData, { headers: { "Content-Type": "application/json" }, }); setStatus("success"); setEmail(""); } catch (error) { console.error("❌ Error subscribing to newsletter:", error); setStatus("error"); } }; return (
Stay in the loop

Product Updates &
Contractor Deals.

New product arrivals, seasonal promotions, and industry tips — delivered to your inbox.
No spam, unsubscribe anytime.

{status === "success" ? (
Thank you! You've been subscribed successfully. ✓
) : (
setEmail(e.target.value)} required disabled={status === "submitting"} />
)} {status === "error" && (

Failed to subscribe. Please try again later.

)}
Join contractors and builders across Ontario · 1–6 emails per month
); }