Создана новая страница - Представительство в суде
This commit is contained in:
parent
71707e495b
commit
9100de28a4
2 changed files with 368 additions and 4 deletions
|
|
@ -20,7 +20,7 @@ const {
|
|||
title: "Возврат водительских прав",
|
||||
desc: "Вернём права после лишения в кратчайшие сроки. Работаем по всей территории РФ.",
|
||||
icon: "🚗",
|
||||
href: "#services"
|
||||
href: "/services/license-return"
|
||||
},
|
||||
{
|
||||
id: 'card2',
|
||||
|
|
@ -28,7 +28,7 @@ const {
|
|||
title: "ОСАГО/КАСКО",
|
||||
desc: "Споры со страховыми компаниями. Взыскание полного ущерба.",
|
||||
icon: "🛡️",
|
||||
href: "#services"
|
||||
href: "/services/osago"
|
||||
},
|
||||
{
|
||||
id: 'card3',
|
||||
|
|
@ -36,7 +36,7 @@ const {
|
|||
title: "Разбор ДТП",
|
||||
desc: "Полное сопровождение при разборе ДТП. Оспаривание вины.",
|
||||
icon: "🚨",
|
||||
href: "#services"
|
||||
href: "/services/damages"
|
||||
},
|
||||
{
|
||||
id: 'card4',
|
||||
|
|
@ -44,7 +44,7 @@ const {
|
|||
title: "Представительство в суде",
|
||||
desc: "Защита ваших интересов в судах всех инстанций.",
|
||||
icon: "⚖️",
|
||||
href: "#services"
|
||||
href: "/services/court-representation"
|
||||
}
|
||||
] as ServiceCard[]
|
||||
} = Astro.props;
|
||||
|
|
|
|||
364
frontend/src/pages/services/court-representation.astro
Normal file
364
frontend/src/pages/services/court-representation.astro
Normal file
|
|
@ -0,0 +1,364 @@
|
|||
---
|
||||
import Layout from '@layouts/Layout.astro';
|
||||
import { SITE_URL, COMPANY } from '@constants';
|
||||
import PageHero from "@components/base/PageHero.astro";
|
||||
import CTA from "@components/base/CTA.astro";
|
||||
// Import child components with custom data
|
||||
import AboutTabs from '@components/services/AboutTabs.astro';
|
||||
import ArticlesList from '@components/services/ArticlesList.astro';
|
||||
import WorkSteps from '@components/services/WorkSteps.astro';
|
||||
import ServiceIncludes from '@components/services/ServiceIncludes.astro';
|
||||
import AdvantagesList from '@components/services/AdvantagesList.astro';
|
||||
import PricingPlans from '@components/services/PricingPlans.astro';
|
||||
import FaqList from '@components/services/FaqList.astro';
|
||||
|
||||
// Custom data for court representation service
|
||||
const aboutTabsData = {
|
||||
problem: {
|
||||
title: "Автомобильные споры в суде — нужна защита",
|
||||
description: "Споры по ДТП, страховым выплатам, возврату прав — всё решается <strong>в суде</strong>. Без грамотного представительства вы рискуете <strong>потерять деньги, время и права</strong>. Судья разбирается в законе, а не в автомобильных тонкостях — <strong>ваш юрист объяснит</strong> и докажет.",
|
||||
description2: "Многие водители <strong>проигрывают дела</strong> из-за того, что не знают процедуру, сроки и нюансы автомобильного права. Мы берём на себя <strong>всю юридическую работу</strong>, чтобы вы получили справедливый результат.",
|
||||
items: [
|
||||
"Пропуск сроков обжалования по ДТП",
|
||||
"Ошибки в иске к страховой",
|
||||
"Неправильная позиция по возврату прав"
|
||||
],
|
||||
visualNumber: "85%",
|
||||
visualLabel: "дел проиграно без автоюриста",
|
||||
visualNote: "С автоюристом шансы на успех вырастают в 3-4 раза",
|
||||
barWidth: 85
|
||||
},
|
||||
approach: {
|
||||
title: "Специализация на автомобильных спорах",
|
||||
description: "Мы <strong>полностью ведём ваше автомобильное дело</strong>: от подготовки искового заявления до исполнения решения суда. Знаем <strong>все нюансы ДТП, ОСАГО, КАСКО, споров по правам</strong> и используем это для вашего результата.",
|
||||
description2: "Наш опыт — это <strong>сотни выигранных автомобильных дел</strong> в судах Сургута и ХМАО. Мы знаем <strong>практику судей по автоделам</strong> и строим защиту на основе реальных прецедентов.",
|
||||
items: [
|
||||
{ icon: "📋", title: "Подготовка автодокументов", desc: "Иск по ДТП, ходатайства, отзывы — всё безупречно" },
|
||||
{ icon: "⚖️", title: "Автоправовая стратегия", desc: "Линия защиты с учётом практики по автоделам" },
|
||||
{ icon: "🎯", title: "Представительство", desc: "Ведём автодело от начала до исполнения решения" }
|
||||
],
|
||||
steps: ["Консультация", "Стратегия", "Подготовка", "Суд", "Решение"]
|
||||
},
|
||||
stats: {
|
||||
bigStat: { number: 93, label: "Автодел выиграно в судах", barWidth: 93 },
|
||||
stats: [
|
||||
{ number: 700, label: "Выигранных автодел", suffix: "+" },
|
||||
{ number: 12, label: "Лет практики по автоправу", suffix: "" },
|
||||
{ number: 95, label: "Клиентов рекомендуют нас", suffix: "%" },
|
||||
{ number: 100, label: "Возврат при неудаче", suffix: "%" }
|
||||
]
|
||||
},
|
||||
guarantees: {
|
||||
title: "Работаем на результат с гарантией",
|
||||
description: "Мы берёмся только за автомобильные дела с <strong>реальными перспективами успеха</strong>. После анализа ситуации честно скажем, <strong>каковы ваши шансы</strong> и что нужно для победы в суде.",
|
||||
description2: "Работаем <strong>по договору</strong> с фиксацией всех условий. Если автодело проиграно — <strong>возвращаем оплату</strong> за наши услуги.",
|
||||
items: [
|
||||
{ title: "Бесплатная консультация", desc: "Оцениваем перспективы автодела на первой встрече" },
|
||||
{ title: "Прозрачные цены", desc: "Фиксированная стоимость без скрытых платежей" },
|
||||
{ title: "Договор", desc: "Юридическая фиксация всех условий работы" },
|
||||
{ title: "Гарантия возврата", desc: "При неудаче — возврат оплаты услуг" }
|
||||
]
|
||||
}
|
||||
};
|
||||
|
||||
const articlesData = [
|
||||
{ icon: "🚗", title: "Споры по ОСАГО", desc: "Занижение выплаты, отказ страховой. Взыскание полной суммы через суд.", chance: "Высокий шанс" },
|
||||
{ icon: "🛡️", title: "Споры по КАСКО", desc: "Страховая не платит по КАСКО. Добиваемся выплаты через суд.", chance: "Высокий шанс" },
|
||||
{ icon: "🚨", title: "Оспаривание вины в ДТП", desc: "Не согласны с виной в ДТП. Обжалуем постановление и доказываем невиновность.", chance: "Зависит от дела" },
|
||||
{ icon: "📋", title: "Возврат прав", desc: "Лишение прав — оспариваем в суде, находим процессуальные нарушения.", chance: "Высокий шанс" },
|
||||
{ icon: "💰", title: "Взыскание ущерба с виновника", desc: "Виновник ДТП не платит — взыскиваем через суд принудительно.", chance: "Высокий шанс" },
|
||||
{ icon: "⚠️", title: "Другие авто-споры", desc: "Работаем с любыми автомобильными спорами — анализируем каждую ситуацию.", chance: "Зависит от дела" }
|
||||
];
|
||||
|
||||
const stepsData = [
|
||||
{ number: "01", title: "Бесплатная консультация по автоделу", desc: "Анализируем вашу ситуацию с ДТП, страховой выплатой или лишением прав. Оцениваем перспективы." },
|
||||
{ number: "02", title: "Сбор автодоказательств", desc: "Собираем документы по ДТП, экспертизы, свидетельства, видеозаписи для укрепления позиции." },
|
||||
{ number: "03", title: "Подготовка документов", desc: "Составляем иск по автоделу, ходатайства, отзывы с учётом всех процессуальных требований." },
|
||||
{ number: "04", title: "Судебный процесс", desc: "Представляем ваши интересы в суде по автоделу, доказываем позицию, оппонируем ответчику." },
|
||||
{ number: "05", title: "Исполнение решения", desc: "Контролируем исполнение решения суда, помогаем с получением присуждённого по автоделу." }
|
||||
];
|
||||
|
||||
const includesData = [
|
||||
{ icon: "📄", title: "Анализ автодела", desc: "Бесплатная оценка перспектив дела по ДТП или спору" },
|
||||
{ icon: "📝", title: "Подготовка документов", desc: "Иски, ходатайства, отзывы по автомобильным спорам" },
|
||||
{ icon: "🔍", title: "Сбор автодоказательств", desc: "Документы по ДТП, экспертизы, видеозаписи" },
|
||||
{ icon: "👨⚖️", title: "Участие в заседаниях", desc: "Полное представительство в суде по автоделу" },
|
||||
{ icon: "📊", title: "Автоправовая стратегия", desc: "Разработка линии защиты дела по ДТП/страховой" },
|
||||
{ icon: "✅", title: "Исполнение решения", desc: "Контроль и помощь в получении результата" }
|
||||
];
|
||||
|
||||
const advantagesData = [
|
||||
{ number: "01", title: "Специализация на автоделах", desc: "Только автомобильные споры — ДТП, ОСАГО, КАСКО, возврат прав. Знаем все нюансы автоправа." },
|
||||
{ number: "02", title: "93% выигранных автодел", desc: "Высокий процент побед благодаря глубокой подготовке и знанию практики по автоделам." },
|
||||
{ number: "03", title: "Персональный автоюрист", desc: "За вами закреплён один специалист, который ведёт автодело от начала до конца." },
|
||||
{ number: "04", title: "Прозрачная работа", desc: "Информируем о каждом шаге по автоделу, консультируем, отвечаем быстро." },
|
||||
{ number: "05", title: "Полное представительство", desc: "Вам не нужно ходить по судам. Мы ведём автодело по доверенности самостоятельно." },
|
||||
{ number: "06", title: "Гарантия качества", desc: "Если автодело проиграно по нашей вине — возвращаем оплату за услуги." }
|
||||
];
|
||||
|
||||
const plansData = [
|
||||
{ badge: "Базовый", title: "Консультация и документы", price: "от 5 000 ₽", features: ["Анализ автодела", "Правовая оценка", "Подготовка документов", "Рекомендации"], btnText: "Получить консультацию", btnClass: "" },
|
||||
{ badge: "Стандарт", title: "Ведение автодела под ключ", price: "от 15 000 ₽", features: ["Всё из Базового", "Сбор автодоказательств", "Участие в заседаниях", "Контроль исполнения"], btnText: "Начать ведение дела", btnClass: "gold", popular: true },
|
||||
{ badge: "Премиум", title: "Сложные автодела", price: "от 25 000 ₽", features: ["Всё из Стандарта", "Апелляция и кассация", "Дополнительные экспертизы", "Приоритетная поддержка"], btnText: "Обсудить дело", btnClass: "" }
|
||||
];
|
||||
|
||||
const faqsData = [
|
||||
{ question: "Нужно ли моё присутствие в суде по автоделу?", answer: "<strong>Нет</strong>, мы работаем по доверенности. Ваше присутствие не требуется — мы ведём автодело полностью самостоятельно и информируем вас о каждом шаге." },
|
||||
{ question: "Сколько времени занимает судебный процесс по ДТП?", answer: "Мировой суд — <strong>от 1 до 2 месяцев</strong>. Районный суд — <strong>от 2 до 4 месяцев</strong>. Зависит от сложности автодела и загруженности суда." },
|
||||
{ question: "Какие гарантии успеха по автоделу?", answer: "Мы честно оцениваем <strong>перспективы на консультации</strong>. Если шансы невысоки — скажем прямо. При неудаче по нашей вине — <strong>возвращаем оплату</strong>." },
|
||||
{ question: "Сколько стоит представительство по автоделу?", answer: "Стоимость зависит от <strong>сложности автодела</strong>. Консультация — бесплатно. Базовое ведение — от 5 000 ₽. Точную цену озвучим после анализа документов." },
|
||||
{ question: "Как быстро вы начнёте работу?", answer: "После подписания договора — <strong>в тот же день</strong>. Подготовка документов по автоделу занимает от 1 до 3 рабочих дней." },
|
||||
{ question: "С чего начать?", answer: "<strong>Запишитесь на бесплатную консультацию</strong>. Принесите документы по автоделу: протокол ДТП, постановление страховой — мы оценим перспективы." }
|
||||
];
|
||||
---
|
||||
|
||||
<Layout
|
||||
title="Представительство в суде — автоюрист в Сургуте"
|
||||
description="Профессиональное представительство в судах Сургута и ХМАО. 93% выигранных дел. Бесплатная консультация, работа по договору, гарантия возврата."
|
||||
canonicalLink={`${SITE_URL}/services/court-representation`}
|
||||
breadcrumbs={[
|
||||
{ label: 'Главная', href: '/' },
|
||||
{ label: 'Услуги', href: '/services' },
|
||||
{ label: 'Представительство в суде' }
|
||||
]}
|
||||
>
|
||||
<PageHero
|
||||
badgeText="СУДЕБНОЕ ПРЕДСТАВИТЕЛЬСТВО"
|
||||
titleWhite="Защитим"
|
||||
titleGold="ваши интересы"
|
||||
description="Профессиональное ведение дела в суде от подготовки документов до исполнения решения. 93% успешных дел. Бесплатная консультация."
|
||||
btnText="Бесплатная консультация"
|
||||
layout="with-image"
|
||||
sideImage="/images/services/office-table.avif"
|
||||
sideImageAlt="Представительство в суде"
|
||||
experienceBadge={{
|
||||
number: "93%",
|
||||
text: "УСПЕШНЫХ ДЕЛ"
|
||||
}}
|
||||
bgImage="/images/services/servicesBg.avif"
|
||||
icon="shield"
|
||||
/>
|
||||
|
||||
<div class="service-detail-page">
|
||||
<AboutTabs
|
||||
tabsData={aboutTabsData}
|
||||
sectionLabel="Подробнее об услуге"
|
||||
sectionTitle="Всё о судебном представительстве"
|
||||
sectionDesc="Полная информация о профессиональном ведении дела в суде"
|
||||
/>
|
||||
<ArticlesList
|
||||
articles={articlesData}
|
||||
sectionLabel="Работаем с категориями"
|
||||
sectionTitle="Ведём дела разных категорий"
|
||||
sectionDesc="Представляем интересы в судах всех инстанций"
|
||||
/>
|
||||
<WorkSteps
|
||||
steps={stepsData}
|
||||
sectionLabel="Этапы работы"
|
||||
sectionTitle="Как мы ведём ваше дело"
|
||||
sectionDesc="Прозрачный процесс от консультации до исполнения решения"
|
||||
/>
|
||||
<ServiceIncludes
|
||||
includes={includesData}
|
||||
sectionLabel="Что входит"
|
||||
sectionTitle="Что входит в услугу"
|
||||
sectionDesc="Полный спектр работ по ведению дела в суде"
|
||||
/>
|
||||
<AdvantagesList
|
||||
advantages={advantagesData}
|
||||
sectionLabel="Почему мы"
|
||||
sectionTitle="Преимущества работы с нами"
|
||||
sectionDesc="Доверьте своё дело профессионалам с опытом"
|
||||
/>
|
||||
<PricingPlans
|
||||
plans={plansData}
|
||||
sectionLabel="Стоимость"
|
||||
sectionTitle="Сколько стоит представительство"
|
||||
sectionDesc="Прозрачные цены без скрытых платежей"
|
||||
/>
|
||||
<FaqList
|
||||
faqs={faqsData}
|
||||
sectionLabel="Вопросы"
|
||||
sectionTitle="Частые вопросы"
|
||||
sectionDesc="Ответы на популярные вопросы о судебном представительстве"
|
||||
/>
|
||||
<CTA
|
||||
icon="consult"
|
||||
title="Нужна защита в суде?"
|
||||
description="Запишитесь на бесплатную консультацию. Оценим перспективы дела и предложим стратегию."
|
||||
btnText="Бесплатная консультация"
|
||||
/>
|
||||
</div>
|
||||
</Layout>
|
||||
|
||||
<style>
|
||||
.service-detail-page {
|
||||
font-family: 'Inter', system-ui, -apple-system, sans-serif;
|
||||
}
|
||||
|
||||
.site-container {
|
||||
max-width: var(--site-max-width, 1400px);
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
section {
|
||||
padding: 5rem 1.5rem;
|
||||
}
|
||||
|
||||
.section-header {
|
||||
text-align: center;
|
||||
margin-bottom: 3.5rem;
|
||||
}
|
||||
|
||||
.section-label {
|
||||
display: inline-block;
|
||||
color: #eac26e;
|
||||
font-size: 0.75rem;
|
||||
font-weight: 700;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 3px;
|
||||
margin-bottom: 1rem;
|
||||
padding: 0.5rem 1rem;
|
||||
background: rgba(234, 194, 110, 0.1);
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
.section-label.center {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.section-header h2 {
|
||||
color: #0a2540;
|
||||
font-size: clamp(1.75rem, 3.5vw, 2.5rem);
|
||||
font-weight: 800;
|
||||
margin: 0 0 1rem 0;
|
||||
line-height: 1.2;
|
||||
}
|
||||
|
||||
.section-desc {
|
||||
color: #64748b;
|
||||
font-size: 1.05rem;
|
||||
max-width: 650px;
|
||||
margin: 0 auto;
|
||||
line-height: 1.6;
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
section {
|
||||
padding: 3.5rem 1rem;
|
||||
}
|
||||
.section-header {
|
||||
margin-bottom: 2.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 480px) {
|
||||
section {
|
||||
padding: 2.5rem 0.75rem;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
<script is:inline>
|
||||
// Анимации при скролле
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
const observerOptions = {
|
||||
root: null,
|
||||
rootMargin: '0px 0px -50px 0px',
|
||||
threshold: 0.1
|
||||
};
|
||||
|
||||
const observer = new IntersectionObserver((entries) => {
|
||||
entries.forEach(entry => {
|
||||
if (entry.isIntersecting) {
|
||||
const el = entry.target;
|
||||
const delay = parseInt(el.dataset.delay || '0');
|
||||
|
||||
setTimeout(() => {
|
||||
el.classList.add('is-visible');
|
||||
}, delay);
|
||||
|
||||
observer.unobserve(el);
|
||||
}
|
||||
});
|
||||
}, observerOptions);
|
||||
|
||||
document.querySelectorAll('.animate-on-scroll').forEach((el) => {
|
||||
observer.observe(el);
|
||||
});
|
||||
|
||||
// Табы
|
||||
const tabButtons = document.querySelectorAll('.tab-btn');
|
||||
const tabPanels = document.querySelectorAll('.tab-panel');
|
||||
|
||||
tabButtons.forEach(btn => {
|
||||
btn.addEventListener('click', () => {
|
||||
const tabId = btn.dataset.tab;
|
||||
|
||||
// Убираем active со всех кнопок
|
||||
tabButtons.forEach(b => {
|
||||
b.classList.remove('active');
|
||||
b.setAttribute('aria-selected', 'false');
|
||||
});
|
||||
|
||||
// Убираем active со всех панелей
|
||||
tabPanels.forEach(panel => {
|
||||
panel.classList.remove('active');
|
||||
});
|
||||
|
||||
// Активируем нужный таб
|
||||
btn.classList.add('active');
|
||||
btn.setAttribute('aria-selected', 'true');
|
||||
|
||||
const targetPanel = document.getElementById(`tab-${tabId}`);
|
||||
if (targetPanel) {
|
||||
targetPanel.classList.add('active');
|
||||
|
||||
// Запускаем анимацию счётчиков если это таб статистики
|
||||
if (tabId === 'stats') {
|
||||
animateCounters(targetPanel);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// Анимация счётчиков
|
||||
function animateCounters(panel) {
|
||||
const counters = panel.querySelectorAll('[data-count]');
|
||||
|
||||
counters.forEach(counter => {
|
||||
const target = parseInt(counter.dataset.count || '0');
|
||||
const suffix = counter.textContent?.replace(/[0-9]/g, '') || '';
|
||||
const duration = 1500;
|
||||
const startTime = performance.now();
|
||||
|
||||
const easeOutCubic = (t) => 1 - Math.pow(1 - t, 3);
|
||||
|
||||
const update = (currentTime) => {
|
||||
const elapsed = currentTime - startTime;
|
||||
const progress = Math.min(elapsed / duration, 1);
|
||||
const easedProgress = easeOutCubic(progress);
|
||||
const currentValue = Math.round(easedProgress * target);
|
||||
|
||||
counter.textContent = `${currentValue}${suffix}`;
|
||||
|
||||
if (progress < 1) {
|
||||
requestAnimationFrame(update);
|
||||
}
|
||||
};
|
||||
|
||||
requestAnimationFrame(update);
|
||||
});
|
||||
|
||||
// Анимация полосок статистики
|
||||
const statBars = panel.querySelectorAll('[data-width]');
|
||||
statBars.forEach(bar => {
|
||||
const width = bar.dataset.width;
|
||||
setTimeout(() => {
|
||||
bar.style.width = `${width}%`;
|
||||
}, 200);
|
||||
});
|
||||
}
|
||||
});
|
||||
</script>
|
||||
Loading…
Add table
Add a link
Reference in a new issue