This commit is contained in:
2023-12-01 14:43:18 +05:00
parent b8cec033bb
commit edcd51599c
33 changed files with 2669 additions and 236 deletions
+28 -143
View File
@@ -8,9 +8,9 @@ import BlendStream from "./components/blendings/BlendStream";
import StreamButton from "./components/StreamButton";
import "react-rangeslider/lib/index.css";
import "./components/RangeSlider.css";
import { useState } from "react";
import { useEffect, useState } from "react";
import ProjectCard from "./components/ProjectCard";
import MoreProjectButton from "./components/MoreProjectButton";
// import MoreProjectButton from "./components/MoreProjectButton";
import ExampleCard from "./components/ExampleCard";
import FeatureVideoViewBox from "./components/FeatureVideoViewBox";
import Button from "./components/Button";
@@ -20,15 +20,36 @@ import BlendingClients from "./components/blendings/BlendingClients";
import Heading2 from "./components/Headings/Heading2";
// import PlayIcon from "./components/icons/PlayIcon";
import VideoSliderMobile from "./components/VideoSliderMobile";
// import { isMobile } from "react-device-detect";
import IProject from "./types/IProject";
import api from "./utils/api";
function App() {
const [selectedVideo, setSelectedVideo] = useState<string>(
"https://graff.estate/videos/features/virtual_tour.mp4"
);
const [isShowProjects, setIsShowProjects] = useState<boolean>(false);
// const [isShowProjects, setIsShowProjects] = useState<boolean>(false);
const [projects, setProjects] = useState<IProject[]>([]);
async function getProjects() {
try {
const projects: IProject[] = await api.get("projects").json();
setProjects(projects);
} catch (error) {
if (error instanceof Error) {
alert(`Error: ${error.message}`);
}
}
}
useEffect(() => {
getProjects();
}, []);
return (
<div className="min-h-screen text-white 2xl:px-10 xl:px-8 sm:px-6 px-4 overflow-x-clip">
<div className="min-h-screen 2xl:px-10 xl:px-8 sm:px-6 px-4 overflow-x-clip">
<div className="relative conatiner mx-auto 2xl:max-w-screen-2xl">
<div className="flex justify-between py-6 2xl:mb-28 xl:mb-[88px] sm:mb-12 mb-14">
<div>
@@ -408,145 +429,9 @@ function App() {
<div className="flex flex-col gap-16 2xl:mb-40 sm:mb-[120px] mb-20">
<Heading2>Проекты</Heading2>
<div className="grid xl:grid-cols-3 sm:grid-cols-2 2xl:gap-8 xl:gap-6 gap-3">
<ProjectCard
title="ЖК «Голос в сердце города»"
company="Голос Девелопмент, Челябинск"
image="/images/projects/photo01.jpg"
stream
stage={1}
/>
<ProjectCard
title="ЖК «Кама»"
company="ГК Альфа, Пермь"
image="/images/projects/photo02.jpg"
stage={2}
/>
<ProjectCard
title="ЖК «Август»"
company="Родина Девелопмент, Тюмень"
image="/images/projects/photo03.jpg"
stage={4}
/>
<ProjectCard
title="ЖК «DNS Сити»"
company="НКС Девелопмент, Владивосток"
image="/images/projects/photo04.jpg"
/>
<ProjectCard
title="ЖК «Upside Towers»"
company="Upside Development, Москва"
image="/images/projects/photo05.jpg"
/>
<ProjectCard
title="ЖК «Scala City»"
company="Рисан, Пенза"
image="/images/projects/photo06.jpg"
/>
<ProjectCard
title="ЖК «Мираполис»"
company="ГК Основа, Москва"
image="/images/projects/photo07.jpg"
/>
<ProjectCard
title="ЖК «Ориент»"
company="СК+, Хабаровск"
image="/images/projects/photo08.jpg"
/>
{!isShowProjects ? (
<MoreProjectButton handleClick={() => setIsShowProjects(true)} />
) : (
<>
<ProjectCard
title="ЖК «Новатор»"
company="СБК, Тюмень"
image="/images/projects/photo09.jpg"
stream
stage={1}
/>
<ProjectCard
title="ЖК «Фотограф»"
company="Мавис, Санкт-Петербург"
image="/images/projects/photo10.jpg"
stage={2}
/>
<ProjectCard
title="ЖК «Life Резиденция»"
company="Паритет Девелопмент, Тюмень"
image="/images/projects/photo11.jpg"
stage={3}
/>
<ProjectCard
title="МФК «Re:volution towers»"
company="НКС Девелопмент, Екатеринбург"
image="/images/projects/photo12.jpg"
/>
<ProjectCard
title="ЖК «Айвазовский»"
company="ЭНКО, Тюмень"
image="/images/projects/photo13.jpg"
/>
<ProjectCard
title="ЖК «Авторский квартал Машаров»"
company="Сибинтел Девелопмент, Тюмень"
image="/images/projects/photo14.jpg"
/>
<ProjectCard
title="ЖК «Уральский»"
company="Эфес, Екатеринбург"
image="/images/projects/photo15.jpg"
/>
<ProjectCard
title="Iskan Abu Dhabi"
company="ОАЭ, Абу-Даби"
image="/images/projects/photo16.jpg"
/>
<ProjectCard
title="ЖК «Графика»"
company="Мавис, Санкт-Петербург"
image="/images/projects/photo17.jpg"
/>
<ProjectCard
title="ЖК «4you»"
company="Атлас Девелопмент, Екатеринбург"
image="/images/projects/photo18.jpg"
/>
<ProjectCard
title="ЖК «Новая Атмосфера»"
company="Застройщик Атмосфера, Брянск"
image="/images/projects/photo19.jpg"
/>
<ProjectCard
title="ЖК «Тринити»"
company="НКС-девелопмент, Екатеринбург"
image="/images/projects/photo20.jpg"
/>
<ProjectCard
title="ЖК «Дом на Опалихинской»"
company="Корпорация «Маяк», Екатеринбург"
image="/images/projects/photo21.jpg"
/>
</>
)}
{projects.map((project, index) => (
<ProjectCard key={index} {...project} />
))}
</div>
</div>