diff --git a/package.json b/package.json index d8a5797..0293a32 100644 --- a/package.json +++ b/package.json @@ -10,8 +10,8 @@ "preview": "vite preview" }, "dependencies": { + "countries-phone-masks": "^1.1.0", "framer-motion": "^11.3.31", - "intl-tel-input": "^24.3.6", "ky": "^1.7.1", "libphonenumber-js": "^1.11.7", "react": "^18.3.1", @@ -20,6 +20,7 @@ "react-phone-number-input": "^3.4.5", "react-router-dom": "^6.26.1", "react-swipeable": "^7.0.1", + "react-usestateref": "^1.0.9", "usehooks-ts": "^3.1.0", "zustand": "^4.5.5" }, diff --git a/src/assets/stands/1.png b/src/assets/stands/1.png deleted file mode 100644 index bfd7243..0000000 Binary files a/src/assets/stands/1.png and /dev/null differ diff --git a/src/assets/stands/2.png b/src/assets/stands/2.png deleted file mode 100644 index 40cead3..0000000 Binary files a/src/assets/stands/2.png and /dev/null differ diff --git a/src/assets/stands/3.png b/src/assets/stands/3.png deleted file mode 100644 index b656954..0000000 Binary files a/src/assets/stands/3.png and /dev/null differ diff --git a/src/assets/stands/graff_estate.png b/src/assets/stands/graff_estate.png new file mode 100644 index 0000000..184e93b Binary files /dev/null and b/src/assets/stands/graff_estate.png differ diff --git a/src/assets/stands/graff_estate2.png b/src/assets/stands/graff_estate2.png new file mode 100644 index 0000000..b42c153 Binary files /dev/null and b/src/assets/stands/graff_estate2.png differ diff --git a/src/assets/stands/graff_estate3.png b/src/assets/stands/graff_estate3.png new file mode 100644 index 0000000..665aefe Binary files /dev/null and b/src/assets/stands/graff_estate3.png differ diff --git a/src/assets/stands/graff_estate_stream.png b/src/assets/stands/graff_estate_stream.png new file mode 100644 index 0000000..cb57f96 Binary files /dev/null and b/src/assets/stands/graff_estate_stream.png differ diff --git a/src/assets/stands/interactive_floor.png b/src/assets/stands/interactive_floor.png new file mode 100644 index 0000000..28ee609 Binary files /dev/null and b/src/assets/stands/interactive_floor.png differ diff --git a/src/assets/stands/interactive_presentation.png b/src/assets/stands/interactive_presentation.png new file mode 100644 index 0000000..5cee2a1 Binary files /dev/null and b/src/assets/stands/interactive_presentation.png differ diff --git a/src/assets/stands/nks_development.png b/src/assets/stands/nks_development.png new file mode 100644 index 0000000..90710d4 Binary files /dev/null and b/src/assets/stands/nks_development.png differ diff --git a/src/assets/stands/nks_development2.png b/src/assets/stands/nks_development2.png new file mode 100644 index 0000000..fbacbd7 Binary files /dev/null and b/src/assets/stands/nks_development2.png differ diff --git a/src/assets/stands/ugmk-telecom.png b/src/assets/stands/ugmk-telecom.png new file mode 100644 index 0000000..bc9b2b8 Binary files /dev/null and b/src/assets/stands/ugmk-telecom.png differ diff --git a/src/assets/stands/vr_training.png b/src/assets/stands/vr_training.png new file mode 100644 index 0000000..6700187 Binary files /dev/null and b/src/assets/stands/vr_training.png differ diff --git a/src/components/Form.tsx b/src/components/Form.tsx index ed971a0..b54c964 100644 --- a/src/components/Form.tsx +++ b/src/components/Form.tsx @@ -1,71 +1,7 @@ -import examples from 'libphonenumber-js/mobile/examples'; -import { - formatPhoneNumber, - getCountries, - getCountryCallingCode, -} from 'react-phone-number-input'; -import ReactInputMask from 'react-input-mask'; -import { FormEvent, useEffect, useRef, useState } from 'react'; import { Title } from './ui/Title'; -import { api } from '../api'; -import { Button } from './ui/Button'; -import { ClassNameWrapper } from '../hocs/ClassNameWrapper'; -import { LoaderIcon } from './icons/LoaderIcon'; -import { ChevronUpIcon } from './icons/ChevronUpIcon'; -import { ChevronDownIcon } from './icons/ChevronDownIcon'; -import { ArrowRightIcon } from './icons/ArrowRightIcon'; -import { CountryCode, getExampleNumber } from 'libphonenumber-js'; +import { FeedbackForm } from './Layout/FeedbackForm'; export function Form() { - const [name, setName] = useState(''); - const [[phoneCode, country], setPhoneCodeAndCountry] = useState< - [string, string] - >(['', '']); - const [phone, setPhone] = useState(''); - const [email, setEmail] = useState(''); - const [description, setDescription] = useState(''); - const [isLoading, setIsLoading] = useState(false); - - const textAreaRef = useRef(null); - - useEffect(() => { - if (textAreaRef.current) { - textAreaRef.current.style.height = 'auto'; - textAreaRef.current.style.height = - textAreaRef.current.scrollHeight + 'px'; - } - }, [textAreaRef, description]); - - function handleSubmit(e: FormEvent) { - e.preventDefault(); - - sendMail(); - } - - async function sendMail() { - setIsLoading(true); - - try { - await api - .post('mail', { - json: { - fullname: name, - phone: phoneCode + phone, - email, - request: description, - }, - }) - .json(); - - setIsLoading(false); - } catch (error) { - setIsLoading(false); - if (error instanceof Error) { - alert(error.message); - } - } - } - return (
@@ -74,130 +10,9 @@ export function Form() { <span className="text-gradient">Давайте обсудим детали.</span>
-
-
-
-
- - setName(e.target.value)} - placeholder="Ваше имя" - className="bg-transparent border-b border-[#3D425C] focus:border-white py-4 rounded-none outline-none transition-all w-full placeholder:h4 placeholder:font-medium placeholder:select-none" - /> -
- -
- - setEmail(e.target.value)} - placeholder="Ваш email" - className="bg-transparent border-b border-[#3D425C] focus:border-white py-4 rounded-none outline-none transition-all w-full placeholder:h4 placeholder:font-medium placeholder:select-none" - /> -
- -
- -
- -
- setPhone(e.target.value)} - className="bg-transparent rounded-none outline-none transition-all w-full placeholder:h4 placeholder:font-medium placeholder:select-none peer" - /> -
-
-
-
- -
- -