diff --git a/frontend/src/assets/astro.svg b/frontend/src/assets/astro.svg deleted file mode 100644 index 8cf8fb0..0000000 --- a/frontend/src/assets/astro.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/frontend/src/assets/background.svg b/frontend/src/assets/background.svg deleted file mode 100644 index 4b2be0a..0000000 --- a/frontend/src/assets/background.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/frontend/src/components/home/Faq.astro b/frontend/src/components/home/Faq.astro new file mode 100644 index 0000000..d92b2a6 --- /dev/null +++ b/frontend/src/components/home/Faq.astro @@ -0,0 +1,447 @@ +--- +interface FaqItem { + question: string; + answer: string; +} + +const { + sectionSubtitle = "ОТВЕТЫ НА ВОПРОСЫ", + sectionTitle = "Часто задаваемые вопросы", + faqItems = [ + { + question: "Сколько стоит первичная консультация?", + answer: "Первичная консультация проводится бесплатно. Мы оценим вашу ситуацию, расскажем о перспективах дела и предложим оптимальную стратегию защиты. Это ни к чему вас не обязывает." + }, + { + question: "Какие документы нужны для начала работы?", + answer: "Для анализа ситуации потребуются: протокол об административном правонарушении, постановление по делу, материалы ДТП (если есть), страховой полис ОСАГО/КАСКО, а также любые другие документы, относящиеся к вашему делу." + }, + { + question: "Каковы шансы на успех моего дела?", + answer: "После изучения документов мы честно расскажем о реальных перспективах. По статистике, около 98% дел завершаются успешно. Если видим, что шансов нет — так и скажем, чтобы вы не тратили время и деньги." + }, + { + question: "Сколько времени занимает рассмотрение дела?", + answer: "Сроки зависят от сложности: простые консультации и составление жалоб — 1-3 дня, представление интересов в суде — от 2 недель до 2 месяцев. Точные сроки назовем после анализа вашей ситуации." + }, + { + question: "Работаете ли вы с делами, где уже вынесено решение?", + answer: "Да, мы помогаем обжаловать постановления и решения судов. Срок на обжалование обычно составляет 10 дней с момента вынесения постановления, но есть возможности восстановления срока и в более поздний период." + }, + { + question: "Можно ли решить вопрос без суда?", + answer: "Во многих случаях — да. Мы ведём переговоры со страховыми компаниями, ГИБДД, автосалонами и другими участниками. Досудебное урегулирование часто быстрее и выгоднее для клиента." + } + ] as FaqItem[] +} = Astro.props; +--- + +
+
+ +
+
+
+ {sectionSubtitle} +
+
+

{sectionTitle}

+

+ Собрали ответы на самые частые вопросы наших клиентов. Не нашли ответ? Позвоните — проконсультируем бесплатно +

+
+ + +
+ {faqItems.map((item: FaqItem, index: number) => ( +
+ +
+
+

{item.answer}

+
+
+
+ ))} +
+
+
+ + + + \ No newline at end of file diff --git a/frontend/src/components/home/Steps.astro b/frontend/src/components/home/Steps.astro index 8ad1493..a65c948 100644 --- a/frontend/src/components/home/Steps.astro +++ b/frontend/src/components/home/Steps.astro @@ -59,6 +59,14 @@ const {
{steps.map((step: Step, index: number) => (
+ + {index > 0 && ( +
+
+
+
+ )} +
@@ -79,14 +87,6 @@ const {

{step.title}

{step.description}

- - - {index < steps.length - 1 && ( -
-
-
-
- )}
))} @@ -255,6 +255,37 @@ const { .step-card-wrapper { flex: 1; min-width: 0; + position: relative; + } + + /* Вертикальный соединитель для мобильной версии (скрыт по умолчанию) */ + .mobile-connector { + display: none; + position: absolute; + top: -24px; + left: 50%; + transform: translateX(-50%); + height: 24px; + width: 2px; + z-index: 3; + } + + .mobile-connector-line { + width: 100%; + height: 100%; + background: linear-gradient(to bottom, rgba(234, 194, 110, 0.2) 0%, var(--color-accent) 100%); + } + + .mobile-connector-dot { + position: absolute; + bottom: -4px; + left: 50%; + transform: translateX(-50%); + width: 8px; + height: 8px; + background: var(--color-accent); + border-radius: 50%; + box-shadow: 0 0 10px var(--color-accent); } /* Карточка шага */ @@ -272,17 +303,7 @@ const { flex-direction: column; } - .step-card::before { - content: ''; - position: absolute; - top: 0; - left: 0; - right: 0; - height: 2px; - background: var(--gradient-accent); - transform: scaleX(0); - transition: transform 0.4s ease; - } + /* Убрана верхняя полоса внутри карточки */ .step-card:hover { transform: translateY(-8px); @@ -291,10 +312,6 @@ const { box-shadow: var(--shadow-glow); } - .step-card:hover::before { - transform: scaleX(1); - } - .step-bg { position: absolute; top: -50%; @@ -405,37 +422,6 @@ const { margin: 0; } - /* Соединительная линия */ - .step-connector { - position: absolute; - right: -1.25rem; - top: 50%; - transform: translateY(-50%); - width: calc(100% + 1rem); - display: flex; - align-items: center; - justify-content: center; - z-index: 3; - pointer-events: none; - } - - .connector-line { - width: 100%; - height: 2px; - background: linear-gradient(90deg, var(--color-accent) 0%, rgba(234, 194, 110, 0.2) 100%); - position: relative; - } - - .connector-dot { - position: absolute; - right: 0; - width: 8px; - height: 8px; - background: var(--color-accent); - border-radius: 50%; - box-shadow: 0 0 10px var(--color-accent); - } - /* Статистика */ .stats-bar { display: flex; @@ -533,15 +519,21 @@ const { @media (max-width: 1024px) { .steps-container { flex-direction: column; - gap: 1.5rem; + gap: 0; } .step-card-wrapper { width: 100%; + margin-bottom: 1.5rem; } - .step-connector { - display: none; + .step-card-wrapper:last-child { + margin-bottom: 0; + } + + /* Показываем вертикальные соединители */ + .mobile-connector { + display: block; } .stats-bar { diff --git a/frontend/src/components/home/WhyUs.astro b/frontend/src/components/home/WhyUs.astro index 7d31d45..04580e8 100644 --- a/frontend/src/components/home/WhyUs.astro +++ b/frontend/src/components/home/WhyUs.astro @@ -2,434 +2,472 @@ // src/components/WhyUs.astro const sectionData = { - subtitle: "Почему мы?", - title: "Локальная экспертиза в Сургуте", - floatingText: "Знаем специфику судов Сургута и регламенты местной полиции изнутри.", - imageUrl: "https://images.unsplash.com/photo-1589829085413-56de8ae18c73?q=80&w=1000&auto=format&fit=crop" + subtitle: "Почему мы?", + title: "Локальная экспертиза в Сургуте", + floatingText: + "Знаем специфику судов Сургута и регламенты местной полиции изнутри.", + imageUrl: + "https://images.unsplash.com/photo-1589829085413-56de8ae18c73?q=80&w=1000&auto=format&fit=crop", }; const features = [ - { - title: "Местный опыт", - desc: "Мы работаем только в Сургуте и ХМАО. Это позволяет нам знать практику каждого судьи и особенности работы местных отделов ГИБДД.", - icon: `` - }, - { - title: "92% Успешных дел", - desc: "Высокий процент выигранных дел по возврату прав и страховым спорам. Работаем на результат, а не на процесс.", - icon: `` - }, - { - title: "Срочный выезд", - desc: "Оперативно выезжаем на место ДТП или задержания в любой район города для фиксации нарушений.", - icon: `` - } + { + title: "Местный опыт", + desc: "Мы работаем только в Сургуте и ХМАО. Это позволяет нам знать практику каждого судьи и особенности работы местных отделов ГИБДД.", + icon: ``, + }, + { + title: "92% Успешных дел", + desc: "Высокий процент выигранных дел по возврату прав и страховым спорам. Работаем на результат, а не на процесс.", + icon: ``, + }, + { + title: "Срочный выезд", + desc: "Оперативно выезжаем на место ДТП или задержания в любой район города для фиксации нарушений.", + icon: ``, + }, ]; ---
-
- -
-
- Юридическая практика +
+ +
+
+ Юридическая практика - -
-

{sectionData.floatingText}

-
-
-
- - -
-
- {sectionData.subtitle} -

{sectionData.title}

-
- -
- {features.map((feature, index) => ( -
-
-
-

{feature.title}

-

{feature.desc}

-
-
- ))} -
+ +
+

{sectionData.floatingText}

+
+ + +
+
+ {sectionData.subtitle} +

+ {sectionData.title} +

+
+ +
+ { + features.map((feature, index) => ( +
+
+
+

{feature.title}

+

{feature.desc}

+
+
+ )) + } +
+
+
\ No newline at end of file + + .feature-item { + gap: 0.75rem; + } + + .icon-box { + width: 36px; + height: 36px; + padding: 7px; + } + + .feature-title { + font-size: 1rem; + } + + .feature-desc { + font-size: 0.8rem; + line-height: 1.5; + } + + .floating-card { + padding: 1.2rem; + } + + .floating-card p { + font-size: 0.85rem; + } + } + + /* Уважаем prefers-reduced-motion */ + @media (prefers-reduced-motion: reduce) { + .animate-on-scroll { + opacity: 1; + transform: none; + transition: none; + } + } + diff --git a/frontend/src/pages/index.astro b/frontend/src/pages/index.astro index 9476bdd..cd62297 100644 --- a/frontend/src/pages/index.astro +++ b/frontend/src/pages/index.astro @@ -5,6 +5,7 @@ import Services from "@components/home/Services.astro"; import Steps from "@components/home/Steps.astro"; import WhyUs from "@components/home/WhyUs.astro"; import Reviews from "@components/home/Reviews.astro"; +import Faq from "@components/home/Faq.astro"; import { SITE_URL } from '@constants'; --- @@ -18,4 +19,5 @@ import { SITE_URL } from '@constants'; + \ No newline at end of file