Merge branch 'main' of http://192.168.1.163:3000/aleksandrvasilev/graffestate.ae-new
This commit is contained in:
@@ -86,7 +86,7 @@
|
|||||||
"title": "Integration with the Developer's CRM System",
|
"title": "Integration with the Developer's CRM System",
|
||||||
"description1": "The system provides real-time updates on lot availability, status and pricing.",
|
"description1": "The system provides real-time updates on lot availability, status and pricing.",
|
||||||
"description2": "The sales tool automatically creates a client profile in your CRM system and assigns a dedicated manager.",
|
"description2": "The sales tool automatically creates a client profile in your CRM system and assigns a dedicated manager.",
|
||||||
"description3": "Graff.estate provides API integration with existing sales systems while capturing user analytics and behavioral data."
|
"description3": "GRAFF.estate provides API integration with existing sales systems while capturing user analytics and behavioral data."
|
||||||
},
|
},
|
||||||
"videos_title": {
|
"videos_title": {
|
||||||
"search": "Search",
|
"search": "Search",
|
||||||
@@ -148,7 +148,7 @@
|
|||||||
"start_demo": "Start demo",
|
"start_demo": "Start demo",
|
||||||
"info": "We'll explain and demonstrate how it works on a call",
|
"info": "We'll explain and demonstrate how it works on a call",
|
||||||
"leave_request": "Leave request",
|
"leave_request": "Leave request",
|
||||||
"demo_available": "Graff.estate stream is available on any device, for demonstration, you only need an internet connection",
|
"demo_available": "GRAFF.estate Stream is available on any device, for demonstration, you only need an internet connection",
|
||||||
"Казань": "Kazan",
|
"Казань": "Kazan",
|
||||||
"Москва": "Moscow",
|
"Москва": "Moscow",
|
||||||
"Владивосток": "Vladivostok",
|
"Владивосток": "Vladivostok",
|
||||||
@@ -205,7 +205,7 @@
|
|||||||
"Интерактивная презентация": "Interactive presentation",
|
"Интерактивная презентация": "Interactive presentation",
|
||||||
"Удаленная демонстрация": "Remote showcase",
|
"Удаленная демонстрация": "Remote showcase",
|
||||||
"Архитектурная визуализация": "Architectural rendering",
|
"Архитектурная визуализация": "Architectural rendering",
|
||||||
"Создание сайтов": "Website development",
|
"Создание сайтов": "Development of websites and 360° Web Tours.",
|
||||||
"Web-тур по 360 сферам": "Immersive 360° Web Tour",
|
"Web-тур по 360 сферам": "Immersive 360° Web Tour",
|
||||||
"Виртуальный тур по 360 сферам": "Virtual 360° Tour",
|
"Виртуальный тур по 360 сферам": "Virtual 360° Tour",
|
||||||
"Недвижимость": "Real estate",
|
"Недвижимость": "Real estate",
|
||||||
|
|||||||
@@ -199,7 +199,7 @@
|
|||||||
"Интерактивная презентация": "Интерактивная презентация",
|
"Интерактивная презентация": "Интерактивная презентация",
|
||||||
"Удаленная демонстрация": "Удаленная демонстрация",
|
"Удаленная демонстрация": "Удаленная демонстрация",
|
||||||
"Архитектурная визуализация": "Архитектурная визуализация",
|
"Архитектурная визуализация": "Архитектурная визуализация",
|
||||||
"Создание сайтов": "Создание сайтов",
|
"Создание сайтов": "Создание сайтов и виртуальных туров по 360° сферам.",
|
||||||
"Недвижимость": "Недвижимость",
|
"Недвижимость": "Недвижимость",
|
||||||
"Награды": "Награды",
|
"Награды": "Награды",
|
||||||
"Выставки": "Выставки",
|
"Выставки": "Выставки",
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -3,7 +3,7 @@ import { ProductItem } from "@/ui/ProductItem";
|
|||||||
|
|
||||||
export function Products() {
|
export function Products() {
|
||||||
return (
|
return (
|
||||||
<div className="grid md:grid-cols-2 grid-cols-3 md:grid-rows-6 grid-rows-2 gap-1 lg:gap-2 rounded-2xl max-h-[calc(100dvh-100px)] lg:h-[38.889vw] md:max-lg:h-[72.917vw] h-full w-full">
|
<div className="grid max-md:grid-cols-2 max-md:grid-rows-2 md:grid-cols-2 grid-cols-3 md:grid-rows-6 grid-rows-2 gap-1 lg:gap-2 rounded-2xl max-h-[calc(100dvh-100px)] lg:h-[38.889vw] md:max-lg:h-[72.917vw] h-full w-full">
|
||||||
{products.map((product, index) => (
|
{products.map((product, index) => (
|
||||||
<ProductItem
|
<ProductItem
|
||||||
href={"/" + product.title.toLowerCase()}
|
href={"/" + product.title.toLowerCase()}
|
||||||
@@ -11,10 +11,10 @@ export function Products() {
|
|||||||
{...product}
|
{...product}
|
||||||
className={
|
className={
|
||||||
index < 2
|
index < 2
|
||||||
? "max-md:aspect-[100/114] md:col-start-1 md:row-span-3"
|
? "md:col-start-1 md:row-span-3 "
|
||||||
: index === 4
|
: index === 3
|
||||||
? "col-span-2 md:col-span-1 md:col-start-2 md:row-start-5 md:row-end-7"
|
? "col-span-2 md:col-span-1 md:col-start-2 md:row-start-4 md:row-end-7 max-md:col-start-2 max-md:col-end-2"
|
||||||
: "max-md:aspect-[100/114] md:col-span-1 md:col-start-2 md:[&:nth-child(3)]:row-start-1 md:[&:nth-child(3)]:row-end-3 md:[&:nth-child(4)]:row-start-3 md:[&:nth-child(4)]:row-end-5"
|
: "md:col-span-1 md:col-start-2 md:[&:nth-child(3)]:row-start-1 md:[&:nth-child(3)]:row-end-4 md:[&:nth-child(4)]:row-start-3 md:[&:nth-child(4)]:row-end-5"
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
))}
|
))}
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ function NewStreaming() {
|
|||||||
<div className="max-lg:h-[400px] flex-1">
|
<div className="max-lg:h-[400px] flex-1">
|
||||||
<VideoPlayer src={"/videos/pages/home/streaming.mp4"} showMutingBtn>
|
<VideoPlayer src={"/videos/pages/home/streaming.mp4"} showMutingBtn>
|
||||||
<p className="accent font-medium absolute top-6 left-6 w-[39.861vw] max-lg:w-[90vw] max-lg:text-[20px] ">
|
<p className="accent font-medium absolute top-6 left-6 w-[39.861vw] max-lg:w-[90vw] max-lg:text-[20px] ">
|
||||||
Graff.estate stream is available on any device — all you need for
|
GRAFF.estate Stream is available on any device — all you need for
|
||||||
a demo is an internet connection.
|
a demo is an internet connection.
|
||||||
</p>
|
</p>
|
||||||
</VideoPlayer>
|
</VideoPlayer>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { useModalStore } from '@/stores/useModalStore';
|
import { useModalStore } from "@/stores/useModalStore";
|
||||||
import { motion } from 'framer-motion';
|
import { motion } from "framer-motion";
|
||||||
import { PrimeModal } from '../modals/PrimeModal';
|
import { PrimeModal } from "../modals/PrimeModal";
|
||||||
|
|
||||||
export function SeasonsCard({ slide }: { slide: number }) {
|
export function SeasonsCard({ slide }: { slide: number }) {
|
||||||
const { setModal } = useModalStore();
|
const { setModal } = useModalStore();
|
||||||
@@ -9,7 +9,7 @@ export function SeasonsCard({ slide }: { slide: number }) {
|
|||||||
<motion.div
|
<motion.div
|
||||||
animate={{
|
animate={{
|
||||||
opacity: +(slide > 12),
|
opacity: +(slide > 12),
|
||||||
bottom: slide > 12 ? '52.237vh' : '93.684vh',
|
bottom: slide > 12 ? "52.237vh" : "93.684vh",
|
||||||
}}
|
}}
|
||||||
onClick={() =>
|
onClick={() =>
|
||||||
setModal(
|
setModal(
|
||||||
@@ -17,7 +17,7 @@ export function SeasonsCard({ slide }: { slide: number }) {
|
|||||||
categoryTitle="Сезонность"
|
categoryTitle="Сезонность"
|
||||||
title="Сезонность"
|
title="Сезонность"
|
||||||
text="Сезонность даёт дополнительную глубину презентации: покупатель видит, как жилой комплекс выглядит осенью под золотыми листьями или зимой, украшенной гирляндами."
|
text="Сезонность даёт дополнительную глубину презентации: покупатель видит, как жилой комплекс выглядит осенью под золотыми листьями или зимой, украшенной гирляндами."
|
||||||
packages={['Комфорт+']}
|
packages={["Комфорт+"]}
|
||||||
src="/videos/pages/prime/seasons.mp4"
|
src="/videos/pages/prime/seasons.mp4"
|
||||||
/>
|
/>
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -22,11 +22,5 @@
|
|||||||
"title": "Picture",
|
"title": "Picture",
|
||||||
"text": "Архитектурная визуализация",
|
"text": "Архитектурная визуализация",
|
||||||
"image": "/img/components/products/picture.png"
|
"image": "/img/components/products/picture.png"
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 5,
|
|
||||||
"title": "Walk",
|
|
||||||
"text": "Виртуальный тур по 360 сферам",
|
|
||||||
"image": "/img/components/products/360.png"
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -44,14 +44,14 @@ export function ProductItem({
|
|||||||
<motion.div
|
<motion.div
|
||||||
initial={{ opacity: 0 }}
|
initial={{ opacity: 0 }}
|
||||||
animate={{ opacity: 1 }}
|
animate={{ opacity: 1 }}
|
||||||
className="relative md:hidden min-w-16 min-h-16 content-center"
|
className="relative md:hidden min-w-16 min-h-16 content-center mx-auto"
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
src={image}
|
src={image}
|
||||||
alt={text}
|
alt={text}
|
||||||
className="rounded-lg !relative"
|
className="rounded-lg !relative"
|
||||||
width={64}
|
height={84}
|
||||||
height={64}
|
width={84}
|
||||||
/>
|
/>
|
||||||
</motion.div>
|
</motion.div>
|
||||||
<motion.div
|
<motion.div
|
||||||
|
|||||||
Reference in New Issue
Block a user