From e6a9f47231a14c141d80d18638c4236cc23fbf75 Mon Sep 17 00:00:00 2001 From: Angelica Chung Date: Sat, 1 Oct 2022 11:38:34 -0400 Subject: [PATCH] contact form --- package.json | 3 + .../storyteller-home/src/common/TopNav.tsx | 4 +- .../src/pages/index/IndexPage.tsx | 76 +++++++++++++++++++ yarn.lock | 32 ++++++++ 4 files changed, 113 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 37ee67fffb..04d5d1f208 100644 --- a/package.json +++ b/package.json @@ -25,5 +25,8 @@ "devDependencies": { "craco": "^0.0.3", "lerna": "^4.0.0" + }, + "dependencies": { + "@formspree/react": "^2.4.0", } } diff --git a/packages/storyteller-home/src/common/TopNav.tsx b/packages/storyteller-home/src/common/TopNav.tsx index 7184ae6a75..059e92cad1 100644 --- a/packages/storyteller-home/src/common/TopNav.tsx +++ b/packages/storyteller-home/src/common/TopNav.tsx @@ -1,7 +1,7 @@ import { useLocomotiveScroll } from "react-locomotive-scroll"; import React, { useState, useEffect } from "react"; -interface Props {} +interface Props { } function TopNav(props: Props) { const { scroll } = useLocomotiveScroll(); @@ -106,7 +106,7 @@ function TopNav(props: Props) {
- + Contact
diff --git a/packages/storyteller-home/src/pages/index/IndexPage.tsx b/packages/storyteller-home/src/pages/index/IndexPage.tsx index 9bfc29aa82..124f69fdd7 100644 --- a/packages/storyteller-home/src/pages/index/IndexPage.tsx +++ b/packages/storyteller-home/src/pages/index/IndexPage.tsx @@ -32,6 +32,9 @@ import { Swiper, SwiperSlide } from "swiper/react"; import "swiper/css"; import "swiper/css/pagination"; import { Autoplay, Pagination } from "swiper"; +import { useForm, ValidationError } from '@formspree/react'; +import { ToastContainer, toast } from 'react-toastify'; +import 'react-toastify/dist/ReactToastify.css'; function IndexPage() { // Title Animation @@ -130,6 +133,22 @@ function IndexPage() { ); }, []); + const [state, handleSubmit] = useForm("xnqrvjbo"); + if (state.succeeded) { + const reset = document.getElementById("reset") + const success = document.getElementById('success_message') + + if (reset) reset.click() + + setTimeout(function () { + if (success) success.innerHTML = '

Thank you for your message!

' + }, 500) + + setTimeout(function () { + if (success) success.innerHTML = '' + }, 5000) + } + return ( <>
@@ -1091,9 +1110,66 @@ function IndexPage() {
+ +
+

Contact Us

+
+
+
+ + + + +
+
+