diff --git a/src/components/mainPart/button.tsx b/src/components/mainPart/button.tsx new file mode 100644 index 0000000..9fdecd0 --- /dev/null +++ b/src/components/mainPart/button.tsx @@ -0,0 +1,10 @@ +import React from "react"; + +type TProps = { + onClick: () => void + textButton: string +} + +export const PinkButton:React.FC = React.memo((props) => { + return +}) \ No newline at end of file diff --git a/src/components/mainPart/contentContainer.tsx b/src/components/mainPart/contentContainer.tsx new file mode 100644 index 0000000..2f96a02 --- /dev/null +++ b/src/components/mainPart/contentContainer.tsx @@ -0,0 +1,27 @@ +import React from "react"; +import { PinkButton } from "./button"; + +type TProps = { + textButton: string + onClickButton: () => void + titleText?: string + descriptText: string +} + +export const ContentContainer:React.FC = React.memo((props) => { + return
+ { + props.titleText && + + {props.titleText} + + } + + {props.descriptText} + + +
+}) \ No newline at end of file diff --git a/src/components/mainPart/main-part-footer.tsx b/src/components/mainPart/main-part-footer.tsx new file mode 100644 index 0000000..5f85be8 --- /dev/null +++ b/src/components/mainPart/main-part-footer.tsx @@ -0,0 +1,12 @@ +import React from "react"; + +export const MainPartFooter:React.FC = React.memo(() => { + return
+ + Данная технология находится на стадии разработки. Если подключиться к демонстрации не удалось, свяжитесь с нами. + + + +7 800 770 00 67 (Россия) / +971 50 983 8902 (ОАЭ) + +
+}) \ No newline at end of file diff --git a/src/components/mainPart/mainPart.css b/src/components/mainPart/mainPart.css index c10504d..e1b7cfe 100644 --- a/src/components/mainPart/mainPart.css +++ b/src/components/mainPart/mainPart.css @@ -55,6 +55,12 @@ background-color: #CE56C2; } +.main-part-content { + display: flex; + flex-direction: column; + gap: 30px; +} + .main-part-text-container { width: 800px; display: flex; @@ -89,6 +95,33 @@ border-radius: 8px; border: none; color: #FFFFFF; + transition: .3s; + cursor: pointer; +} + +.main-part-text-button:hover { + background-color: #FFFFFF; + color: #CE56C2; + border: 2px solid #CE56C2; + transition: .3s; +} + +.main-part-content-or-line-container { + display: flex; + width: 320px; + justify-content: space-between; + align-items: center; + gap: 24px; + + font-weight: 400; + font-size: 18px; + line-height: 130%; +} + +.main-part-content-or-line { + height: 2px; + background-color: #FFFFFF; + width: 100%; } .main-part-footer-container { diff --git a/src/components/mainPart/mainPart.tsx b/src/components/mainPart/mainPart.tsx index 7d3f665..4f6dfa0 100644 --- a/src/components/mainPart/mainPart.tsx +++ b/src/components/mainPart/mainPart.tsx @@ -1,34 +1,62 @@ -import React from "react"; +import React, { useState } from "react"; import './mainPart.css'; -import whiteLogo from './logoWhiteIcon.svg'; +import { PinkButton } from "./button"; +import { MainPartHeader } from "./mainPartHeader"; +import { ContentContainer } from "./contentContainer"; +import { MainPartFooter } from "./main-part-footer"; export const MainPart: React.FC = React.memo(() => { + const [currentContent, setCurrentContent] = useState( + onClickStartDemo()} + textButton='Начать демонстрацию' + /> + ); + + function onClickStartDemo() { + setCurrentContent(<> + onClickCreateNewDemo()} + textButton='Начать новую демонстрацию' + /> +
+ + или + +
+ + onClickPlaneDemo()} + textButton='Запланировать демонстрацию' + /> + + + ) + } + + function onClickCreateNewDemo() { + + } + + function onClickPlaneDemo() { + + } + + function onClickConnect() { + + } + return
-
- logo -
- EN - / - RU -
-
-
- - Удаленная демонстрация жилого комплекса - - - Основанная на стриминге технология удаленной демонстрации позволяет познакомиться с жилым комплексом, не посещая офис продаж. - - -
-
- - Данная технология находится на стадии разработки. Если подключиться к демонстрации не удалось, свяжитесь с нами. - - - +7 800 770 00 67 (Россия) / +971 50 983 8902 (ОАЭ) - + +
+ {currentContent}
+
}) \ No newline at end of file diff --git a/src/components/mainPart/mainPartHeader.tsx b/src/components/mainPart/mainPartHeader.tsx new file mode 100644 index 0000000..b2971de --- /dev/null +++ b/src/components/mainPart/mainPartHeader.tsx @@ -0,0 +1,13 @@ +import React from "react"; +import whiteLogo from './logoWhiteIcon.svg'; + +export const MainPartHeader:React.FC = React.memo(() => { + return
+ logo +
+ EN + / + RU +
+
+}) \ No newline at end of file