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: ` +
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