From c31a74b835ad2d87e65082601bdf76891dc39dd1 Mon Sep 17 00:00:00 2001 From: Tiago Ribeiro Date: Tue, 13 Feb 2024 00:50:38 +0000 Subject: [PATCH] Hardcoded the platform URL due to problems with using ENV variables when deploying --- src/templates/ContactUs.tsx | 291 ++++++++++++++++-------------------- 1 file changed, 129 insertions(+), 162 deletions(-) diff --git a/src/templates/ContactUs.tsx b/src/templates/ContactUs.tsx index af75996..337dcf7 100644 --- a/src/templates/ContactUs.tsx +++ b/src/templates/ContactUs.tsx @@ -1,6 +1,6 @@ "use client"; import React from "react"; -import { useForm, SubmitHandler, Controller } from "react-hook-form"; +import {useForm, SubmitHandler, Controller} from "react-hook-form"; import Footer from "@/components/Footer"; import Navbar from "@/components/Navbar"; import Title from "@/components/Title"; @@ -8,175 +8,142 @@ import translation from "@/translation/contactus.json"; import Image from "next/image"; type FormValues = { - name: string; - email: string; - description: string; - subject: string; - type: "feedback" | "bug" | "help" | ""; + name: string; + email: string; + description: string; + subject: string; + type: "feedback" | "bug" | "help" | ""; }; interface Props { - language: "en" | "ar"; - page: string; + language: "en" | "ar"; + page: string; } -const ErrorMessage = ({ message }: { message: string }) => ( -
- {message} -
+const ErrorMessage = ({message}: {message: string}) => ( +
+ {message} +
); -export default function App({ language, page }: Props) { - const selectOptions = [ - { - label: translation.feedback[language], - value: "feedback", - }, - { - label: translation.bug[language], - value: "bug", - }, - { - label: translation.help[language], - value: "help", - }, - ]; +export default function App({language, page}: Props) { + const selectOptions = [ + { + label: translation.feedback[language], + value: "feedback", + }, + { + label: translation.bug[language], + value: "bug", + }, + { + label: translation.help[language], + value: "help", + }, + ]; - const { register, control, handleSubmit, formState } = useForm({ - defaultValues: { - name: "", - email: "", - description: "", - subject: "", - type: "", - }, - }); + const {register, control, handleSubmit, formState} = useForm({ + defaultValues: { + name: "", + email: "", + description: "", + subject: "", + type: "", + }, + }); - const { errors, isDirty, isValid } = formState; - console.log("formState", formState.isSubmitSuccessful); - const onSubmit: SubmitHandler = async (data) => { - try { - const response = await fetch( - `${process.env.NEXT_PUBLIC_APP_URL}/api/tickets`, - { - method: "POST", - headers: { - "Content-Type": "application/json", - }, - body: JSON.stringify({ - reporter: { - name: data.name, - email: data.email, - }, - subject: data.subject, - type: data.type, - reportedFrom: window.location.href, - status: "submitted", - date: new Date().toISOString(), - description: data.description, - }), - } - ); + const {errors, isDirty, isValid} = formState; + console.log("formState", formState.isSubmitSuccessful); + const onSubmit: SubmitHandler = async (data) => { + try { + const response = await fetch(`https://platform.encoach.com/api/tickets`, { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify({ + reporter: { + name: data.name, + email: data.email, + }, + subject: data.subject, + type: data.type, + reportedFrom: window.location.href, + status: "submitted", + date: new Date().toISOString(), + description: data.description, + }), + }); - if (response.status === 200) { - const data = await response.json(); - // Pass data to the page via props - console.log(data); - return; - } - } catch (err) {} - }; + if (response.status === 200) { + const data = await response.json(); + // Pass data to the page via props + console.log(data); + return; + } + } catch (err) {} + }; - return ( -
- -
-
- {translation.title[language]} -
-
-
-
- - {errors.name && errors.name.type === "required" && ( - - )} - - {errors.email && errors.email.type === "required" && ( - - )} - {errors.email && errors.email.type === "pattern" && ( - - )} - - {errors.subject && errors.subject.type === "required" && ( - - )} - - {errors.type && errors.type.type === "required" && ( - - )} -