diff --git a/package-lock.json b/package-lock.json
index 067b4e03..88e6cb26 100755
--- a/package-lock.json
+++ b/package-lock.json
@@ -22,6 +22,7 @@
"@types/react": "^18.0.0",
"@types/react-dnd": "^3.0.2",
"@types/react-dom": "^18.0.0",
+ "axios": "^1.5.1",
"emoji-mart": "^5.5.2",
"file-saver": "^2.0.5",
"html-to-image": "^1.11.11",
@@ -5391,6 +5392,29 @@
"node": ">=4"
}
},
+ "node_modules/axios": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.5.1.tgz",
+ "integrity": "sha512-Q28iYCWzNHjAm+yEAot5QaAMxhMghWLFVf7rRdwhUI+c2jix2DUXjAHXVi+s1ibs3mjPO/cCgbA++3BjD0vP/A==",
+ "dependencies": {
+ "follow-redirects": "^1.15.0",
+ "form-data": "^4.0.0",
+ "proxy-from-env": "^1.1.0"
+ }
+ },
+ "node_modules/axios/node_modules/form-data": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
+ "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
+ "dependencies": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "mime-types": "^2.1.12"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
"node_modules/axobject-query": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz",
@@ -14593,6 +14617,11 @@
"node": ">= 0.10"
}
},
+ "node_modules/proxy-from-env": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
+ "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
+ },
"node_modules/psl": {
"version": "1.9.0",
"resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
@@ -21789,6 +21818,28 @@
"resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.5.2.tgz",
"integrity": "sha512-u2MVsXfew5HBvjsczCv+xlwdNnB1oQR9HlAcsejZttNjKKSkeDNVwB1vMThIUIFI9GoT57Vtk8iQLwqOfAkboA=="
},
+ "axios": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.5.1.tgz",
+ "integrity": "sha512-Q28iYCWzNHjAm+yEAot5QaAMxhMghWLFVf7rRdwhUI+c2jix2DUXjAHXVi+s1ibs3mjPO/cCgbA++3BjD0vP/A==",
+ "requires": {
+ "follow-redirects": "^1.15.0",
+ "form-data": "^4.0.0",
+ "proxy-from-env": "^1.1.0"
+ },
+ "dependencies": {
+ "form-data": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
+ "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
+ "requires": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "mime-types": "^2.1.12"
+ }
+ }
+ }
+ },
"axobject-query": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz",
@@ -28318,6 +28369,11 @@
}
}
},
+ "proxy-from-env": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
+ "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
+ },
"psl": {
"version": "1.9.0",
"resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
diff --git a/package.json b/package.json
index 64e4ba21..ac62bdd4 100755
--- a/package.json
+++ b/package.json
@@ -17,6 +17,7 @@
"@types/react": "^18.0.0",
"@types/react-dnd": "^3.0.2",
"@types/react-dom": "^18.0.0",
+ "axios": "^1.5.1",
"emoji-mart": "^5.5.2",
"file-saver": "^2.0.5",
"html-to-image": "^1.11.11",
diff --git a/src/api/contactForm.ts b/src/api/contactForm.ts
new file mode 100644
index 00000000..78a9336d
--- /dev/null
+++ b/src/api/contactForm.ts
@@ -0,0 +1,18 @@
+import axios from "axios";
+
+
+const apiUrl = "https://admin.pena.digital/feedback";
+
+export function sendContactFormRequest(body: {
+
+ contact: string;
+ whoami: string;
+}) {
+ return axios(apiUrl + "/callme", {
+ method: "POST",
+ headers: {
+ "Content-Type": "application/json",
+ },
+ data: body,
+ });
+}
\ No newline at end of file
diff --git a/src/assets/icons/x.tsx b/src/assets/icons/x.tsx
new file mode 100644
index 00000000..535f7c13
--- /dev/null
+++ b/src/assets/icons/x.tsx
@@ -0,0 +1,15 @@
+import { useTheme } from "@mui/material";
+
+
+interface Props {
+ width?: number;
+}
+
+export default function PenaLogo({ width }: Props) {
+ const theme = useTheme();
+
+ return (
+
+ )}
diff --git a/src/index.tsx b/src/index.tsx
index 20191ecb..25bac544 100755
--- a/src/index.tsx
+++ b/src/index.tsx
@@ -15,6 +15,7 @@ import InstallQuiz from "./pages/InstallQuiz/InstallQuiz";
import { Result } from "./pages/Result/Result";
import { Setting } from "./pages/Result/Setting";
import MyQuizzesFull from "./pages/createQuize/MyQuizzesFull";
+import ContactFormModal from "@ui_kit/ContactForm";
import ImageCrop from "@ui_kit/Modal/ImageCrop";
import Landing from "./pages/Landing/Landing";
@@ -37,6 +38,7 @@ const root = createRoot(document.getElementById("root")!);
root.render(
+
{routeslink.map((e, i) => (
diff --git a/src/pages/Landing/Hero.tsx b/src/pages/Landing/Hero.tsx
index 10e9b5c0..1afd442e 100644
--- a/src/pages/Landing/Hero.tsx
+++ b/src/pages/Landing/Hero.tsx
@@ -7,7 +7,7 @@ import abstraction from '../../assets/Quiz-main.png'
import SectionStyled from './SectionStyled';
import {styled} from "@mui/material/styles";
import { Link, redirect } from 'react-router-dom';
-
+import { setIsContactFormOpen } from "../../stores/contactForm";
export default function Component() {
return(
@@ -48,6 +48,7 @@ export default function Component() {