"use client"; import * as React from "react"; import Image from "next/image"; import MenuCard from "../components/ui/MenuCard/MenuCard"; import Product from "../../public/batch1/files_list.json"; import { Button } from "../components/ui/button"; import Modal from "../components/Modal/Modal"; import ClientPortal from "@/components/ClientPortal/ClientPortal"; import styles from "@/styles/Home.module.css"; import { Poppins } from "next/font/google"; import { sendEmail } from "./actions/sendEmail"; import { sendEmails } from "@/lib/mail.utils"; const Popp = Poppins({ weight: "400", subsets: ["latin"] }); // improve to drag & drop side cart for more fun export default function Home() { const [email, setEmail] = React.useState(""); const [order, setOrder] = React.useState(""); const [records, setRecords] = React.useState([]); const [formValues, setFormValues] = React.useState({ emails: "", orders: "", }); async function newOrder(event: React.FormEvent) { event.preventDefault(); const formData = new FormData(event.currentTarget); const payload = Object.fromEntries(formData); // console.log(payload) // console.log(JSON.stringify(payload)) // console.log({email:formData.get("email"), order:formData.get("order")}) // Send client email await sendEmail(formData); // Send new order email to self const clientEmail = formData.get('senderEmail') as string // console.log(JSON.stringify({"senderEmail":clientEmail})) await fetch("/api/emails", { method: "POST", headers: { "Content-type": "application/json", }, body: JSON.stringify({"senderEmail":clientEmail}), }) .catch((error) => { console.error(error); }); const response = await fetch("/backend/new-order", { // const response = await fetch("http://localhost:5080/new-order", { method: "POST", headers: { "Content-type": "application/json", }, body: JSON.stringify(payload), }) .then((response) => response.json()) .catch((error) => { console.error(error); }); setRecords([...records, formValues]); setFormValues({ emails: "", orders: "", }); alert("Order Placed! Please check your email.") } return (
{/* Title */}
Kevo's Attire

All sizes - $25

Youth-S/M/L/2XL - Adult-S/M/L/2XL

{/* Body */}
{ // await sendEmail(formData); // }} onSubmit={newOrder} >

Order Form

setEmail(e.target.value)} value={formValues.emails} onChange={(e) => setFormValues({ ...formValues, emails: e.target.value }) } required maxLength={500} placeholder="Your email" name="senderEmail" // name="email" />