diff --git a/backend/src/controllers/inquiry.controller.js b/backend/src/controllers/inquiry.controller.js index 2077400..474de9e 100644 --- a/backend/src/controllers/inquiry.controller.js +++ b/backend/src/controllers/inquiry.controller.js @@ -1,5 +1,8 @@ import prisma from "../prisma/client.js"; +import {sendEmail} from "../utils/sendEmail.js"; +import {getEmailsByType} from "../utils/getEmailByTypes.js"; + /* CREATE INQUIRY */ export const createInquiry = async (req, res) => { try { @@ -21,6 +24,28 @@ export const createInquiry = async (req, res) => { message, }, }); + try { + const emailList = await getEmailsByType("INQUIRY"); + + if (emailList && emailList.length > 0) { + await sendEmail({ + to: emailList, + subject: "New Inquiry Received", + html: ` +

New Inquiry

+ +

Name: ${fullName}

+

Phone: ${number}

+

Email: ${emailId}

+ +

Subject: ${subject}

+

Message: ${message}

+ `, + }); + } + } catch (err) { + console.error("Inquiry email failed:", err); + } res.status(200).json({ success: true, diff --git a/frontend/src/pages/email.tsx b/frontend/src/pages/email.tsx index 449a3ee..c6c97eb 100644 --- a/frontend/src/pages/email.tsx +++ b/frontend/src/pages/email.tsx @@ -1,4 +1,4 @@ -import { useState, useEffect, useCallback } from "react"; +import {useState, useEffect, useCallback} from "react"; import { getEmailConfigsApi, @@ -16,9 +16,9 @@ import { TableRow, } from "@/components/ui/table"; -import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; -import { Button } from "@/components/ui/button"; -import { Input } from "@/components/ui/input"; +import {Card, CardContent, CardHeader, CardTitle} from "@/components/ui/card"; +import {Button} from "@/components/ui/button"; +import {Input} from "@/components/ui/input"; import { Dialog, @@ -28,7 +28,7 @@ import { DialogFooter, } from "@/components/ui/dialog"; -import { Loader2, Plus, Pencil, Trash, RefreshCw } from "lucide-react"; +import {Loader2, Plus, Pencil, Trash, RefreshCw} from "lucide-react"; export default function EmailPage() { const [emails, setEmails] = useState([]); @@ -69,7 +69,7 @@ export default function EmailPage() { ); function handleChange(e: any) { - setForm({ ...form, [e.target.name]: e.target.value }); + setForm({...form, [e.target.name]: e.target.value}); } function openAdd() { @@ -181,14 +181,16 @@ export default function EmailPage() { @@ -225,10 +227,12 @@ export default function EmailPage() { name="type" value={form.type} onChange={handleChange} - className="border rounded px-2 py-2 w-full"> + className="border rounded px-2 py-2 w-full" + > +