import React, { useContext, useEffect, useRef, useState } from "react"; import './mainPart.css'; import { MainPartHeader } from "./mainPartHeader"; import { ContentContainer } from "./contentContainer"; import { MainPartFooter } from "./main-part-footer"; import { OrLineContainer } from "./orLineContainer"; import { CSSTransition, TransitionGroup } from "react-transition-group"; import { CalendarComponent } from "./calendar/calendar"; import { PlanContentContainer } from "./planContentContainer"; import { TimeSelector } from "./timeSelector/timeSelector"; import { Form } from "./form/form"; import { LangDict } from "../langDict"; import { ContextLang } from "../ContextLang"; type FormData = { phone: string email: string firstName: string } export const MainPart: React.FC = React.memo(() => { // const [currentLang, setCurrentLang] = useState<'ru' | 'en'>('ru'); const {lang, setLang} = useContext(ContextLang); const [changeContent, setChangeContent] = useState(0); const [showBackground, setShowBackground] = useState(false); const [planContent, setPlaneContent] = useState(); const defaultCurrentContent = onClickStartDemo()} textButton={LangDict.startDemoButton} /> const [currentContent, setCurrentContent] = useState(defaultCurrentContent); const lastRender = currentContent; useEffect(() => { // setChangeContent(changeContent + 1); }, [currentContent]); useEffect(() => { console.log(lang) // onClickStartDemo() setCurrentContent(lastRender) }, [lang]) function changeLang(lang: 'ru' | 'en') { setLang(lang); document.querySelector('html').lang = lang; } function onClickStartDemo() { console.log(lang) setCurrentContent( <> onClickCreateNewDemo()} textButton={LangDict.startNewDemoButton} /> onClickPlaneDemo()} textButton={LangDict.enrollNewDemoButton} /> ) } function onClickCreateNewDemo() { console.log(lang) setCurrentContent( onClickConnect()} textButton={LangDict.connectToDemoButton} accessCode="1876" /> ) } function onClickPlaneDemo() { enableBackground(); setPlaneContent( onSelectDay(date)} />} isLegend={true} /> ); setCurrentContent(<>); } function onClickConnect() { } function onSelectDay(date: {ru: string, en: string}) { setPlaneContent( onSelectTime(date, time)} />} isLegend={true} /> ); } function onSelectTime(date: {ru: string, en: string}, time: string) { let dateTime = `${date} ${lang === 'ru' ? 'в' : 'in'} ${time}`; let dateObj = { ru: `${date.ru} в ${time}`, en: `${date.en} in ${time}` } setPlaneContent( onSubmit(data, date)} dateInfo={dateTime} /> } isLegend={false} /> ) console.log(dateTime) } function onSubmit(data: FormData, date: string) { setPlaneContent(null); setCurrentContent( toMain()} /> ) // console.log(data, date) } function toMain() { setCurrentContent(defaultCurrentContent); setPlaneContent(null); disableBackground(); } function enableBackground() { setShowBackground(true); } function disableBackground() { setShowBackground(false); } return
changeLang(lang)} onClickLogo={toMain}/>
{currentContent}
{ planContent ?
{planContent}
: null }
})