From 30c3e8c744802c648bea49e5d80fe3c3ceb521a3 Mon Sep 17 00:00:00 2001
From: ManpreetSingh18 <72294811+ManpreetSingh18@users.noreply.github.com>
Date: Thu, 20 Jun 2024 10:14:16 +0530
Subject: [PATCH 1/3] feat:Adding Contact Us page Fontend+Backend
---
Backend/controllers/contactController.js | 14 +++
Backend/models/contactModel.js | 9 ++
Backend/routes/contactRoute.js | 8 ++
Backend/server.js | 2 +
Client/src/App.jsx | 2 +
Client/src/components/HeaderComponent.jsx | 9 ++
Client/src/pages/ContactUs.jsx | 102 ++++++++++++++++++++++
7 files changed, 146 insertions(+)
create mode 100644 Backend/controllers/contactController.js
create mode 100644 Backend/models/contactModel.js
create mode 100644 Backend/routes/contactRoute.js
create mode 100644 Client/src/pages/ContactUs.jsx
diff --git a/Backend/controllers/contactController.js b/Backend/controllers/contactController.js
new file mode 100644
index 0000000..81a4031
--- /dev/null
+++ b/Backend/controllers/contactController.js
@@ -0,0 +1,14 @@
+const Contact = require("../models/contactModel");
+
+const contactForm = async (req, res) => {
+ try {
+ const response = req.body;
+ await Contact.create(response);
+ return res.status(200).json({ message: "message send successfully" });
+ } catch (error) {
+ console.error(error);
+ return res.status(500).json({ message: "message not delivered" });
+ }
+};
+
+module.exports = contactForm;
\ No newline at end of file
diff --git a/Backend/models/contactModel.js b/Backend/models/contactModel.js
new file mode 100644
index 0000000..0dd951e
--- /dev/null
+++ b/Backend/models/contactModel.js
@@ -0,0 +1,9 @@
+const { Schema, model } = require("mongoose");
+const contactSchema = new Schema({
+ username: { type: String, required: true },
+ email: { type: String, required: true },
+ message: { type: String, required: true },
+});
+// create a new collections(Model)
+const Contact = new model("Contact", contactSchema);
+module.exports = Contact;
diff --git a/Backend/routes/contactRoute.js b/Backend/routes/contactRoute.js
new file mode 100644
index 0000000..3410295
--- /dev/null
+++ b/Backend/routes/contactRoute.js
@@ -0,0 +1,8 @@
+const express = require("express");
+const router = express.Router();
+
+const contactForm = require("../controllers/contactController");
+
+router.route("/contactus").post(contactForm);
+
+module.exports = router;
\ No newline at end of file
diff --git a/Backend/server.js b/Backend/server.js
index 4263d3d..6003f4d 100644
--- a/Backend/server.js
+++ b/Backend/server.js
@@ -12,6 +12,7 @@ const cookieParser = require("cookie-parser")
const fileUpload = require("express-fileupload")
const cors = require('cors');
const session = require("express-session");
+const contactRoute = require("./routes/contactRoute");
// middleware to recognize the body by express
app.use(express.json())
@@ -68,6 +69,7 @@ app.get('/', (req, res) => {
})
app.use('/api', apiRoutes)
+app.use("/api/form", contactRoute);
app.use((error, req, res, next) => {
if (process.env.NODE_ENV === 'development') {
diff --git a/Client/src/App.jsx b/Client/src/App.jsx
index f2faddf..afda192 100644
--- a/Client/src/App.jsx
+++ b/Client/src/App.jsx
@@ -12,6 +12,7 @@ import BlogSpecificPage from './pages/BlogSpecificPage'
import ProtectedRoutesComponent from './components/ProtectedRoutesComponent'
import SpeedDialComponent from './components/SpeedDialComponente'
import CreatePostPage from './pages/CreatePostPage'
+import ContactUsPage from './pages/ContactUs'
import { useState } from 'react'
import NotFoundPage from './pages/404Page'
import Profile from './pages/Profile'
@@ -42,6 +43,7 @@ function App() {
} />
} />
} />
+ } />
}>
} />
} />
diff --git a/Client/src/components/HeaderComponent.jsx b/Client/src/components/HeaderComponent.jsx
index bae4473..c6da701 100644
--- a/Client/src/components/HeaderComponent.jsx
+++ b/Client/src/components/HeaderComponent.jsx
@@ -97,6 +97,15 @@ const HeaderComponent = () => {
SECURITY
+
+
+
+ CONTACT US
+
+
diff --git a/Client/src/pages/ContactUs.jsx b/Client/src/pages/ContactUs.jsx
new file mode 100644
index 0000000..a3d06e2
--- /dev/null
+++ b/Client/src/pages/ContactUs.jsx
@@ -0,0 +1,102 @@
+import { useState } from "react";
+import React from "react";
+import { Form, Button, Container, Row, Col } from "react-bootstrap";
+
+const defaultContactFormData = {
+ username: "",
+ email: "",
+ message: "",
+};
+
+function ContactUs() {
+ const [data, setData] = useState(defaultContactFormData);
+
+ const handleChange = (e) => {
+ const { name, value } = e.target;
+ setData((prevData) => ({
+ ...prevData,
+ [name]: value,
+ }));
+ };
+
+ const handleSubmit = async (e) => {
+ e.preventDefault();
+ try {
+ const response = await fetch("http://localhost:3000/api/form/contactus", {
+ method: "POST",
+ headers: {
+ "Content-Type": "application/json",
+ },
+ body: JSON.stringify(data),
+ });
+
+ console.log("response: ", response);
+ // alert(response);
+
+ if (response.ok) {
+ setData(defaultContactFormData);
+ const responseData = await response.json();
+ alert("Form Submitted Successfully");
+ //console.log(responseData);
+ } else {
+ // Handle API error here
+ console.error("API Error:", response.status, response.statusText);
+ }
+ } catch (error) {
+ console.error(error);
+ }
+ };
+
+ return (
+
+
+
+
+
Contact Us
+
+ Name
+
+
+
+
+ Email address
+
+
+
+
+ Message
+
+
+
+
+
+
+
+
+
+ );
+}
+
+export default ContactUs;
From fbc06ab9e6e9b2ce77d1512b5b357477698ab05f Mon Sep 17 00:00:00 2001
From: ManpreetSingh18 <72294811+ManpreetSingh18@users.noreply.github.com>
Date: Sun, 14 Jul 2024 19:38:41 +0530
Subject: [PATCH 2/3] image added
---
Client/package-lock.json | 382 ++++++++++++++++-----------------
Client/package.json | 2 +-
Client/src/pages/ContactUs.jsx | 106 +++++----
3 files changed, 252 insertions(+), 238 deletions(-)
diff --git a/Client/package-lock.json b/Client/package-lock.json
index 31ccc49..5fa5a09 100644
--- a/Client/package-lock.json
+++ b/Client/package-lock.json
@@ -21,7 +21,7 @@
"cookie-parser": "^1.4.6",
"dateformat": "^5.0.3",
"dompurify": "^3.0.5",
- "firebase": "^10.12.2",
+ "firebase": "^10.12.3",
"hamburger-react": "^2.5.0",
"html-react-parser": "^4.2.1",
"html-to-text": "^9.0.5",
@@ -755,14 +755,14 @@
}
},
"node_modules/@firebase/analytics": {
- "version": "0.10.4",
- "resolved": "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.10.4.tgz",
- "integrity": "sha512-OJEl/8Oye/k+vJ1zV/1L6eGpc1XzAj+WG2TPznJ7PszL7sOFLBXkL9IjHfOCGDGpXeO3btozy/cYUqv4zgNeHg==",
+ "version": "0.10.5",
+ "resolved": "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.10.5.tgz",
+ "integrity": "sha512-d0X2ksTOKHMf5zFAMKFZWXa8hSbgohsG507xFsGhF4Uet2b8uEUL/YLrEth67jXEbGEi1UQZX4AaGBxKNiDzjw==",
"dependencies": {
- "@firebase/component": "0.6.7",
- "@firebase/installations": "0.6.7",
+ "@firebase/component": "0.6.8",
+ "@firebase/installations": "0.6.8",
"@firebase/logger": "0.4.2",
- "@firebase/util": "1.9.6",
+ "@firebase/util": "1.9.7",
"tslib": "^2.1.0"
},
"peerDependencies": {
@@ -770,14 +770,14 @@
}
},
"node_modules/@firebase/analytics-compat": {
- "version": "0.2.10",
- "resolved": "https://registry.npmjs.org/@firebase/analytics-compat/-/analytics-compat-0.2.10.tgz",
- "integrity": "sha512-ia68RcLQLLMFWrM10JfmFod7eJGwqr4/uyrtzHpTDnxGX/6gNCBTOuxdAbyWIqXI5XmcMQdz9hDijGKOHgDfPw==",
+ "version": "0.2.11",
+ "resolved": "https://registry.npmjs.org/@firebase/analytics-compat/-/analytics-compat-0.2.11.tgz",
+ "integrity": "sha512-wmXxJ49pEY7H549Pa4CDPOTzkPJnfG2Yolptg72ntTgSrbKVq+Eg9cAQY6Z5Kn9ATSQRX5oGXKlNfEk5DJBvvA==",
"dependencies": {
- "@firebase/analytics": "0.10.4",
+ "@firebase/analytics": "0.10.5",
"@firebase/analytics-types": "0.8.2",
- "@firebase/component": "0.6.7",
- "@firebase/util": "1.9.6",
+ "@firebase/component": "0.6.8",
+ "@firebase/util": "1.9.7",
"tslib": "^2.1.0"
},
"peerDependencies": {
@@ -790,25 +790,25 @@
"integrity": "sha512-EnzNNLh+9/sJsimsA/FGqzakmrAUKLeJvjRHlg8df1f97NLUlFidk9600y0ZgWOp3CAxn6Hjtk+08tixlUOWyw=="
},
"node_modules/@firebase/app": {
- "version": "0.10.5",
- "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.10.5.tgz",
- "integrity": "sha512-iY/fNot+hWPk9sTX8aHMqlcX9ynRvpGkskWAdUZ2eQQdLo8d1hSFYcYNwPv0Q/frGMasw8udKWMcFOEpC9fG8g==",
+ "version": "0.10.6",
+ "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.10.6.tgz",
+ "integrity": "sha512-/r8Ikp7TOrIIdp7v2adD2kg9SqIXMGOoJXJB1HsX7LjpjWdsoy1fMkP0HlI7GQqqRxDueHNhETx5Zn5E8HyVAQ==",
"dependencies": {
- "@firebase/component": "0.6.7",
+ "@firebase/component": "0.6.8",
"@firebase/logger": "0.4.2",
- "@firebase/util": "1.9.6",
+ "@firebase/util": "1.9.7",
"idb": "7.1.1",
"tslib": "^2.1.0"
}
},
"node_modules/@firebase/app-check": {
- "version": "0.8.4",
- "resolved": "https://registry.npmjs.org/@firebase/app-check/-/app-check-0.8.4.tgz",
- "integrity": "sha512-2tjRDaxcM5G7BEpytiDcIl+NovV99q8yEqRMKDbn4J4i/XjjuThuB4S+4PkmTnZiCbdLXQiBhkVxNlUDcfog5Q==",
+ "version": "0.8.5",
+ "resolved": "https://registry.npmjs.org/@firebase/app-check/-/app-check-0.8.5.tgz",
+ "integrity": "sha512-WyIckkVYAfnzsPIw6EAt/qBUANkUAVl6irF0xuJ1R9ISNyUT1h7dPAwvs/g3rsx0fpBWaHRAH0IFiN6zO6yLqQ==",
"dependencies": {
- "@firebase/component": "0.6.7",
+ "@firebase/component": "0.6.8",
"@firebase/logger": "0.4.2",
- "@firebase/util": "1.9.6",
+ "@firebase/util": "1.9.7",
"tslib": "^2.1.0"
},
"peerDependencies": {
@@ -816,15 +816,15 @@
}
},
"node_modules/@firebase/app-check-compat": {
- "version": "0.3.11",
- "resolved": "https://registry.npmjs.org/@firebase/app-check-compat/-/app-check-compat-0.3.11.tgz",
- "integrity": "sha512-t01zaH3RJpKEey0nGduz3Is+uSz7Sj4U5nwOV6lWb+86s5xtxpIvBJzu/lKxJfYyfZ29eJwpdjEgT1/lm4iQyA==",
+ "version": "0.3.12",
+ "resolved": "https://registry.npmjs.org/@firebase/app-check-compat/-/app-check-compat-0.3.12.tgz",
+ "integrity": "sha512-p/5w3pMih3JVT6u7g04KXgSZr6HDsQXyeWZkIe0+r71dPOlcKyUooe9/feTc8BWpjha3rUOkqQ7+JXZObwvYoQ==",
"dependencies": {
- "@firebase/app-check": "0.8.4",
+ "@firebase/app-check": "0.8.5",
"@firebase/app-check-types": "0.5.2",
- "@firebase/component": "0.6.7",
+ "@firebase/component": "0.6.8",
"@firebase/logger": "0.4.2",
- "@firebase/util": "1.9.6",
+ "@firebase/util": "1.9.7",
"tslib": "^2.1.0"
},
"peerDependencies": {
@@ -842,14 +842,14 @@
"integrity": "sha512-FSOEzTzL5bLUbD2co3Zut46iyPWML6xc4x+78TeaXMSuJap5QObfb+rVvZJtla3asN4RwU7elaQaduP+HFizDA=="
},
"node_modules/@firebase/app-compat": {
- "version": "0.2.35",
- "resolved": "https://registry.npmjs.org/@firebase/app-compat/-/app-compat-0.2.35.tgz",
- "integrity": "sha512-vgay/WRjeH0r97/Q6L6df2CMx7oyNFDsE5yPQ9oR1G+zx2eT0s8vNNh0WlKqQxUEWaOLRnXhQ8gy7uu0cBgTRg==",
+ "version": "0.2.36",
+ "resolved": "https://registry.npmjs.org/@firebase/app-compat/-/app-compat-0.2.36.tgz",
+ "integrity": "sha512-qsf+pllpgy1IGe2f5vfenOHSX8Cs58sVR5L6h/zBlNy9Yo54B2jy61KxLpSOgyRZb18IlnLLGjo7VtGU1CHvHA==",
"dependencies": {
- "@firebase/app": "0.10.5",
- "@firebase/component": "0.6.7",
+ "@firebase/app": "0.10.6",
+ "@firebase/component": "0.6.8",
"@firebase/logger": "0.4.2",
- "@firebase/util": "1.9.6",
+ "@firebase/util": "1.9.7",
"tslib": "^2.1.0"
}
},
@@ -859,13 +859,13 @@
"integrity": "sha512-oMEZ1TDlBz479lmABwWsWjzHwheQKiAgnuKxE0pz0IXCVx7/rtlkx1fQ6GfgK24WCrxDKMplZrT50Kh04iMbXQ=="
},
"node_modules/@firebase/auth": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-1.7.4.tgz",
- "integrity": "sha512-d2Fw17s5QesojwebrA903el20Li9/YGgkoOGJjagM4I1qAT36APa/FcZ+OX86KxbYKCtQKTMqraU8pxG7C2JWA==",
+ "version": "1.7.5",
+ "resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-1.7.5.tgz",
+ "integrity": "sha512-DMFR1OA/f1/voeuFbSORg9AP36pMgOoSb/DRgiDalLmIJsDTlQNMCu+givjMP4s/XL85+tBk2MerYnK/AscJjw==",
"dependencies": {
- "@firebase/component": "0.6.7",
+ "@firebase/component": "0.6.8",
"@firebase/logger": "0.4.2",
- "@firebase/util": "1.9.6",
+ "@firebase/util": "1.9.7",
"tslib": "^2.1.0",
"undici": "5.28.4"
},
@@ -880,14 +880,14 @@
}
},
"node_modules/@firebase/auth-compat": {
- "version": "0.5.9",
- "resolved": "https://registry.npmjs.org/@firebase/auth-compat/-/auth-compat-0.5.9.tgz",
- "integrity": "sha512-RX8Zh/3zz2CsVbmYfgHkfUm4fAEPCl+KHVIImNygV5jTGDF6oKOhBIpf4Yigclyu8ESQKZ4elyN0MBYm9/7zGw==",
+ "version": "0.5.10",
+ "resolved": "https://registry.npmjs.org/@firebase/auth-compat/-/auth-compat-0.5.10.tgz",
+ "integrity": "sha512-epDhgNIXmhl9DPuTW9Ec5NDJJKMFIdXBXiQI9O0xNHveow/ETtBCY86srzF7iCacqsd30CcpLwwXlhk8Y19Olg==",
"dependencies": {
- "@firebase/auth": "1.7.4",
+ "@firebase/auth": "1.7.5",
"@firebase/auth-types": "0.12.2",
- "@firebase/component": "0.6.7",
- "@firebase/util": "1.9.6",
+ "@firebase/component": "0.6.8",
+ "@firebase/util": "1.9.7",
"tslib": "^2.1.0",
"undici": "5.28.4"
},
@@ -910,59 +910,59 @@
}
},
"node_modules/@firebase/component": {
- "version": "0.6.7",
- "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.6.7.tgz",
- "integrity": "sha512-baH1AA5zxfaz4O8w0vDwETByrKTQqB5CDjRls79Sa4eAGAoERw4Tnung7XbMl3jbJ4B/dmmtsMrdki0KikwDYA==",
+ "version": "0.6.8",
+ "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.6.8.tgz",
+ "integrity": "sha512-LcNvxGLLGjBwB0dJUsBGCej2fqAepWyBubs4jt1Tiuns7QLbXHuyObZ4aMeBjZjWx4m8g1LoVI9QFpSaq/k4/g==",
"dependencies": {
- "@firebase/util": "1.9.6",
+ "@firebase/util": "1.9.7",
"tslib": "^2.1.0"
}
},
"node_modules/@firebase/database": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/@firebase/database/-/database-1.0.5.tgz",
- "integrity": "sha512-cAfwBqMQuW6HbhwI3Cb/gDqZg7aR0OmaJ85WUxlnoYW2Tm4eR0hFl5FEijI3/gYPUiUcUPQvTkGV222VkT7KPw==",
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/@firebase/database/-/database-1.0.6.tgz",
+ "integrity": "sha512-nrexUEG/fpVlHtWKkyfhTC3834kZ1WS7voNyqbBsBCqHXQOvznN5Z0L3nxBqdXSJyltNAf4ndFlQqm5gZiEczQ==",
"dependencies": {
"@firebase/app-check-interop-types": "0.3.2",
"@firebase/auth-interop-types": "0.2.3",
- "@firebase/component": "0.6.7",
+ "@firebase/component": "0.6.8",
"@firebase/logger": "0.4.2",
- "@firebase/util": "1.9.6",
+ "@firebase/util": "1.9.7",
"faye-websocket": "0.11.4",
"tslib": "^2.1.0"
}
},
"node_modules/@firebase/database-compat": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/@firebase/database-compat/-/database-compat-1.0.5.tgz",
- "integrity": "sha512-NDSMaDjQ+TZEMDMmzJwlTL05kh1+0Y84C+kVMaOmNOzRGRM7VHi29I6YUhCetXH+/b1Wh4ZZRyp1CuWkd8s6hg==",
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/@firebase/database-compat/-/database-compat-1.0.6.tgz",
+ "integrity": "sha512-1OGA0sLY47mkXjhICCrUTXEYFnSSXoiXWm1SHsN62b+Lzs5aKA3aWTjTUmYIoK93kDAMPkYpulSv8jcbH4Hwew==",
"dependencies": {
- "@firebase/component": "0.6.7",
- "@firebase/database": "1.0.5",
- "@firebase/database-types": "1.0.3",
+ "@firebase/component": "0.6.8",
+ "@firebase/database": "1.0.6",
+ "@firebase/database-types": "1.0.4",
"@firebase/logger": "0.4.2",
- "@firebase/util": "1.9.6",
+ "@firebase/util": "1.9.7",
"tslib": "^2.1.0"
}
},
"node_modules/@firebase/database-types": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/@firebase/database-types/-/database-types-1.0.3.tgz",
- "integrity": "sha512-39V/Riv2R3O/aUjYKh0xypj7NTNXNAK1bcgY5Kx+hdQPRS/aPTS8/5c0CGFYKgVuFbYlnlnhrCTYsh2uNhGwzA==",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/@firebase/database-types/-/database-types-1.0.4.tgz",
+ "integrity": "sha512-mz9ZzbH6euFXbcBo+enuJ36I5dR5w+enJHHjy9Y5ThCdKUseqfDjW3vCp1YxE9zygFCSjJJ/z1cQ+zodvUcwPQ==",
"dependencies": {
"@firebase/app-types": "0.9.2",
- "@firebase/util": "1.9.6"
+ "@firebase/util": "1.9.7"
}
},
"node_modules/@firebase/firestore": {
- "version": "4.6.3",
- "resolved": "https://registry.npmjs.org/@firebase/firestore/-/firestore-4.6.3.tgz",
- "integrity": "sha512-d/+N2iUsiJ/Dc7fApdpdmmTXzwuTCromsdA1lKwYfZtMIOd1fI881NSLwK2wV4I38wkLnvfKJUV6WpU1f3/ONg==",
+ "version": "4.6.4",
+ "resolved": "https://registry.npmjs.org/@firebase/firestore/-/firestore-4.6.4.tgz",
+ "integrity": "sha512-vk2MoH5HxYEhiNg1l+yBXq1Fkhue/11bFg4HdlTv6BJHcTnnAj2a+/afPpatcW4MOdYA3Tv+d5nGzWbbOC1SHw==",
"dependencies": {
- "@firebase/component": "0.6.7",
+ "@firebase/component": "0.6.8",
"@firebase/logger": "0.4.2",
- "@firebase/util": "1.9.6",
- "@firebase/webchannel-wrapper": "1.0.0",
+ "@firebase/util": "1.9.7",
+ "@firebase/webchannel-wrapper": "1.0.1",
"@grpc/grpc-js": "~1.9.0",
"@grpc/proto-loader": "^0.7.8",
"tslib": "^2.1.0",
@@ -976,14 +976,14 @@
}
},
"node_modules/@firebase/firestore-compat": {
- "version": "0.3.32",
- "resolved": "https://registry.npmjs.org/@firebase/firestore-compat/-/firestore-compat-0.3.32.tgz",
- "integrity": "sha512-at71mwK7a/mUXH0OgyY0+gUzedm/EUydDFYSFsBoO8DYowZ23Mgd6P4Rzq/Ll3zI/3xJN7LGe7Qp4iE/V/3Arg==",
+ "version": "0.3.33",
+ "resolved": "https://registry.npmjs.org/@firebase/firestore-compat/-/firestore-compat-0.3.33.tgz",
+ "integrity": "sha512-i42a2l31N95CwYEB7zmfK0FS1mrO6pwOLwxavCrwu1BCFrVVVQhUheTPIda/iGguK/2Nog0RaIR1bo7QkZEz3g==",
"dependencies": {
- "@firebase/component": "0.6.7",
- "@firebase/firestore": "4.6.3",
+ "@firebase/component": "0.6.8",
+ "@firebase/firestore": "4.6.4",
"@firebase/firestore-types": "3.0.2",
- "@firebase/util": "1.9.6",
+ "@firebase/util": "1.9.7",
"tslib": "^2.1.0"
},
"peerDependencies": {
@@ -1000,15 +1000,15 @@
}
},
"node_modules/@firebase/functions": {
- "version": "0.11.5",
- "resolved": "https://registry.npmjs.org/@firebase/functions/-/functions-0.11.5.tgz",
- "integrity": "sha512-qrHJ+l62mZiU5UZiVi84t/iLXZlhRuSvBQsa2qvNLgPsEWR7wdpWhRmVdB7AU8ndkSHJjGlMICqrVnz47sgU7Q==",
+ "version": "0.11.6",
+ "resolved": "https://registry.npmjs.org/@firebase/functions/-/functions-0.11.6.tgz",
+ "integrity": "sha512-GPfIBPtpwQvsC7SQbgaUjLTdja0CsNwMoKSgrzA1FGGRk4NX6qO7VQU6XCwBiAFWbpbQex6QWkSMsCzLx1uibQ==",
"dependencies": {
"@firebase/app-check-interop-types": "0.3.2",
"@firebase/auth-interop-types": "0.2.3",
- "@firebase/component": "0.6.7",
+ "@firebase/component": "0.6.8",
"@firebase/messaging-interop-types": "0.2.2",
- "@firebase/util": "1.9.6",
+ "@firebase/util": "1.9.7",
"tslib": "^2.1.0",
"undici": "5.28.4"
},
@@ -1017,14 +1017,14 @@
}
},
"node_modules/@firebase/functions-compat": {
- "version": "0.3.11",
- "resolved": "https://registry.npmjs.org/@firebase/functions-compat/-/functions-compat-0.3.11.tgz",
- "integrity": "sha512-Qn+ts/M6Lj2/6i1cp5V5TRR+Hi9kyXyHbo+w9GguINJ87zxrCe6ulx3TI5AGQkoQa8YFHUhT3DMGmLFiJjWTSQ==",
+ "version": "0.3.12",
+ "resolved": "https://registry.npmjs.org/@firebase/functions-compat/-/functions-compat-0.3.12.tgz",
+ "integrity": "sha512-r3XUb5VlITWpML46JymfJPkK6I9j4SNlO7qWIXUc0TUmkv0oAfVoiIt1F83/NuMZXaGr4YWA/794nVSy4GV8tw==",
"dependencies": {
- "@firebase/component": "0.6.7",
- "@firebase/functions": "0.11.5",
+ "@firebase/component": "0.6.8",
+ "@firebase/functions": "0.11.6",
"@firebase/functions-types": "0.6.2",
- "@firebase/util": "1.9.6",
+ "@firebase/util": "1.9.7",
"tslib": "^2.1.0"
},
"peerDependencies": {
@@ -1037,12 +1037,12 @@
"integrity": "sha512-0KiJ9lZ28nS2iJJvimpY4nNccV21rkQyor5Iheu/nq8aKXJqtJdeSlZDspjPSBBiHRzo7/GMUttegnsEITqR+w=="
},
"node_modules/@firebase/installations": {
- "version": "0.6.7",
- "resolved": "https://registry.npmjs.org/@firebase/installations/-/installations-0.6.7.tgz",
- "integrity": "sha512-i6iGoXRu5mX4rTsiMSSKrgh9pSEzD4hwBEzRh5kEhOTr8xN/wvQcCPZDSMVYKwM2XyCPBLVq0JzjyerwL0Rihg==",
+ "version": "0.6.8",
+ "resolved": "https://registry.npmjs.org/@firebase/installations/-/installations-0.6.8.tgz",
+ "integrity": "sha512-57V374qdb2+wT5v7+ntpLXBjZkO6WRgmAUbVkRfFTM/4t980p0FesbqTAcOIiM8U866UeuuuF8lYH70D3jM/jQ==",
"dependencies": {
- "@firebase/component": "0.6.7",
- "@firebase/util": "1.9.6",
+ "@firebase/component": "0.6.8",
+ "@firebase/util": "1.9.7",
"idb": "7.1.1",
"tslib": "^2.1.0"
},
@@ -1051,14 +1051,14 @@
}
},
"node_modules/@firebase/installations-compat": {
- "version": "0.2.7",
- "resolved": "https://registry.npmjs.org/@firebase/installations-compat/-/installations-compat-0.2.7.tgz",
- "integrity": "sha512-RPcbD+3nqHbnhVjIOpWK2H5qzZ8pAAAScceiWph0VNTqpKyPQ5tDcp4V5fS0ELpfgsHYvroMLDKfeHxpfvm8cw==",
+ "version": "0.2.8",
+ "resolved": "https://registry.npmjs.org/@firebase/installations-compat/-/installations-compat-0.2.8.tgz",
+ "integrity": "sha512-pI2q8JFHB7yIq/szmhzGSWXtOvtzl6tCUmyykv5C8vvfOVJUH6mP4M4iwjbK8S1JotKd/K70+JWyYlxgQ0Kpyw==",
"dependencies": {
- "@firebase/component": "0.6.7",
- "@firebase/installations": "0.6.7",
+ "@firebase/component": "0.6.8",
+ "@firebase/installations": "0.6.8",
"@firebase/installations-types": "0.5.2",
- "@firebase/util": "1.9.6",
+ "@firebase/util": "1.9.7",
"tslib": "^2.1.0"
},
"peerDependencies": {
@@ -1082,14 +1082,14 @@
}
},
"node_modules/@firebase/messaging": {
- "version": "0.12.9",
- "resolved": "https://registry.npmjs.org/@firebase/messaging/-/messaging-0.12.9.tgz",
- "integrity": "sha512-IH+JJmzbFGZXV3+TDyKdqqKPVfKRqBBg2BfYYOy7cm7J+SwV+uJMe8EnDKYeQLEQhtpwciPfJ3qQXJs2lbxDTw==",
+ "version": "0.12.10",
+ "resolved": "https://registry.npmjs.org/@firebase/messaging/-/messaging-0.12.10.tgz",
+ "integrity": "sha512-fGbxJPKpl2DIKNJGhbk4mYPcM+qE2gl91r6xPoiol/mN88F5Ym6UeRdMVZah+pijh9WxM55alTYwXuW40r1Y2Q==",
"dependencies": {
- "@firebase/component": "0.6.7",
- "@firebase/installations": "0.6.7",
+ "@firebase/component": "0.6.8",
+ "@firebase/installations": "0.6.8",
"@firebase/messaging-interop-types": "0.2.2",
- "@firebase/util": "1.9.6",
+ "@firebase/util": "1.9.7",
"idb": "7.1.1",
"tslib": "^2.1.0"
},
@@ -1098,13 +1098,13 @@
}
},
"node_modules/@firebase/messaging-compat": {
- "version": "0.2.9",
- "resolved": "https://registry.npmjs.org/@firebase/messaging-compat/-/messaging-compat-0.2.9.tgz",
- "integrity": "sha512-5jN6wyhwPgBH02zOtmmoOeyfsmoD7ty48D1m0vVPsFg55RqN2Z3Q9gkZ5GmPklFPjTPLcxB1ObcHOZvThTkm7g==",
+ "version": "0.2.10",
+ "resolved": "https://registry.npmjs.org/@firebase/messaging-compat/-/messaging-compat-0.2.10.tgz",
+ "integrity": "sha512-FXQm7rcowkDm8kFLduHV35IRYCRo+Ng0PIp/t1+EBuEbyplaKkGjZ932pE+owf/XR+G/60ku2QRBptRGLXZydg==",
"dependencies": {
- "@firebase/component": "0.6.7",
- "@firebase/messaging": "0.12.9",
- "@firebase/util": "1.9.6",
+ "@firebase/component": "0.6.8",
+ "@firebase/messaging": "0.12.10",
+ "@firebase/util": "1.9.7",
"tslib": "^2.1.0"
},
"peerDependencies": {
@@ -1117,14 +1117,14 @@
"integrity": "sha512-l68HXbuD2PPzDUOFb3aG+nZj5KA3INcPwlocwLZOzPp9rFM9yeuI9YLl6DQfguTX5eAGxO0doTR+rDLDvQb5tA=="
},
"node_modules/@firebase/performance": {
- "version": "0.6.7",
- "resolved": "https://registry.npmjs.org/@firebase/performance/-/performance-0.6.7.tgz",
- "integrity": "sha512-d+Q4ltjdJZqjzcdms5i0UC9KLYX7vKGcygZ+7zHA/Xk+bAbMD2CPU0nWTnlNFWifZWIcXZ/2mAMvaGMW3lypUA==",
+ "version": "0.6.8",
+ "resolved": "https://registry.npmjs.org/@firebase/performance/-/performance-0.6.8.tgz",
+ "integrity": "sha512-F+alziiIZ6Yn8FG47mxwljq+4XkgkT2uJIFRlkyViUQRLzrogaUJW6u/+6ZrePXnouKlKIwzqos3PVJraPEcCA==",
"dependencies": {
- "@firebase/component": "0.6.7",
- "@firebase/installations": "0.6.7",
+ "@firebase/component": "0.6.8",
+ "@firebase/installations": "0.6.8",
"@firebase/logger": "0.4.2",
- "@firebase/util": "1.9.6",
+ "@firebase/util": "1.9.7",
"tslib": "^2.1.0"
},
"peerDependencies": {
@@ -1132,15 +1132,15 @@
}
},
"node_modules/@firebase/performance-compat": {
- "version": "0.2.7",
- "resolved": "https://registry.npmjs.org/@firebase/performance-compat/-/performance-compat-0.2.7.tgz",
- "integrity": "sha512-cb8ge/5iTstxfIGW+iiY+7l3FtN8gobNh9JSQNZgLC9xmcfBYWEs8IeEWMI6S8T+At0oHc3lv+b2kpRMUWr8zQ==",
+ "version": "0.2.8",
+ "resolved": "https://registry.npmjs.org/@firebase/performance-compat/-/performance-compat-0.2.8.tgz",
+ "integrity": "sha512-o7TFClRVJd3VIBoY7KZQqtCeW0PC6v9uBzM6Lfw3Nc9D7hM6OonqecYvh7NwJ6R14k+xM27frLS4BcCvFHKw2A==",
"dependencies": {
- "@firebase/component": "0.6.7",
+ "@firebase/component": "0.6.8",
"@firebase/logger": "0.4.2",
- "@firebase/performance": "0.6.7",
+ "@firebase/performance": "0.6.8",
"@firebase/performance-types": "0.2.2",
- "@firebase/util": "1.9.6",
+ "@firebase/util": "1.9.7",
"tslib": "^2.1.0"
},
"peerDependencies": {
@@ -1153,14 +1153,14 @@
"integrity": "sha512-gVq0/lAClVH5STrIdKnHnCo2UcPLjJlDUoEB/tB4KM+hAeHUxWKnpT0nemUPvxZ5nbdY/pybeyMe8Cs29gEcHA=="
},
"node_modules/@firebase/remote-config": {
- "version": "0.4.7",
- "resolved": "https://registry.npmjs.org/@firebase/remote-config/-/remote-config-0.4.7.tgz",
- "integrity": "sha512-5oPNrPFLsbsjpq0lUEIXoDF2eJK7vAbyXe/DEuZQxnwJlfR7aQbtUlEkRgQWcicXpyDmAmDLo7q7lDbCYa6CpA==",
+ "version": "0.4.8",
+ "resolved": "https://registry.npmjs.org/@firebase/remote-config/-/remote-config-0.4.8.tgz",
+ "integrity": "sha512-AMLqe6wfIRnjc6FkCWOSUjhc1fSTEf8o+cv1NolFvbiJ/tU+TqN4pI7pT+MIKQzNiq5fxLehkOx+xtAQBxPJKQ==",
"dependencies": {
- "@firebase/component": "0.6.7",
- "@firebase/installations": "0.6.7",
+ "@firebase/component": "0.6.8",
+ "@firebase/installations": "0.6.8",
"@firebase/logger": "0.4.2",
- "@firebase/util": "1.9.6",
+ "@firebase/util": "1.9.7",
"tslib": "^2.1.0"
},
"peerDependencies": {
@@ -1168,15 +1168,15 @@
}
},
"node_modules/@firebase/remote-config-compat": {
- "version": "0.2.7",
- "resolved": "https://registry.npmjs.org/@firebase/remote-config-compat/-/remote-config-compat-0.2.7.tgz",
- "integrity": "sha512-Fq0oneQ4SluLnfr5/HfzRS1TZf1ANj1rWbCCW3+oC98An3nE+sCdp+FSuHsEVNwgMg4Tkwx9Oom2lkKeU+Vn+w==",
+ "version": "0.2.8",
+ "resolved": "https://registry.npmjs.org/@firebase/remote-config-compat/-/remote-config-compat-0.2.8.tgz",
+ "integrity": "sha512-UxSFOp6dzFj2AHB8Bq/BYtbq5iFyizKx4Rd6WxAdaKYM8cnPMeK+l2v+Oogtjae+AeyHRI+MfL2acsfVe5cd2A==",
"dependencies": {
- "@firebase/component": "0.6.7",
+ "@firebase/component": "0.6.8",
"@firebase/logger": "0.4.2",
- "@firebase/remote-config": "0.4.7",
+ "@firebase/remote-config": "0.4.8",
"@firebase/remote-config-types": "0.3.2",
- "@firebase/util": "1.9.6",
+ "@firebase/util": "1.9.7",
"tslib": "^2.1.0"
},
"peerDependencies": {
@@ -1189,12 +1189,12 @@
"integrity": "sha512-0BC4+Ud7y2aPTyhXJTMTFfrGGLqdYXrUB9sJVAB8NiqJswDTc4/2qrE/yfUbnQJhbSi6ZaTTBKyG3n1nplssaA=="
},
"node_modules/@firebase/storage": {
- "version": "0.12.5",
- "resolved": "https://registry.npmjs.org/@firebase/storage/-/storage-0.12.5.tgz",
- "integrity": "sha512-nGWBOGFNr10j0LA4NJ3/Yh3us/lb0Q1xSIKZ38N6FcS+vY54nqJ7k3zE3PENregHC8+8txRow++A568G3v8hOA==",
+ "version": "0.12.6",
+ "resolved": "https://registry.npmjs.org/@firebase/storage/-/storage-0.12.6.tgz",
+ "integrity": "sha512-Zgb9WuehJxzhj7pGXUvkAEaH+3HvLjD9xSZ9nepuXf5f8378xME7oGJtREr/RnepdDA5YW0XIxe0QQBNHpe1nw==",
"dependencies": {
- "@firebase/component": "0.6.7",
- "@firebase/util": "1.9.6",
+ "@firebase/component": "0.6.8",
+ "@firebase/util": "1.9.7",
"tslib": "^2.1.0",
"undici": "5.28.4"
},
@@ -1203,14 +1203,14 @@
}
},
"node_modules/@firebase/storage-compat": {
- "version": "0.3.8",
- "resolved": "https://registry.npmjs.org/@firebase/storage-compat/-/storage-compat-0.3.8.tgz",
- "integrity": "sha512-qDfY9kMb6Ch2hZb40sBjDQ8YPxbjGOxuT+gU1Z0iIVSSpSX0f4YpGJCypUXiA0T11n6InCXB+T/Dknh2yxVTkg==",
+ "version": "0.3.9",
+ "resolved": "https://registry.npmjs.org/@firebase/storage-compat/-/storage-compat-0.3.9.tgz",
+ "integrity": "sha512-WWgAp5bTW961oIsCc9+98m4MIVKpEqztAlIngfHfwO/x3DYoBPRl/awMRG3CAXyVxG+7B7oHC5IsnqM+vTwx2A==",
"dependencies": {
- "@firebase/component": "0.6.7",
- "@firebase/storage": "0.12.5",
+ "@firebase/component": "0.6.8",
+ "@firebase/storage": "0.12.6",
"@firebase/storage-types": "0.8.2",
- "@firebase/util": "1.9.6",
+ "@firebase/util": "1.9.7",
"tslib": "^2.1.0"
},
"peerDependencies": {
@@ -1227,22 +1227,22 @@
}
},
"node_modules/@firebase/util": {
- "version": "1.9.6",
- "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.9.6.tgz",
- "integrity": "sha512-IBr1MZbp4d5MjBCXL3TW1dK/PDXX4yOGbiwRNh1oAbE/+ci5Uuvy9KIrsFYY80as1I0iOaD5oOMA9Q8j4TJWcw==",
+ "version": "1.9.7",
+ "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.9.7.tgz",
+ "integrity": "sha512-fBVNH/8bRbYjqlbIhZ+lBtdAAS4WqZumx03K06/u7fJSpz1TGjEMm1ImvKD47w+xaFKIP2ori6z8BrbakRfjJA==",
"dependencies": {
"tslib": "^2.1.0"
}
},
"node_modules/@firebase/vertexai-preview": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/@firebase/vertexai-preview/-/vertexai-preview-0.0.2.tgz",
- "integrity": "sha512-NOOL63kFQRq45ioi5P+hlqj/4LNmvn1URhGjQdvyV54c1Irvoq26aW861PRRLjrSMIeNeiLtCLD5pe+ediepAg==",
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/@firebase/vertexai-preview/-/vertexai-preview-0.0.3.tgz",
+ "integrity": "sha512-KVtUWLp+ScgiwkDKAvNkVucAyhLVQp6C6lhnVEuIg4mWhWcS3oerjAeVhZT4uNofKwWxRsOaB2Yec7DMTXlQPQ==",
"dependencies": {
"@firebase/app-check-interop-types": "0.3.2",
- "@firebase/component": "0.6.7",
+ "@firebase/component": "0.6.8",
"@firebase/logger": "0.4.2",
- "@firebase/util": "1.9.6",
+ "@firebase/util": "1.9.7",
"tslib": "^2.1.0"
},
"engines": {
@@ -1254,9 +1254,9 @@
}
},
"node_modules/@firebase/webchannel-wrapper": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@firebase/webchannel-wrapper/-/webchannel-wrapper-1.0.0.tgz",
- "integrity": "sha512-zuWxyfXNbsKbm96HhXzainONPFqRcoZblQ++e9cAIGUuHfl2cFSBzW01jtesqWG/lqaUyX3H8O1y9oWboGNQBA=="
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@firebase/webchannel-wrapper/-/webchannel-wrapper-1.0.1.tgz",
+ "integrity": "sha512-jmEnr/pk0yVkA7mIlHNnxCi+wWzOFUg0WyIotgkKAb2u1J7fAeDBcVNSTjTihbAYNusCLQdW5s9IJ5qwnEufcQ=="
},
"node_modules/@floating-ui/core": {
"version": "1.6.0",
@@ -3469,37 +3469,37 @@
}
},
"node_modules/firebase": {
- "version": "10.12.2",
- "resolved": "https://registry.npmjs.org/firebase/-/firebase-10.12.2.tgz",
- "integrity": "sha512-ZxEdtSvP1I9su1yf32D8TIdgxtPgxwr6z3jYAR1TXS/t+fVfpoPc/N1/N2bxOco9mNjUoc+od34v5Fn4GeKs6Q==",
- "dependencies": {
- "@firebase/analytics": "0.10.4",
- "@firebase/analytics-compat": "0.2.10",
- "@firebase/app": "0.10.5",
- "@firebase/app-check": "0.8.4",
- "@firebase/app-check-compat": "0.3.11",
- "@firebase/app-compat": "0.2.35",
+ "version": "10.12.3",
+ "resolved": "https://registry.npmjs.org/firebase/-/firebase-10.12.3.tgz",
+ "integrity": "sha512-dO2cQ8eP6RnM2wcGzbxnoljjjMBf1suUrHYFftjSpbPn/8bEx959cwTRDHqBx3MwSzNsg6zZV/wiWydJPhUKgw==",
+ "dependencies": {
+ "@firebase/analytics": "0.10.5",
+ "@firebase/analytics-compat": "0.2.11",
+ "@firebase/app": "0.10.6",
+ "@firebase/app-check": "0.8.5",
+ "@firebase/app-check-compat": "0.3.12",
+ "@firebase/app-compat": "0.2.36",
"@firebase/app-types": "0.9.2",
- "@firebase/auth": "1.7.4",
- "@firebase/auth-compat": "0.5.9",
- "@firebase/database": "1.0.5",
- "@firebase/database-compat": "1.0.5",
- "@firebase/firestore": "4.6.3",
- "@firebase/firestore-compat": "0.3.32",
- "@firebase/functions": "0.11.5",
- "@firebase/functions-compat": "0.3.11",
- "@firebase/installations": "0.6.7",
- "@firebase/installations-compat": "0.2.7",
- "@firebase/messaging": "0.12.9",
- "@firebase/messaging-compat": "0.2.9",
- "@firebase/performance": "0.6.7",
- "@firebase/performance-compat": "0.2.7",
- "@firebase/remote-config": "0.4.7",
- "@firebase/remote-config-compat": "0.2.7",
- "@firebase/storage": "0.12.5",
- "@firebase/storage-compat": "0.3.8",
- "@firebase/util": "1.9.6",
- "@firebase/vertexai-preview": "0.0.2"
+ "@firebase/auth": "1.7.5",
+ "@firebase/auth-compat": "0.5.10",
+ "@firebase/database": "1.0.6",
+ "@firebase/database-compat": "1.0.6",
+ "@firebase/firestore": "4.6.4",
+ "@firebase/firestore-compat": "0.3.33",
+ "@firebase/functions": "0.11.6",
+ "@firebase/functions-compat": "0.3.12",
+ "@firebase/installations": "0.6.8",
+ "@firebase/installations-compat": "0.2.8",
+ "@firebase/messaging": "0.12.10",
+ "@firebase/messaging-compat": "0.2.10",
+ "@firebase/performance": "0.6.8",
+ "@firebase/performance-compat": "0.2.8",
+ "@firebase/remote-config": "0.4.8",
+ "@firebase/remote-config-compat": "0.2.8",
+ "@firebase/storage": "0.12.6",
+ "@firebase/storage-compat": "0.3.9",
+ "@firebase/util": "1.9.7",
+ "@firebase/vertexai-preview": "0.0.3"
}
},
"node_modules/flat-cache": {
@@ -5159,9 +5159,9 @@
}
},
"node_modules/protobufjs": {
- "version": "7.3.0",
- "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.3.0.tgz",
- "integrity": "sha512-YWD03n3shzV9ImZRX3ccbjqLxj7NokGN0V/ESiBV5xWqrommYHYiihuIyavq03pWSGqlyvYUFmfoMKd+1rPA/g==",
+ "version": "7.3.2",
+ "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.3.2.tgz",
+ "integrity": "sha512-RXyHaACeqXeqAKGLDl68rQKbmObRsTIn4TYVUUug1KfS47YWCo5MacGITEryugIgZqORCvJWEk4l449POg5Txg==",
"hasInstallScript": true,
"dependencies": {
"@protobufjs/aspromise": "^1.1.2",
diff --git a/Client/package.json b/Client/package.json
index 52430d7..3aa9cd5 100644
--- a/Client/package.json
+++ b/Client/package.json
@@ -23,7 +23,7 @@
"cookie-parser": "^1.4.6",
"dateformat": "^5.0.3",
"dompurify": "^3.0.5",
- "firebase": "^10.12.2",
+ "firebase": "^10.12.3",
"hamburger-react": "^2.5.0",
"html-react-parser": "^4.2.1",
"html-to-text": "^9.0.5",
diff --git a/Client/src/pages/ContactUs.jsx b/Client/src/pages/ContactUs.jsx
index a3d06e2..4ceefc6 100644
--- a/Client/src/pages/ContactUs.jsx
+++ b/Client/src/pages/ContactUs.jsx
@@ -30,13 +30,14 @@ function ContactUs() {
body: JSON.stringify(data),
});
- console.log("response: ", response);
+ //console.log("response: ", response);
// alert(response);
if (response.ok) {
setData(defaultContactFormData);
const responseData = await response.json();
alert("Form Submitted Successfully");
+
//console.log(responseData);
} else {
// Handle API error here
@@ -48,54 +49,67 @@ function ContactUs() {
};
return (
-
-
-
-
-
Contact Us
-
- Name
-
-
+
+
+
+
+
+
Contact Us
+
+ Name
+
+
-
- Email address
-
-
+
+ Email address
+
+
-
- Message
-
-
+
+ Message
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
);
}
From 1ade853b311270215f34b4132a40bdb18435516a Mon Sep 17 00:00:00 2001
From: ManpreetSingh18 <72294811+ManpreetSingh18@users.noreply.github.com>
Date: Wed, 24 Jul 2024 23:07:40 +0530
Subject: [PATCH 3/3] fix:added env variable
---
Client/src/pages/ContactUs.jsx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Client/src/pages/ContactUs.jsx b/Client/src/pages/ContactUs.jsx
index 4ceefc6..2440f84 100644
--- a/Client/src/pages/ContactUs.jsx
+++ b/Client/src/pages/ContactUs.jsx
@@ -22,7 +22,7 @@ function ContactUs() {
const handleSubmit = async (e) => {
e.preventDefault();
try {
- const response = await fetch("http://localhost:3000/api/form/contactus", {
+ const response = await fetch(`${import.meta.env.VITE_API_URI}/api/form/contactus`, {
method: "POST",
headers: {
"Content-Type": "application/json",