diff --git a/client/package.json b/client/package.json index 4499e5d..20bad07 100644 --- a/client/package.json +++ b/client/package.json @@ -14,9 +14,11 @@ "framer-motion": "^10.16.5", "prop-types": "^15.8.1", "react": "^18.2.0", + "react-circular-progressbar": "^2.1.0", "react-dom": "^18.2.0", "react-rangeslider": "^2.2.0", "react-router-dom": "^6.18.0", + "react-swipeable": "^7.0.1", "usehooks-ts": "^2.9.1" }, "devDependencies": { diff --git a/client/public/images/clients-logos-mobile.png b/client/public/images/clients-logos-mobile.png new file mode 100644 index 0000000..386b710 Binary files /dev/null and b/client/public/images/clients-logos-mobile.png differ diff --git a/client/public/images/ClientsLogos.png b/client/public/images/clients-logos.png similarity index 100% rename from client/public/images/ClientsLogos.png rename to client/public/images/clients-logos.png diff --git a/client/public/images/projects/photo01.jpg b/client/public/images/projects/photo01.jpg new file mode 100644 index 0000000..a7c2bf8 Binary files /dev/null and b/client/public/images/projects/photo01.jpg differ diff --git a/client/public/images/projects/photo02.jpg b/client/public/images/projects/photo02.jpg new file mode 100644 index 0000000..9502938 Binary files /dev/null and b/client/public/images/projects/photo02.jpg differ diff --git a/client/public/images/projects/photo03.jpg b/client/public/images/projects/photo03.jpg new file mode 100644 index 0000000..56c960a Binary files /dev/null and b/client/public/images/projects/photo03.jpg differ diff --git a/client/public/images/projects/photo04.jpg b/client/public/images/projects/photo04.jpg new file mode 100644 index 0000000..43c9e06 Binary files /dev/null and b/client/public/images/projects/photo04.jpg differ diff --git a/client/public/images/projects/photo05.jpg b/client/public/images/projects/photo05.jpg new file mode 100644 index 0000000..73a401b Binary files /dev/null and b/client/public/images/projects/photo05.jpg differ diff --git a/client/public/images/projects/photo06.jpg b/client/public/images/projects/photo06.jpg new file mode 100644 index 0000000..969a0d2 Binary files /dev/null and b/client/public/images/projects/photo06.jpg differ diff --git a/client/public/images/projects/photo07.jpg b/client/public/images/projects/photo07.jpg new file mode 100644 index 0000000..3579129 Binary files /dev/null and b/client/public/images/projects/photo07.jpg differ diff --git a/client/public/images/projects/photo08.jpg b/client/public/images/projects/photo08.jpg new file mode 100644 index 0000000..4e69f2a Binary files /dev/null and b/client/public/images/projects/photo08.jpg differ diff --git a/client/public/images/projects/photo09.jpg b/client/public/images/projects/photo09.jpg new file mode 100644 index 0000000..a5efb7c Binary files /dev/null and b/client/public/images/projects/photo09.jpg differ diff --git a/client/public/images/projects/photo10.jpg b/client/public/images/projects/photo10.jpg new file mode 100644 index 0000000..3253fe2 Binary files /dev/null and b/client/public/images/projects/photo10.jpg differ diff --git a/client/public/images/projects/photo11.jpg b/client/public/images/projects/photo11.jpg new file mode 100644 index 0000000..a9d97cb Binary files /dev/null and b/client/public/images/projects/photo11.jpg differ diff --git a/client/public/images/projects/photo12.jpg b/client/public/images/projects/photo12.jpg new file mode 100644 index 0000000..6e10688 Binary files /dev/null and b/client/public/images/projects/photo12.jpg differ diff --git a/client/public/images/projects/photo13.jpg b/client/public/images/projects/photo13.jpg new file mode 100644 index 0000000..8f81007 Binary files /dev/null and b/client/public/images/projects/photo13.jpg differ diff --git a/client/public/images/projects/photo14.jpg b/client/public/images/projects/photo14.jpg new file mode 100644 index 0000000..d57b317 Binary files /dev/null and b/client/public/images/projects/photo14.jpg differ diff --git a/client/public/images/projects/photo15.jpg b/client/public/images/projects/photo15.jpg new file mode 100644 index 0000000..ef47ece Binary files /dev/null and b/client/public/images/projects/photo15.jpg differ diff --git a/client/public/images/projects/photo16.jpg b/client/public/images/projects/photo16.jpg new file mode 100644 index 0000000..bcceb67 Binary files /dev/null and b/client/public/images/projects/photo16.jpg differ diff --git a/client/public/images/projects/photo17.jpg b/client/public/images/projects/photo17.jpg new file mode 100644 index 0000000..3b2eab9 Binary files /dev/null and b/client/public/images/projects/photo17.jpg differ diff --git a/client/public/images/projects/photo18.jpg b/client/public/images/projects/photo18.jpg new file mode 100644 index 0000000..d17c1d7 Binary files /dev/null and b/client/public/images/projects/photo18.jpg differ diff --git a/client/public/images/projects/photo19.jpg b/client/public/images/projects/photo19.jpg new file mode 100644 index 0000000..2fe90ff Binary files /dev/null and b/client/public/images/projects/photo19.jpg differ diff --git a/client/public/images/projects/photo20.jpg b/client/public/images/projects/photo20.jpg new file mode 100644 index 0000000..73d38d4 Binary files /dev/null and b/client/public/images/projects/photo20.jpg differ diff --git a/client/public/images/projects/photo21.jpg b/client/public/images/projects/photo21.jpg new file mode 100644 index 0000000..fb04cd0 Binary files /dev/null and b/client/public/images/projects/photo21.jpg differ diff --git a/client/src/App.tsx b/client/src/App.tsx index 3272957..90107a5 100644 --- a/client/src/App.tsx +++ b/client/src/App.tsx @@ -3,7 +3,7 @@ import "./App.css"; import LogoIcon from "./components/icons/LogoIcon"; import BlendingHeader from "./components/blendings/BlendingHeader"; import FeatureItem from "./components/FeatureItem"; -import BlendVR from "./components/blendings/BlendVR"; +// import BlendVR from "./components/blendings/BlendVR"; import BlendStream from "./components/blendings/BlendStream"; import StreamButton from "./components/StreamButton"; import "react-rangeslider/lib/index.css"; @@ -18,15 +18,17 @@ import Calc from "./components/Calc"; import BlendingCalc from "./components/blendings/BlendingCalc"; import BlendingClients from "./components/blendings/BlendingClients"; import Heading2 from "./components/Headings/Heading2"; -import PlayIcon from "./components/icons/PlayIcon"; +// import PlayIcon from "./components/icons/PlayIcon"; +import VideoSliderMobile from "./components/VideoSliderMobile"; function App() { const [selectedVideo, setSelectedVideo] = useState( "https://graff.estate/videos/features/virtual_tour.mp4" ); + const [isShowProjects, setIsShowProjects] = useState(false); return ( -
+
@@ -190,22 +192,22 @@ function App() {
-
+
-
+
Функциональные
возможности
-

+

Интерактивная презентация увлекает покупателей и предоставляет актуальную информацию о жилом комплексе, отвечая на все вопросы и показывая важные особенности и преимущества объекта

-
+
setSelectedVideo(video)} /> @@ -266,67 +268,43 @@ function App() { />
-
+
+ +
-
-
-

- Экскурсия{" "} +
+
+ + Экскурсия +
в виртуальной реальности -

+ - -
- -

- Клиенту достаточно надеть шлем виртуальной реальности, чтобы - прогуляться, оценить и ощутить пространство{" "} -

-
-

- Он полностью погружается в воссозданную реальность, чувствует - удобство и уровень комфорта +

+ Клиенту достаточно надеть шлем виртуальной реальности, чтобы + прогуляться, оценить и ощутить пространство{" "}

-
-
-
-
- -
-
- + +
+
-

+ Анализируем
поведение пользователей -

+

Система внутренней аналитики программы собирает информацию о поведении пользователя и эффективности работы менеджеров для @@ -345,7 +323,7 @@ function App() {

-

+ Graff.estate stream —
@@ -353,7 +331,7 @@ function App() {
жилого комплекса
-

+
@@ -400,13 +378,13 @@ function App() {
-

+ Оцените эффективность интерактивного
инструмента продаж -

+

Мы изучили отраслевую аналитику на рынке продаж новых квартир и @@ -428,71 +406,165 @@ function App() {

-

- Проекты -

-
+ Проекты +
+ + + + + + + + + + - - - - + - + + {!isShowProjects ? ( + setIsShowProjects(true)} /> + ) : ( + <> + + + + + + + + + + + + + + + + + + + + + + + + + + + )}
-

+ Наши клиенты{" "} в девелопменте -

- + + +
diff --git a/client/src/components/Calc.tsx b/client/src/components/Calc.tsx index 3c5e0e3..e15b953 100644 --- a/client/src/components/Calc.tsx +++ b/client/src/components/Calc.tsx @@ -158,8 +158,8 @@ function Calc() { return (
-
-
+
+
-
+

Установлены усредненные показатели по региону.
@@ -190,33 +190,33 @@ function Calc() {

-
+

Средняя площадь
жилья в комплексе, м2

-

+

{(selectedRegion?.areaInComplex || 1500).toLocaleString()}

-
+

Средняя площадь
квартиры, м2

-

+

{(selectedRegion?.areaApartment || 100).toLocaleString()}

-
+

Средняя стоимость
одного м2, тыс. руб.

-

+

{(selectedRegion?.costPerSquare || 100).toLocaleString()}

@@ -225,10 +225,10 @@ function Calc() {
-

+

Очных консультаций в месяц

-

+

{consultations}

@@ -255,20 +255,20 @@ function Calc() {
-
+

Срок реализации

- + {isToolEnabled ? implementationPeriod : oldImplementationPeriod} - + {isToolEnabled ? implementationPeriodEnding : oldImplementationPeriodEnding} @@ -291,19 +291,21 @@ function Calc() {

-
+

Месячный доход

- + {isToolEnabled ? monthlyIncome : oldMonthlyIncome} млн руб. @@ -322,24 +324,28 @@ function Calc() {

-
+

Статистика продаж

-
-
-

100%

-
-
+
+ {/*
+

100%

+
+

{consultations}

-

Консультаций в офисе

+

+ Консультаций в офисе +

-

{isToolEnabled ? 48 : 30}%

+

+ {isToolEnabled ? 48 : 30}% +

@@ -348,14 +354,18 @@ function Calc() {

-

Бронь квартиры

+

+ Бронь квартиры +

-

{isToolEnabled ? 42 : 30}%

+

+ {isToolEnabled ? 42 : 30}% +

@@ -364,7 +374,59 @@ function Calc() {

-

Продажа

+

Продажа

+
*/} + +
+
+

100%

+

+ {isToolEnabled ? 48 : 30}% +

+

+ {isToolEnabled ? 42 : 30}% +

+
+
+
+
+

{consultations}

+
+
+
+
+

+ {isToolEnabled ? reservation : oldReservation} +

+
+
+
+
+

+ {isToolEnabled ? sales : oldSales} +

+
+
+
+
+

+ Консультаций в офисе +

+

+ Бронь квартиры +

+

+ Продажа +

+
diff --git a/client/src/components/CalcSelect.tsx b/client/src/components/CalcSelect.tsx index 5927ca5..0fddd1b 100644 --- a/client/src/components/CalcSelect.tsx +++ b/client/src/components/CalcSelect.tsx @@ -34,19 +34,19 @@ function CalcSelect({
setIsShow((prev) => !prev)} >
-
@@ -60,7 +60,7 @@ function CalcSelect({ {options.map((option, index) => ( + +
+
+
+
+ ); +} + +export default VideoSliderMobile; diff --git a/client/src/components/icons/ArrowLeftIcon.tsx b/client/src/components/icons/ArrowLeftIcon.tsx new file mode 100644 index 0000000..30032aa --- /dev/null +++ b/client/src/components/icons/ArrowLeftIcon.tsx @@ -0,0 +1,25 @@ +interface IconProps { + className?: string; +} + +function ArrowLeftIcon({ className }: IconProps) { + return ( + + + + ); +} + +export default ArrowLeftIcon; diff --git a/client/src/components/icons/ArrowRightIcon.tsx b/client/src/components/icons/ArrowRightIcon.tsx index 9a905a3..745e1cf 100644 --- a/client/src/components/icons/ArrowRightIcon.tsx +++ b/client/src/components/icons/ArrowRightIcon.tsx @@ -1,17 +1,22 @@ -function ArrowRightIcon() { +interface IconProps { + className?: string; +} + +function ArrowRightIcon({ className }: IconProps) { return ( ); diff --git a/client/src/index.css b/client/src/index.css index a7ec399..c4015f5 100644 --- a/client/src/index.css +++ b/client/src/index.css @@ -70,3 +70,17 @@ body { height: 6px; background-color: #fff; } + +.bg-gradient-card { + content: ""; + /* position: absolute; */ + top: 0; + left: 0; + width: 100%; + height: 100%; + background: linear-gradient( + 180deg, + rgba(20, 22, 31, 0) 0%, + rgba(20, 22, 31, 0.6) 100% + ); +} diff --git a/client/yarn.lock b/client/yarn.lock index 522e319..010a114 100644 --- a/client/yarn.lock +++ b/client/yarn.lock @@ -1404,6 +1404,11 @@ queue-microtask@^1.2.2: resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== +react-circular-progressbar@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/react-circular-progressbar/-/react-circular-progressbar-2.1.0.tgz#99e5ae499c21de82223b498289e96f66adb8fa3a" + integrity sha512-xp4THTrod4aLpGy68FX/k1Q3nzrfHUjUe5v6FsdwXBl3YVMwgeXYQKDrku7n/D6qsJA9CuunarAboC2xCiKs1g== + react-dom@^18.2.0: version "18.2.0" resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d" @@ -1440,6 +1445,11 @@ react-router@6.18.0: dependencies: "@remix-run/router" "1.11.0" +react-swipeable@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/react-swipeable/-/react-swipeable-7.0.1.tgz#cd299f5986c5e4a7ee979839658c228f660e1e0c" + integrity sha512-RKB17JdQzvECfnVj9yDZsiYn3vH0eyva/ZbrCZXZR0qp66PBRhtg4F9yJcJTWYT5Adadi+x4NoG53BxKHwIYLQ== + react@^18.2.0: version "18.2.0" resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5"