"use client"; import Button from "@/_components/Button"; import SocialLinks from "@/_components/SocialLinks"; import contacts from "@/_data/contacts"; import FormStatusTracker from "@/_utils/FormStatusTracker"; import React, { InputHTMLAttributes, useEffect, useMemo, useState } from "react"; import { useFormState } from "react-dom"; import Turnstile from "react-turnstile"; import sendInquiry, { FormStatus } from "../_utils/sendInquiry"; import cls from "./ContactSection.module.scss"; import { getSitekey } from "@/_utils/turnstile"; const defaultState: FormStatus = { status: "idle" }; const ContactSection: React.FC = () => { const [pending, setPending] = useState(false); const [{ status, message }, formAction] = useFormState(sendInquiry, defaultState); const { telephone: phone, email, socials } = contacts; const [cfSitekey, setCfSitekey] = useState(null); const sharedProps: InputHTMLAttributes = useMemo(() => ({ required: true, disabled: pending, readOnly: status === "success" }), [status, pending]); useEffect(() => { getSitekey().then(sitekey => setCfSitekey(sitekey)); }, []); return (

Let's get in touch

Inquiries, requests or proposals