Новый правки компоентов

This commit is contained in:
Web-serfer 2026-05-07 14:36:21 +05:00
parent b5d2174fdf
commit 62a6453a1a
25 changed files with 351 additions and 196 deletions

View file

@ -48,9 +48,9 @@ const finalSectionDesc = sectionDesc || defaultProps.sectionDesc;
const defaultTabsData = {
problem: {
title: "Остановка инспектором — критически важный момент",
description: "Большинство водителей <strong>теряют свои права</strong> именно на этапе остановки и общения с инспектором до начала оформления протокола. В этот момент важно <strong>знать свои права</strong> и фиксировать любые нарушения.",
description2: "Инспекторы часто допускают нарушения: не разъясняют права, проводят освидетельствование без понятых, не предоставляют информацию о порядке обжалования. <strong>Чем раньше подключится юрист — тем больше шансов на успех</strong>.",
title: "Потеря прав в 70% случаев происходит при остановке",
description: "**Потеря прав происходит на этапе остановки.** 70% дел проиграны из-за ошибок в первые минуты после остановки. Без юриста водитель не знает своих прав и не фиксирует нарушения инспектора.",
description2: "**Инспектор обязан соблюдать процедуру.** При нарушении — основание для прекращения дела. Инспектор должен: разъяснить права, проводить освидетельствование при понятых или на камеру, выдать копию протокола.",
items: [
"Нарушение процедуры остановки и освидетельствования",
"Отсутствие понятых или видеофиксации",
@ -62,9 +62,9 @@ const defaultTabsData = {
barWidth: 70
},
approach: {
title: "Оперативная защита с первой минуты",
description: "Мы обеспечиваем <strong>юридическое сопровождение</strong> с момента остановки инспектором. Контролируем каждый шаг: законность требований, порядок освидетельствования, правильность заполнения документов.",
description2: "Наша задача — <strong>не допустить нарушений</strong> ещё на этапе оформления. Если протокол составлен с ошибками — это основание для прекращения дела.",
title: "Защита с момента остановки",
description: "**Юридическое сопровождение начинается сразу после остановки.** Контролируем каждый шаг: законность требований, порядок освидетельствования, правильность заполнения документов.",
description2: "**Задача юриста — не допустить нарушений при оформлении.** Если протокол составлен с ошибками — это основание для прекращения дела.",
items: [
{ icon: "📞", title: "Консультация по телефону", desc: "Правильное поведение при остановке" },
{ icon: "🚗", title: "Выезд на место", desc: "Защита при оформлении" },
@ -83,11 +83,11 @@ const defaultTabsData = {
},
guarantees: {
title: "Работаем на результат",
description: "Мы берёмся только за дела с <strong>реальными перспективами</strong>. Если защита на раннем этапе не помогла — мы вернём <strong>оплату за услугу</strong>.",
description2: "Если протокол составлен без нарушений — мы честно скажем об этом <strong>на первой консультации</strong> и предложим стратегию защиты на следующих этапах.",
description: "**Берёмся только за дел<D0B5><D0BB> с реальными перспективами.** Если защита на раннем этапе не помогла — возвращаем оплату за услугу.",
description2: "Если протокол составлен без нарушений — честно скажем об этом на первой консультации и предложим стратегию защиты на следующих этапах.",
items: [
{ title: "Бесплатная оценка", desc: "Честный анализ перспектив дела на консультации" },
{ title: "Возврат денег", desc: "Если защита не сработала — вернём оплату" },
{ title: "Возврат денег", desc: "Если защита не сработала — возвращаем оплату" },
{ title: "Договор", desc: "Официальный договор с прописанными условиями" },
{ title: "Оперативность", desc: "Выезд на место в течение 30 минут" }
]
@ -109,15 +109,15 @@ const finalTabsData = tabsDataProp || defaultTabsData;
<div class="tabs-nav" role="tablist">
<button class="tab-btn active" role="tab" data-tab="problem" aria-selected="true">
<span class="tab-icon">⚖️</span>
<span class="tab-text">О проблеме</span>
<span class="tab-text">Причина потери прав</span>
</button>
<button class="tab-btn" role="tab" data-tab="approach" aria-selected="false">
<span class="tab-icon">🎯</span>
<span class="tab-text">Наш подход</span>
<span class="tab-text">Как защищаем</span>
</button>
<button class="tab-btn" role="tab" data-tab="stats" aria-selected="false">
<span class="tab-icon">📊</span>
<span class="tab-text">Статистика</span>
<span class="tab-text">Результаты</span>
</button>
<button class="tab-btn" role="tab" data-tab="guarantees" aria-selected="false">
<span class="tab-icon">🛡️</span>
@ -141,6 +141,9 @@ const finalTabsData = tabsDataProp || defaultTabsData;
</div>
))}
</div>
<div class="takeaway-box">
<strong>Что делать:</strong> Позвоните нам сразу после остановки. Юрист выезжает на место за 30 минут и контролирует правильность оформления.
</div>
</div>
<div class="tab-visual">
<div class="visual-card">
@ -160,8 +163,8 @@ const finalTabsData = tabsDataProp || defaultTabsData;
<div class="tab-grid">
<div class="tab-text">
<h3>{finalTabsData.approach.title}</h3>
<p set:html={finalTabsData.approach.description}></p>
<p set:html={finalTabsData.approach.description2}></p>
<p>{finalTabsData.approach.description}</p>
<p>{finalTabsData.approach.description2}</p>
<div class="approach-list">
{finalTabsData.approach.items.map(item => (
<div class="approach-item">
@ -435,6 +438,22 @@ const finalTabsData = tabsDataProp || defaultTabsData;
flex-shrink: 0;
}
.takeaway-box {
margin-top: 1.5rem;
padding: 1rem 1.25rem;
background: linear-gradient(135deg, #0a2540, #1e3050);
border-radius: 10px;
color: #fff;
font-size: 0.95rem;
line-height: 1.6;
}
.takeaway-box strong {
color: #eac26e;
display: block;
margin-bottom: 0.25rem;
}
.tab-visual {
max-width: 100%;
}

View file

@ -24,8 +24,8 @@ const defaultSteps: Step[] = [
const finalSteps = stepsProp || defaultSteps;
const finalSectionLabel = sectionLabel || "Этапы работы";
const finalSectionTitle = sectionTitle || "Как мы защищаем ваши права";
const finalSectionDesc = sectionDesc || "Оперативная помощь с момента остановки до прекращения дела";
const finalSectionTitle = sectionTitle || "5 шагов до возврата прав";
const finalSectionDesc = sectionDesc || "Защита начинается сразу после остановки";
---
<section class="steps-section" id="steps">