Merge version_2_1781991889079 into main #1

Merged
bender merged 1 commits from version_2_1781991889079 into main 2026-06-20 21:46:19 +00:00
9 changed files with 307 additions and 227 deletions

View File

@@ -5,15 +5,15 @@
:root {
/* @colorThemes/lightTheme/grayNavyBlue */
--background: #050a0f;
--card: #0f172a;
--background: #0a0a0a;
--card: #141414;
--foreground: #f1f5f9;
--primary-cta: #06b6d4;
--primary-cta-text: #050a0f;
--secondary-cta: #1e293b;
--primary-cta: #d4af37;
--primary-cta-text: #0a0a0a;
--secondary-cta: #262626;
--secondary-cta-text: #f1f5f9;
--accent: #22d3ee;
--background-accent: #083344;
--accent: #d4af37;
--background-accent: #1f1a0d;
/* @layout/border-radius/rounded */
--radius: 0.5rem;

View File

@@ -1,231 +1,33 @@
import AboutMediaOverlay from '@/components/sections/about/AboutMediaOverlay';
import ContactCta from '@/components/sections/contact/ContactCta';
import FaqTabbedAccordion from '@/components/sections/faq/FaqTabbedAccordion';
import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento';
import HeroOverlay from '@/components/sections/hero/HeroOverlay';
import MetricsFeatureCards from '@/components/sections/metrics/MetricsFeatureCards';
import TestimonialMarqueeCards from '@/components/sections/testimonial/TestimonialMarqueeCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
// AUTO-GENERATED shell by per-section-migrate.
// Section bodies live in ./<PageBase>/sections/<X>.tsx. Edit the section
// files directly. Non-block content (wrappers, non-inlinable sections) is
// preserved inline; extracted section blocks become <XSection/> refs.
export default function HomePage() {
import React from 'react';
import HeroSection from './HomePage/sections/Hero';
import AboutSection from './HomePage/sections/About';
import ServicesSection from './HomePage/sections/Services';
import MetricsSection from './HomePage/sections/Metrics';
import TestimonialsSection from './HomePage/sections/Testimonials';
import FaqSection from './HomePage/sections/Faq';
import ContactSection from './HomePage/sections/Contact';
export default function HomePage(): React.JSX.Element {
return (
<>
<div id="hero" data-section="hero">
<SectionErrorBoundary name="hero">
<HeroOverlay
tag="Автосервис & Чип-тюнинг"
title="Мощность, надежность, результат"
description="Профессиональный сервис и тюнинг в Череповце. Индивидуальный подход к каждому автомобилю."
primaryButton={{
text: "Записаться на сервис",
href: "#contact",
}}
secondaryButton={{
text: "Позвонить",
href: "tel:744040",
}}
imageSrc="https://storage.googleapis.com/webild/users/user_3FPzO8cgnfMTsm5eUayVuGgEH4Q/uploaded-1781991674760-vrb6p60u.png"
/>
</SectionErrorBoundary>
</div>
<>
<HeroSection />
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutMediaOverlay
tag="О нас"
title="BoostLub: Ваш путь к идеальному вождению"
description="Мы специализируемся на увеличении мощности, диагностике и комплексном обслуживании современных автомобилей. Наши мастера используют только профессиональное оборудование для достижения лучших результатов."
imageSrc="https://storage.googleapis.com/webild/users/user_3FPzO8cgnfMTsm5eUayVuGgEH4Q/uploaded-1781991674763-av1pa07j.png"
/>
</SectionErrorBoundary>
</div>
<AboutSection />
<div id="services" data-section="services">
<SectionErrorBoundary name="services">
<FeaturesImageBento
tag="Наши Услуги"
title="Комплексные авто-решения"
description="Более 7 ключевых направлений обслуживания вашего автомобиля."
items={[
{
title: "Чип-тюнинг",
description: "Оптимизация ЭБУ для повышения мощности.",
imageSrc: "http://img.b2bpic.net/free-photo/hands-mechanic-using-diagnostic-tool_1170-1146.jpg",
},
{
title: "Диагностика",
description: "Полный компьютерный осмотр систем.",
imageSrc: "http://img.b2bpic.net/free-photo/focused-manly-woman-is-doing-car-diagnostic-with-computer-help-auto-service_613910-17106.jpg",
},
{
title: "Ремонт КПП",
description: "Восстановление работоспособности коробки передач.",
imageSrc: "http://img.b2bpic.net/free-photo/young-mechanic-working-air-conditioning-system-car-auto-repair-shop_637285-4283.jpg",
},
{
title: "Подвеска",
description: "Ремонт и обслуживание ходовой части.",
imageSrc: "http://img.b2bpic.net/free-photo/top-view-many-tools_23-2147773434.jpg",
},
{
title: "Тормоза",
description: "Замена и профилактика тормозных систем.",
imageSrc: "http://img.b2bpic.net/free-photo/female-mechanic-fixing-car-wheel-with-pneumatic-wrench_1170-1218.jpg",
},
{
title: "Выкуп",
description: "Срочный выкуп автомобилей в любом состоянии.",
imageSrc: "http://img.b2bpic.net/free-photo/professional-mechanics-popular-auto-workshop_329181-11834.jpg",
},
{
title: "Эвакуация",
description: "Круглосуточный эвакуатор по области.",
imageSrc: "http://img.b2bpic.net/free-photo/modern-automobile-mechanic-composition_23-2147881860.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<ServicesSection />
<div id="metrics" data-section="metrics">
<SectionErrorBoundary name="metrics">
<MetricsFeatureCards
tag="Статистика"
title="BoostLub в цифрах"
description="Надежность, подтвержденная опытом."
metrics={[
{
value: "10+",
title: "Лет работы",
features: [
"Опыт в тюнинге",
"Профессионализм",
"Надежность",
],
},
{
value: "5000+",
title: "Автомобилей",
features: [
"Успешных чип-тюнингов",
"Диагностик",
"Клиентов",
],
},
{
value: "24/7",
title: "Эвакуация",
features: [
"Быстрый выезд",
"Зона 60км",
"Оперативность",
],
},
]}
/>
</SectionErrorBoundary>
</div>
<MetricsSection />
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialMarqueeCards
tag="Отзывы"
title="Что говорят наши клиенты"
description="Честные мнения о BoostLub."
testimonials={[
{
name: "Алексей",
role: "Клиент",
quote: "Прошили ЭБУ, машина поехала совсем иначе. Спасибо!",
imageSrc: "http://img.b2bpic.net/free-photo/teen-age-youth-style-self-expression-concept-portrait-positive-happy-teenage-girl-with-bob-pinkish-hairstyle-facial-piercing-relaxing-indoors_343059-3781.jpg",
},
{
name: "Марина",
role: "Клиент",
quote: "Быстро забрали машину на эвакуаторе ночью. Очень выручили.",
imageSrc: "http://img.b2bpic.net/free-photo/stylish-elegant-woman-car-salon_1157-31957.jpg",
},
{
name: "Дмитрий",
role: "Клиент",
quote: "Лучший сервис по диагностике в Череповце.",
imageSrc: "http://img.b2bpic.net/free-photo/woman-with-thumbs-up_1149-1163.jpg",
},
{
name: "Сергей",
role: "Клиент",
quote: "Продал авто быстро, цена устроила полностью.",
imageSrc: "http://img.b2bpic.net/free-photo/stylish-elegant-woman-car-salon_1157-31960.jpg",
},
{
name: "Игорь",
role: "Клиент",
quote: "Рекомендую ребят, профи в своем деле.",
imageSrc: "http://img.b2bpic.net/free-photo/thrilled-confident-manager-business-attire-celebrates-victorious-milestone_482257-111932.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<TestimonialsSection />
<div id="faq" data-section="faq">
<SectionErrorBoundary name="faq">
<FaqTabbedAccordion
tag="Вопросы"
title="Часто задаваемые вопросы"
categories={[
{
name: "Чип-тюнинг",
items: [
{
question: "Влияет ли чип-тюнинг на ресурс двигателя?",
answer: "При грамотном подходе и настройке штатных параметров ресурс остается на уровне заводского.",
},
{
question: "Сколько времени занимает прошивка ЭБУ?",
answer: "Обычно процедура занимает от 1 до 3 часов в зависимости от марки автомобиля.",
},
],
},
{
name: "Выкуп & Ремонт",
items: [
{
question: "Как быстро вы оцениваете авто на выкуп?",
answer: "Предварительная оценка по телефону — 5 минут, осмотр в сервисе — 30 минут.",
},
{
question: "Предоставляете ли вы гарантию на ремонт?",
answer: "Да, мы даем официальную гарантию на все выполненные работы и установленные запчасти.",
},
{
question: "Работаете ли вы с коммерческим транспортом?",
answer: "Да, мы обслуживаем как легковые автомобили, так и легкий коммерческий транспорт.",
},
],
},
]}
description="Получите ответы на популярные вопросы о наших услугах."
/>
</SectionErrorBoundary>
</div>
<FaqSection />
<div id="contact" data-section="contact">
<SectionErrorBoundary name="contact">
<ContactCta
tag="Запись"
text="Готовы проконсультироваться по вашему авто?"
primaryButton={{
text: "Оставить заявку",
href: "#footer",
}}
secondaryButton={{
text: "Позвонить",
href: "tel:744040",
}}
/>
</SectionErrorBoundary>
</div>
<ContactSection />
</>
);
}

View File

@@ -0,0 +1,21 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "about" section.
import React from 'react';
import AboutMediaOverlay from '@/components/sections/about/AboutMediaOverlay';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function AboutSection(): React.JSX.Element {
return (
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutMediaOverlay
tag="О нас"
title="BoostLub: Ваш путь к идеальному вождению"
description="Мы специализируемся на увеличении мощности, диагностике и комплексном обслуживании современных автомобилей. Наши мастера используют только профессиональное оборудование для достижения лучших результатов."
imageSrc="https://storage.googleapis.com/webild/users/user_3FPzO8cgnfMTsm5eUayVuGgEH4Q/uploaded-1781991674763-av1pa07j.png"
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,27 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "contact" section.
import React from 'react';
import ContactCta from '@/components/sections/contact/ContactCta';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function ContactSection(): React.JSX.Element {
return (
<div id="contact" data-section="contact">
<SectionErrorBoundary name="contact">
<ContactCta
tag="Запись"
text="Готовы проконсультироваться по вашему авто?"
primaryButton={{
text: "Оставить заявку",
href: "#footer",
}}
secondaryButton={{
text: "Позвонить",
href: "tel:744040",
}}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,52 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "faq" section.
import React from 'react';
import FaqTabbedAccordion from '@/components/sections/faq/FaqTabbedAccordion';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function FaqSection(): React.JSX.Element {
return (
<div id="faq" data-section="faq">
<SectionErrorBoundary name="faq">
<FaqTabbedAccordion
tag="Вопросы"
title="Часто задаваемые вопросы"
categories={[
{
name: "Чип-тюнинг",
items: [
{
question: "Влияет ли чип-тюнинг на ресурс двигателя?",
answer: "При грамотном подходе и настройке штатных параметров ресурс остается на уровне заводского.",
},
{
question: "Сколько времени занимает прошивка ЭБУ?",
answer: "Обычно процедура занимает от 1 до 3 часов в зависимости от марки автомобиля.",
},
],
},
{
name: "Выкуп & Ремонт",
items: [
{
question: "Как быстро вы оцениваете авто на выкуп?",
answer: "Предварительная оценка по телефону — 5 минут, осмотр в сервисе — 30 минут.",
},
{
question: "Предоставляете ли вы гарантию на ремонт?",
answer: "Да, мы даем официальную гарантию на все выполненные работы и установленные запчасти.",
},
{
question: "Работаете ли вы с коммерческим транспортом?",
answer: "Да, мы обслуживаем как легковые автомобили, так и легкий коммерческий транспорт.",
},
],
},
]}
description="Получите ответы на популярные вопросы о наших услугах."
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,20 @@
// Created by add_section_from_catalog (HeroSplitVerticalMarquee).
import React from 'react';
import HeroSplitVerticalMarquee from '@/components/sections/hero/HeroSplitVerticalMarquee';
export default function HeroSection(): React.JSX.Element {
return (
<div data-webild-section="hero" id="hero">
<HeroSplitVerticalMarquee
primaryButton={{"href":"#contact","text":"Записаться на сервис"}}
description="Профессиональный сервис и тюнинг в Череповце. Индивидуальный подход к каждому автомобилю."
title="Мощность, надежность, результат"
secondaryButton={{"text":"Позвонить","href":"tel:744040"}}
tag="Автосервис & Чип-тюнинг"
leftItems={[]}
rightItems={[]}
/>
</div>
);
}

View File

@@ -0,0 +1,49 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "metrics" section.
import React from 'react';
import MetricsFeatureCards from '@/components/sections/metrics/MetricsFeatureCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function MetricsSection(): React.JSX.Element {
return (
<div id="metrics" data-section="metrics">
<SectionErrorBoundary name="metrics">
<MetricsFeatureCards
tag="Статистика"
title="BoostLub в цифрах"
description="Надежность, подтвержденная опытом."
metrics={[
{
value: "10+",
title: "Лет работы",
features: [
"Опыт в тюнинге",
"Профессионализм",
"Надежность",
],
},
{
value: "5000+",
title: "Автомобилей",
features: [
"Успешных чип-тюнингов",
"Диагностик",
"Клиентов",
],
},
{
value: "24/7",
title: "Эвакуация",
features: [
"Быстрый выезд",
"Зона 60км",
"Оперативность",
],
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,57 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "services" section.
import React from 'react';
import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function ServicesSection(): React.JSX.Element {
return (
<div id="services" data-section="services">
<SectionErrorBoundary name="services">
<FeaturesImageBento
tag="Наши Услуги"
title="Комплексные авто-решения"
description="Более 7 ключевых направлений обслуживания вашего автомобиля."
items={[
{
title: "Чип-тюнинг",
description: "Оптимизация ЭБУ для повышения мощности.",
imageSrc: "http://img.b2bpic.net/free-photo/hands-mechanic-using-diagnostic-tool_1170-1146.jpg",
},
{
title: "Диагностика",
description: "Полный компьютерный осмотр систем.",
imageSrc: "http://img.b2bpic.net/free-photo/focused-manly-woman-is-doing-car-diagnostic-with-computer-help-auto-service_613910-17106.jpg",
},
{
title: "Ремонт КПП",
description: "Восстановление работоспособности коробки передач.",
imageSrc: "http://img.b2bpic.net/free-photo/young-mechanic-working-air-conditioning-system-car-auto-repair-shop_637285-4283.jpg",
},
{
title: "Подвеска",
description: "Ремонт и обслуживание ходовой части.",
imageSrc: "http://img.b2bpic.net/free-photo/top-view-many-tools_23-2147773434.jpg",
},
{
title: "Тормоза",
description: "Замена и профилактика тормозных систем.",
imageSrc: "http://img.b2bpic.net/free-photo/female-mechanic-fixing-car-wheel-with-pneumatic-wrench_1170-1218.jpg",
},
{
title: "Выкуп",
description: "Срочный выкуп автомобилей в любом состоянии.",
imageSrc: "http://img.b2bpic.net/free-photo/professional-mechanics-popular-auto-workshop_329181-11834.jpg",
},
{
title: "Эвакуация",
description: "Круглосуточный эвакуатор по области.",
imageSrc: "http://img.b2bpic.net/free-photo/modern-automobile-mechanic-composition_23-2147881860.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,52 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "testimonials" section.
import React from 'react';
import TestimonialMarqueeCards from '@/components/sections/testimonial/TestimonialMarqueeCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function TestimonialsSection(): React.JSX.Element {
return (
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialMarqueeCards
tag="Отзывы"
title="Что говорят наши клиенты"
description="Честные мнения о BoostLub."
testimonials={[
{
name: "Алексей",
role: "Клиент",
quote: "Прошили ЭБУ, машина поехала совсем иначе. Спасибо!",
imageSrc: "http://img.b2bpic.net/free-photo/teen-age-youth-style-self-expression-concept-portrait-positive-happy-teenage-girl-with-bob-pinkish-hairstyle-facial-piercing-relaxing-indoors_343059-3781.jpg",
},
{
name: "Марина",
role: "Клиент",
quote: "Быстро забрали машину на эвакуаторе ночью. Очень выручили.",
imageSrc: "http://img.b2bpic.net/free-photo/stylish-elegant-woman-car-salon_1157-31957.jpg",
},
{
name: "Дмитрий",
role: "Клиент",
quote: "Лучший сервис по диагностике в Череповце.",
imageSrc: "http://img.b2bpic.net/free-photo/woman-with-thumbs-up_1149-1163.jpg",
},
{
name: "Сергей",
role: "Клиент",
quote: "Продал авто быстро, цена устроила полностью.",
imageSrc: "http://img.b2bpic.net/free-photo/stylish-elegant-woman-car-salon_1157-31960.jpg",
},
{
name: "Игорь",
role: "Клиент",
quote: "Рекомендую ребят, профи в своем деле.",
imageSrc: "http://img.b2bpic.net/free-photo/thrilled-confident-manager-business-attire-celebrates-victorious-milestone_482257-111932.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}