diff --git a/frontend/public/images/services/office.png b/frontend/public/images/services/office.png new file mode 100644 index 0000000..230f0a5 Binary files /dev/null and b/frontend/public/images/services/office.png differ diff --git a/frontend/src/components/services/Hero.astro b/frontend/src/components/services/Hero.astro deleted file mode 100644 index dff8ee8..0000000 --- a/frontend/src/components/services/Hero.astro +++ /dev/null @@ -1,135 +0,0 @@ ---- -// Здесь можно добавить пропсы, если захотите сделать компонент переиспользуемым -// const { title, subtitle } = Astro.props; ---- - -
-
-
-
- Автоюрист Сургут & Югра - -

Наши юридические услуги

- -

- Мы обеспечиваем экспертную защиту прав водителей в Сургуте и Ханты-Мансийском автономном округе. Профессиональный подход к сложным дорожным спорам с акцентом на результат. -

- - - Получить помощь - -
-
-
- - diff --git a/frontend/src/components/services/HeroServices.astro b/frontend/src/components/services/HeroServices.astro new file mode 100644 index 0000000..f68ea50 --- /dev/null +++ b/frontend/src/components/services/HeroServices.astro @@ -0,0 +1,241 @@ +--- +import Button from '@components/base/Button.astro'; + +const badgeText = "АВТОЮРИСТ СУРГУТ & ЮГРА"; +const titleWhite = "Наши юридические"; +const titleGold = "услуги"; +const description = "Мы обеспечиваем экспертную защиту прав водителей в Сургуте и Ханты-Мансийском автономном округе. Профессиональный подход к сложным дорожным спорам с акцентом на результат."; +const btnPrimary = "Получить помощь"; + +const bgImageUrl = "/images/services/office.png"; +--- + +
+
+ +
+
+
+ + {badgeText} +
+ +

+ {titleWhite} +
+ {titleGold} +

+ +

{description}

+ +
+ +
+
+
+
+ + + + diff --git a/frontend/src/components/services/ServiceCategories.astro b/frontend/src/components/services/ServiceCategories.astro new file mode 100644 index 0000000..94ce03f --- /dev/null +++ b/frontend/src/components/services/ServiceCategories.astro @@ -0,0 +1,849 @@ +--- +import Button from '@components/base/Button.astro'; + +interface ServiceCategory { + id: string; + category: string; + services: ServiceItem[]; +} + +interface ServiceItem { + title: string; + description: string; + price: string; + icon: string; // Now stores emoji (e.g., "🚗", "📄") + href: string; + features: string[]; +} + +const { + sectionSubtitle = "ПОЛНЫЙ СПЕКТР УСЛУГ", + sectionTitle = "Юридическая помощь автовладельцам", + sectionDescription = "Выберите нужную категорию услуг. Каждая включает полный цикл: от консультации до представительства в суде.", + categories = [ + { + id: "driving-license", + category: "Водительские права", + services: [ + { + title: "Возврат прав после лишения", + description: "Оспариваем лишение водительских прав в суде. Работаем с любыми статьями КоАП.", + price: "от 15 000 ₽", + icon: "🚗", + href: "/services/license-return", + features: ["Анализ протокола", "Представительство в суде", "Обжалование решения", "Сопровождение до результата"] + }, + { + title: "Оспаривание лишения", + description: "Находим процессуальные нарушения и добиваемся отмены постановлений.", + price: "от 20 000 ₽", + icon: "⚖️", + href: "/services/appeal", + features: ["Аудит материалов дела", "Поиск нарушений процедуры", "Подготовка жалобы", "Защита в апелляционном суде"] + }, + { + title: "Замена прав", + description: "Помощь в замене прав по окончании срока, при утере или порче.", + price: "от 5 000 ₽", + icon: "🔄", + href: "/services/replacement", + features: ["Подготовка документов", "Запись в ГИБДД", "Сопровождение процедуры", "Получение новых прав"] + } + ] + }, + { + id: "insurance", + category: "Страховые споры", + services: [ + { + title: "Споры по ОСАГО", + description: "Взыскиваем недоплату страховых компаний, оспариваем отказы в выплате.", + price: "от 10 000 ₽", + icon: "📋", + href: "/services/osago", + features: ["Оценка ущерба", "Претензия в страховую", "Судебный иск", "Исполнение решения"] + }, + { + title: "Споры по КАСКО", + description: "Помогаем получить полную выплату по полису КАСКО при отказе страховой.", + price: "от 15 000 ₽", + icon: "🛡️", + href: "/services/casco", + features: ["Анализ договора", "Оспаривание отказа", "Независимая экспертиза", "Взыскание ущерба"] + }, + { + title: "Взыскание ущерба с виновника", + description: "Когда страховая выплатила недостаточно — взыскиваем разницу с виновника ДТП.", + price: "от 20 000 ₽", + icon: "💰", + href: "/services/damages", + features: ["Расчёт ущерба", "Досудебная претензия", "Судебный процесс", "Работа с приставами"] + } + ] + }, + { + id: "accident", + category: "ДТП и разбор", + services: [ + { + title: "Помощь при ДТП", + description: "Оперативный выезд на место ДТП. Фиксация нарушений, защита на месте.", + price: "от 8 000 ₽", + icon: "🚨", + href: "/services/accident-help", + features: ["Выезд на место", "Фиксация доказательств", "Защита при опросе", "Консультация на месте"] + }, + { + title: "Оспаривание вины в ДТП", + description: "Доказываем невиновность или снижаем степень ответственности.", + price: "от 25 000 ₽", + icon: "🔍", + href: "/services/blame-appeal", + features: ["Анализ видеозаписей", "Допрос свидетелей", "Экспертиза", "Оспаривание заключения"] + }, + { + title: "Разбор в ГИБДД", + description: "Представляем ваши интересы на разборе ДТП в ГИБДД.", + price: "от 10 000 ₽", + icon: "📝", + href: "/services/gibdd-review", + features: ["Подготовка позиции", "Участие в разборе", "Обжалование определения", "Консультация"] + } + ] + }, + { + id: "court", + category: "Судебное представительство", + services: [ + { + title: "Защита в суде", + description: "Полное ведение дела в суде: от подготовки искового до исполнения решения.", + price: "от 30 000 ₽", + icon: "🏛️", + href: "/services/court-defense", + features: ["Подготовка иска/жалобы", "Представительство на заседаниях", "Сбор доказательств", "Исполнение решения"] + }, + { + title: "Обжалование постановлений", + description: "Оспариваем постановления по делам об административных правонарушениях.", + price: "от 15 000 ₽", + icon: "📜", + href: "/services/decree-appeal", + features: ["Анализ постановления", "Подготовка жалобы", "Подача в суд", "Участие в заседании"] + } + ] + } + ] as ServiceCategory[] +} = Astro.props; +--- + +
+
+ +
+ {sectionSubtitle} +

{sectionTitle}

+

{sectionDescription}

+
+ + +
+ {categories.map((category: ServiceCategory, catIndex: number) => ( + + ))} +
+ + +
+

Не нашли нужную услугу?

+

Позвоните — разберём вашу ситуацию бесплатно

+ +
+
+
+ + + + \ No newline at end of file diff --git a/frontend/src/pages/services.astro b/frontend/src/pages/services.astro index 3713237..6c7eb49 100644 --- a/frontend/src/pages/services.astro +++ b/frontend/src/pages/services.astro @@ -1,6 +1,8 @@ --- import Layout from '@layouts/Layout.astro'; import { SITE_URL } from '@constants'; +import ServicesHeroServices from "@components/services/HeroServices.astro"; +import ServiceCategories from "@components/services/ServiceCategories.astro"; --- - -

Услуги

- + +