14 Commits

Author SHA1 Message Date
37dc3e4172 Merge version_4 into main
Merge version_4 into main
2026-06-10 06:05:28 +00:00
469100d1c7 Update src/app/page.tsx 2026-06-10 06:05:25 +00:00
e20b45d976 Merge version_4 into main
Merge version_4 into main
2026-06-10 06:04:31 +00:00
639e65a434 Update src/app/services/page.tsx 2026-06-10 06:04:28 +00:00
fdccf2fddb Update src/app/page.tsx 2026-06-10 06:04:27 +00:00
8ae240b4bc Merge version_4 into main
Merge version_4 into main
2026-06-10 06:03:37 +00:00
4cafbee85b Add src/app/services/page.tsx 2026-06-10 06:03:34 +00:00
794a677652 Update src/app/page.tsx 2026-06-10 06:03:34 +00:00
508f508f15 Merge version_3 into main
Merge version_3 into main
2026-06-10 05:25:58 +00:00
16ffd73e1b Update src/app/page.tsx 2026-06-10 05:25:55 +00:00
8f5a1aeb79 Merge version_3 into main
Merge version_3 into main
2026-06-10 05:06:10 +00:00
0f4384cc0e Update src/app/page.tsx 2026-06-10 05:06:07 +00:00
cc9aaf21e2 Update src/app/layout.tsx 2026-06-10 05:06:07 +00:00
573506d981 Merge version_2 into main
Merge version_2 into main
2026-06-10 04:54:45 +00:00
3 changed files with 304 additions and 172 deletions

View File

@@ -11,8 +11,8 @@ import { DM_Sans } from "next/font/google";
export const metadata: Metadata = {
title: 'GRN GROUP | Архитектурная студия',
description: 'GRN GROUP: 20 лет опыта в строительстве и ремонтных работах. Минималистичная архитектура, ремонт под ключ. Создаем элегантные и функциональные пространства, сочетающие современную простоту и вечную красоту.',
title: 'GRN GROUP | Ремонт и Реновация',
description: 'GRN GROUP: 20 лет опыта в строительстве и ремонтных работах. Специализируемся на комплексной реновации домов, квартир и офисов любой сложности, включая услуги под ключ. Преобразуем пространства с профессионализмом и вниманием к деталям.',
};
const dmSans = DM_Sans({

View File

@@ -9,184 +9,196 @@ import FeatureCardSix from "@/components/sections/feature/FeatureCardSix";
import MetricCardTwo from "@/components/sections/metrics/MetricCardTwo";
import ContactSplit from "@/components/sections/contact/ContactSplit";
import FooterBaseReveal from "@/components/sections/footer/FooterBaseReveal";
import { MessageCircle } from "lucide-react";
export default function ArchitectureStudioPage() {
return (
<ThemeProvider
defaultButtonVariant="expand-hover"
defaultTextAnimation="reveal-blur"
borderRadius="soft"
contentWidth="smallMedium"
sizing="largeSizeMediumTitles"
background="aurora"
cardStyle="glass-elevated"
primaryButtonStyle="double-inset"
secondaryButtonStyle="solid"
headingFontWeight="bold"
>
<ReactLenis root>
<div id="nav" data-section="nav">
<NavbarLayoutFloatingInline
brandName="GRN GROUP"
navItems={[
{ name: "Работы", id: "projects" },
{ name: "О нас", id: "philosophy" },
{ name: "Контакты", id: "contact" }
]}
button={{
text: "Запрос", href: "contact"
}}
className="text-xs tracking-widest uppercase"
navItemClassName="text-sm font-light tracking-wide"
buttonClassName="px-6 py-2 text-sm tracking-widest uppercase"
/>
</div>
<>
<ThemeProvider
defaultButtonVariant="expand-hover"
defaultTextAnimation="reveal-blur"
borderRadius="soft"
contentWidth="smallMedium"
sizing="largeSizeMediumTitles"
background="aurora"
cardStyle="glass-elevated"
primaryButtonStyle="double-inset"
secondaryButtonStyle="solid"
headingFontWeight="bold"
>
<ReactLenis root>
<div id="nav" data-section="nav">
<NavbarLayoutFloatingInline
brandName="GRN GROUP"
navItems={[
{ name: "Главная", id: "/" },
{ name: "Услуги", id: "/#projects" },
{ name: "Портфолио", id: "/#projects" },
{ name: "Контакты", id: "/contacts" }
]}
button={{
text: "Оставить заявку", href: "/contacts"
}}
className="text-xs tracking-widest uppercase"
/>
</div>
<div id="hero" data-section="hero">
<HeroSplit
background={{ variant: "plain" }}
title="Архитектурная студия GRN GROUP"
description="20 лет опыта в строительстве и ремонтных работах. Создаем пространства, которые выдерживают испытание временем, сочетая сдержанность и точность. Каждый проект — это диалог между местом, материалом и намерением."
imagePosition="right"
imageSrc="https://img.b2bpic.net/free-photo/minimalist-architectural-building-details_23-2151870844.jpg"
imageAlt="modern building architecture minimalist interior concrete"
buttons={[
{ text: "Смотреть работы", href: "projects" }
]}
mediaAnimation="slide-up"
className="py-24 md:py-32"
containerClassName="max-w-7xl"
titleClassName="text-5xl md:text-7xl font-light tracking-tight leading-tight"
descriptionClassName="text-sm md:text-xl font-light leading-relaxed"
buttonClassName="px-8 py-3 text-sm tracking-widest uppercase mt-2"
/>
</div>
<div id="hero" data-section="hero">
<HeroSplit
background={{ variant: "plain" }}
title="Строительство и Ремонт любой Сложности от GRN GROUP"
description="Специализируемся на высококачественном ремонте домов, квартир и офисов. От косметического обновления до комплексной перестройки под ключ, мы воплощаем ваши идеи в жизнь с точностью и профессионализмом."
imagePosition="right"
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3E4r9ou3Tp6F2ybU0Rjz0eb8Tuu/uploaded-1781068669729-9hqicbda.png"
imageAlt="modern renovated room with wooden floor"
buttons={[
{ text: "Смотреть проекты", href: "/#projects" }
]}
mediaAnimation="slide-up"
className="py-24 md:py-32"
containerClassName="max-w-7xl"
titleClassName="text-5xl md:text-7xl font-light tracking-tight leading-tight"
descriptionClassName="text-sm md:text-xl font-light leading-relaxed"
buttonClassName="px-8 py-3 text-sm tracking-widest uppercase mt-2"
/>
</div>
<div id="philosophy" data-section="philosophy">
<TextAbout
title="Мы верим, что архитектура должна говорить тихо. Хороший дизайн не требует объяснений — он существует с целью и сдержанностью, позволяя жильцам пользоваться пространством без отвлечения. Наша практика сосредоточена на понимании контекста, уважении к честности материалов и создании вневременных сред. Мы также предлагаем комплексный ремонт под ключ."
useInvertedBackground={false}
className="py-32 md:py-48"
containerClassName="max-w-4xl"
titleClassName="text-3xl md:text-5xl font-light leading-relaxed text-center"
/>
</div>
<div id="philosophy" data-section="philosophy">
<TextAbout
title="GRN GROUP: Ваш Надежный Партнер в Ремонте и Реновации. Мы преобразуем пространства, чтобы они не только эстетично выглядели, но и были максимально функциональны и комфортны. От детального планирования до безупречной реализации наша команда обеспечивает высочайшее качество и внимание к каждой детали."
useInvertedBackground={false}
className="py-32 md:py-48"
containerClassName="max-w-4xl"
titleClassName="text-3xl md:text-5xl font-light leading-relaxed text-center"
/>
</div>
<div id="projects" data-section="projects">
<FeatureCardSix
title="Избранные проекты"
description="Недавние работы, исследующие материальность, форму и пространственную целостность"
textboxLayout="default"
useInvertedBackground={true}
features={[
{
title: "Резиденция у реки", description: "Частный дом, органично вписанный в ландшафт. Бетон, стекло и дерево создают диалог между структурой и природой. Индивидуальный дизайн, учитывающий прибрежный контекст.", imageSrc: "https://img.b2bpic.net/free-photo/city-building-sky_23-2148107055.jpg"
},
{
title: "Корпоративная штаб-квартира", description: "Минималистичный офисный комплекс с акцентом на естественное освещение и подлинность материалов. Стальная конструкция с каменной облицовкой создает спокойную и сосредоточенную рабочую среду.", imageSrc: "https://img.b2bpic.net/free-photo/imposing-building-near-smaller-black-building_23-2148252731.jpg"
},
{
title: "Городская студия", description: "Адаптивное повторное использование промышленного склада под творческое рабочее пространство. Тщательное сохранение существующей структуры с сдержанными новыми вмешательствами.", imageSrc: "https://img.b2bpic.net/free-photo/concrete-structure-blue-sky_181624-5763.jpg"
},
{
title: "Ботанический павильон", description: "Общественная садовая структура, исследующая устойчивые материалы и прозрачный дизайн. Стальной каркас с живыми стенами создает проницаемое пространство для общественных собраний.", imageSrc: "https://img.b2bpic.net/free-photo/white-facade-modern-building_181624-6180.jpg"
}
]}
className="py-32 md:py-48"
textBoxTitleClassName="text-4xl md:text-6xl font-light tracking-tight"
textBoxDescriptionClassName="text-base md:text-lg font-light"
cardTitleClassName="text-4xl md:text-5xl font-light tracking-tight mb-4"
cardDescriptionClassName="text-lg md:text-xl font-light leading-relaxed"
stepNumberClassName="mb-4"
/>
</div>
<div id="projects" data-section="projects">
<FeatureCardSix
title="Наши Проекты"
description="Ознакомьтесь с нашими недавними работами по преображению жилых и коммерческих пространств."
textboxLayout="default"
useInvertedBackground={true}
features={[
{
title: "Реновация Жилых Помещений", description: "Комплексный ремонт квартир и домов, включающий перепланировку, замену коммуникаций, отделку и дизайн-решения для создания идеального жилого пространства.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3E4r9ou3Tp6F2ybU0Rjz0eb8Tuu/uploaded-1781068888555-bktfgsxl.png"
},
{
title: "Ремонт Коммерческих Объектов", description: "Модернизация офисов, магазинов и других коммерческих пространств для повышения функциональности, эстетики и комфорта клиентов и сотрудников.", imageSrc: "https://img.b2bpic.net/free-photo/beautiful-modern-building-modern-architecture_181624-21692.jpg?id=11111843"
},
{
title: "Косметический Ремонт", description: "Быстрое и эффективное обновление интерьера: покраска, поклейка обоев, замена напольных покрытий. Идеально для быстрого преображения вашего пространства.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3E4r9ou3Tp6F2ybU0Rjz0eb8Tuu/uploaded-1781068815588-ebev6112.png"
},
{
title: "Ремонт Под Ключ", description: "Полный цикл работ от дизайн-проекта до финальной уборки. Мы берем на себя все заботы, обеспечивая безупречный результат точно в срок.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3E4r9ou3Tp6F2ybU0Rjz0eb8Tuu/uploaded-1781068769896-p5h50dhu.png"
}
]}
className="py-32 md:py-48"
textBoxTitleClassName="text-4xl md:text-6xl font-light tracking-tight"
textBoxDescriptionClassName="text-base md:text-lg font-light"
cardTitleClassName="text-4xl md:text-5xl font-light tracking-tight mb-4"
cardDescriptionClassName="text-lg md:text-xl font-light leading-relaxed"
stepNumberClassName="mb-4"
/>
</div>
<div id="metrics" data-section="metrics">
<MetricCardTwo
title="Наша практика"
description="Показатели, которые важны для нас. 20 лет успешной работы."
textboxLayout="default"
useInvertedBackground={false}
gridVariant="uniform-all-items-equal"
animationType="slide-up"
metrics={[
{
id: "1", value: "20+", description: "Лет на рынке"
},
{
id: "2", value: "120+", description: "Завершенных проектов"
},
{
id: "3", value: "4", description: "Главных архитекторов"
},
{
id: "4", value: "42", description: "Членов команды"
}
]}
className="py-24 md:py-32"
textBoxTitleClassName="text-4xl md:text-6xl font-light tracking-tight"
textBoxDescriptionClassName="text-base md:text-lg font-light"
valueClassName="text-9xl md:text-7xl font-light"
metricDescriptionClassName="text-sm md:text-base font-light uppercase tracking-wide"
/>
</div>
<div id="metrics" data-section="metrics">
<MetricCardTwo
title="Наши Ключевые Показатели"
description="Более 20 лет успешной работы и тысячи довольных клиентов."
textboxLayout="default"
useInvertedBackground={false}
gridVariant="uniform-all-items-equal"
animationType="slide-up"
metrics={[
{
id: "1", value: "20+", description: "Лет на рынке"
},
{
id: "2", value: "120+", description: "Завершенных проектов"
},
{
id: "3", value: "4", description: "Ведущих специалистов"
},
{
id: "4", value: "42", description: "Членов команды"
}
]}
className="py-24 md:py-32"
textBoxTitleClassName="text-4xl md:text-6xl font-light tracking-tight"
textBoxDescriptionClassName="text-base md:text-lg font-light"
valueClassName="text-9xl md:text-7xl font-light"
metricDescriptionClassName="text-sm md:text-base font-light uppercase tracking-wide"
/>
</div>
<div id="contact" data-section="contact">
<ContactSplit
background={{ variant: "plain" }}
tag="Свяжитесь с нами"
title="Обсудим ваш проект"
description="Мы ищем заказы, где вдумчивый дизайн и видение клиента совпадают. Расскажите нам о вашем пространстве, ваших стремлениях, ваших ограничениях."
useInvertedBackground={true}
imageSrc="https://img.b2bpic.net/free-photo/grey-concrete-building-blue-sky_181624-6496.jpg"
imageAlt="studio workspace architects design drafting collaboration"
mediaPosition="right"
mediaAnimation="slide-up"
inputPlaceholder="ваш@email.com"
buttonText="Отправить"
termsText="Мы ценим ваше обращение. Мы свяжемся с вами в течение 48 часов."
className="py-32 md:py-48"
tagClassName="text-sm uppercase tracking-widest"
titleClassName="text-4xl md:text-5xl font-light tracking-tight leading-tight mt-4"
descriptionClassName="text-base md:text-lg font-light leading-relaxed mt-3"
buttonClassName="px-8 py-3 text-sm tracking-widest uppercase"
termsClassName="text-sm font-light mt-4"
/>
</div>
<div id="contact" data-section="contact">
<ContactSplit
background={{ variant: "plain" }}
tag="Свяжитесь с нами"
title="Начните Свой Проект Реновации"
description="Обсудите свои идеи и потребности с нашими экспертами. Мы поможем вам спланировать и реализовать ремонт вашей мечты."
useInvertedBackground={true}
imageSrc="https://img.b2bpic.net/free-photo/image-engineering-objects-workplace-top-view-construction-concept-engineering-tools-vintage-tone-retro-filter-effect-soft-focus-selective-focus_1418-714.jpg?id=1239498"
imageAlt="meeting discussion renovation plans interior design"
mediaPosition="right"
mediaAnimation="slide-up"
inputPlaceholder="ваш@email.com"
buttonText="Отправить запрос"
termsText="Мы ценим ваше обращение. Мы свяжемся с вами в течение 48 часов для обсуждения вашего проекта."
className="py-32 md:py-48"
tagClassName="text-sm uppercase tracking-widest"
titleClassName="text-4xl md:text-5xl font-light tracking-tight leading-tight mt-4"
descriptionClassName="text-base md:text-lg font-light leading-relaxed mt-3"
buttonClassName="px-8 py-3 text-sm tracking-widest uppercase"
termsClassName="text-sm font-light mt-4"
/>
</div>
<div id="footer" data-section="footer">
<FooterBaseReveal
logoText="GRN GROUP"
columns={[
{
title: "Студия", items: [
{ label: "О нас", href: "philosophy" },
{ label: "Работы", href: "projects" }
]
},
{
title: "Связь", items: [
{ label: "hello@grngroup.com", href: "mailto:hello@grngroup.com" },
{ label: "Контакты", href: "contact" }
]
},
{
title: "Услуги", items: [
{ label: "Жилые объекты", href: "#" },
{ label: "Коммерческие объекты", href: "#" },
{ label: "Реконструкция", href: "#" },
{ label: "Ремонт под ключ", href: "#" }
]
}
]}
copyrightText="© 2025 GRN GROUP. Вневременная архитектура."
className="mt-0"
columnTitleClassName="text-base uppercase tracking-widest font-light mb-0"
columnItemClassName="text-base font-light"
copyrightTextClassName="text-sm font-light"
/>
</div>
</ReactLenis>
</ThemeProvider>
<div id="footer" data-section="footer">
<FooterBaseReveal
logoText="GRN GROUP"
columns={[
{
title: "Компания", items: [
{ label: "О нас", href: "/#philosophy" },
{ label: "Проекты", href: "/#projects" }
]
},
{
title: "Связь", items: [
{ label: "hello@grngroup.com", href: "mailto:hello@grngroup.com" },
{ label: "Контакты", href: "/contacts" }
]
},
{
title: "Услуги", items: [
{ label: "Жилые объекты", href: "/#projects" },
{ label: "Коммерческие объекты", href: "/#projects" },
{ label: "Реконструкция", href: "/#projects" },
{ label: "Ремонт под ключ", href: "/#projects" }
]
}
]}
copyrightText="© 2025 GRN GROUP. Эксперты в ремонте и реновации."
className="mt-0"
logoTextClassName="font-bold text-gold-accent"
columnTitleClassName="text-base uppercase tracking-widest font-light mb-0"
columnItemClassName="text-base font-light"
copyrightTextClassName="text-sm font-light"
/>
</div>
</ReactLenis>
</ThemeProvider>
<a
href="https://wa.me/77011234567"
target="_blank"
rel="noopener noreferrer"
className="fixed bottom-6 right-6 bg-[#25D366] text-white p-4 rounded-full shadow-lg z-50 hover:scale-105 transition-transform"
aria-label="WhatsApp"
>
<MessageCircle className="w-6 h-6" />
</a>
</>
);
}

120
src/app/services/page.tsx Normal file
View File

@@ -0,0 +1,120 @@
"use client";
import ReactLenis from "lenis/react";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarLayoutFloatingInline from "@/components/navbar/NavbarLayoutFloatingInline";
import FooterBaseReveal from "@/components/sections/footer/FooterBaseReveal";
import MetricCardOne from "@/components/sections/metrics/MetricCardOne";
import { Home, Building, Key, PenTool, Paintbrush } from "lucide-react";
export default function ServicesPage() {
return (
<ThemeProvider
defaultButtonVariant="expand-hover"
defaultTextAnimation="reveal-blur"
borderRadius="soft"
contentWidth="smallMedium"
sizing="largeSizeMediumTitles"
background="aurora"
cardStyle="glass-elevated"
primaryButtonStyle="double-inset"
secondaryButtonStyle="solid"
headingFontWeight="bold"
>
<ReactLenis root>
<div id="nav" data-section="nav">
<NavbarLayoutFloatingInline
brandName="GRN GROUP"
navItems={[
{ name: "Услуги", id: "/services" },
{ name: "Проекты", id: "projects" },
{ name: "О нас", id: "philosophy" },
{ name: "Контакты", id: "contact" }
]}
button={{
text: "Запрос", href: "contact"
}}
className="text-xs tracking-widest uppercase"
navItemClassName="text-sm font-light tracking-wide"
buttonClassName="px-6 py-2 text-sm tracking-widest uppercase"
/>
</div>
<div id="services" data-section="services">
<MetricCardOne
title="Наши Услуги"
description="Мы предлагаем полный спектр услуг по ремонту и реновации для жилых и коммерческих объектов."
textboxLayout="default"
useInvertedBackground={false}
gridVariant="uniform-all-items-equal"
animationType="slide-up"
metrics={[
{
id: "1", icon: Home,
title: "Ремонт квартир", description: "Качественный ремонт жилых помещений, от косметического до капитального.", value: "от 1000 руб/м²"
},
{
id: "2", icon: Building,
title: "Ремонт коммерческих помещений", description: "Профессиональный ремонт офисов, магазинов и других коммерческих объектов.", value: "от 1500 руб/м²"
},
{
id: "3", icon: Key,
title: "Ремонт под ключ", description: "Полный цикл работ от дизайн-проекта до финишной уборки.", value: "Индивидуально"
},
{
id: "4", icon: PenTool,
title: "Дизайн-проект", description: "Разработка уникальных дизайн-проектов, соответствующих вашим требованиям и бюджету.", value: "от 500 руб/м²"
},
{
id: "5", icon: Paintbrush,
title: "Отделочные работы", description: "Все виды отделочных работ, включая покраску, обои, укладку напольных покрытий.", value: "от 300 руб/м²"
}
]}
className="py-24 md:py-32"
textBoxTitleClassName="text-4xl md:text-6xl font-light tracking-tight"
textBoxDescriptionClassName="text-base md:text-lg font-light"
cardClassName="p-6 md:p-8"
valueClassName="text-3xl md:text-4xl font-semibold mt-4"
titleClassName="text-xl md:text-2xl font-medium mt-2"
descriptionClassName="text-base font-light leading-relaxed mt-2"
iconContainerClassName="p-3 rounded-full bg-primary-cta text-white"
iconClassName="w-6 h-6"
/>
</div>
<div id="footer" data-section="footer">
<FooterBaseReveal
logoText="GRN GROUP"
columns={[
{
title: "Компания", items: [
{ label: "О нас", href: "philosophy" },
{ label: "Проекты", href: "projects" }
]
},
{
title: "Связь", items: [
{ label: "hello@grngroup.com", href: "mailto:hello@grngroup.com" },
{ label: "Контакты", href: "contact" }
]
},
{
title: "Услуги", items: [
{ label: "Жилые объекты", href: "/services" },
{ label: "Коммерческие объекты", href: "/services" },
{ label: "Реконструкция", href: "/services" },
{ label: "Ремонт под ключ", href: "/services" }
]
}
]}
copyrightText="© 2025 GRN GROUP. Эксперты в ремонте и реновации."
className="mt-0"
columnTitleClassName="text-base uppercase tracking-widest font-light mb-0"
columnItemClassName="text-base font-light"
copyrightTextClassName="text-sm font-light"
/>
</div>
</ReactLenis>
</ThemeProvider>
);
}