feat: simplify navigation and add RU/EN home and contacts

- simplify main navigation and hide extra menu items
- make home page more sales-focused with updated hero, benefits and fleet teaser
- add RU/EN handling for home and contacts, including SEO defaults
- integrate basic Strapi homepage API client (no breaking changes)
- update contacts page with messenger buttons and dynamic footer year

Made-with: Cursor
This commit is contained in:
2026-03-13 19:41:07 +05:00
parent 575db0ac53
commit fde9609f9a
26 changed files with 1753 additions and 735 deletions

View File

@@ -1,16 +1,46 @@
import React from 'react';
import { useLocation } from 'react-router-dom';
import { BENEFITS } from '../constants';
const Benefits: React.FC = () => {
const location = useLocation();
const isEnglish = location.pathname.startsWith('/en');
const descriptions = BENEFITS.map((item) => {
if (!isEnglish) return item.description;
switch (item.title) {
case 'Надежность':
return 'A reliable company ranked among the top 10 in Russia.';
case 'Опыт':
return 'Experienced engineers with 10+ years of hands-on practice.';
case 'Поддержка':
return 'Direct communication and support from our specialists 24/7.';
case 'Условия':
return 'Tailored proposals and flexible terms of cooperation.';
default:
return item.description;
}
});
return (
<div className="py-24 bg-white">
<div className="container mx-auto px-6">
<div className="grid grid-cols-1 lg:grid-cols-12 gap-12">
<div className="lg:col-span-4">
<span className="text-sm text-gray-500 uppercase tracking-widest mb-2 block">Выбирая нас</span>
<h2 className="text-4xl font-bold text-gray-900 mb-6">Вы получаете</h2>
<p className="text-gray-500 text-sm">Нас выбирают люди</p>
<span className="text-sm text-gray-500 uppercase tracking-widest mb-2 block">
{isEnglish ? 'WHO WE WORK WITH' : 'Для кого мы работаем'}
</span>
<h2 className="text-4xl font-bold text-gray-900 mb-6">
{isEnglish
? 'For business and public sector clients'
: 'Для бизнеса и государственных заказчиков'}
</h2>
<p className="text-gray-500 text-sm">
{isEnglish
? 'We help developers, industrial companies and public authorities solve complex engineering challenges and take responsibility for the final result.'
: 'Мы работаем с девелоперами, промышленными компаниями и государственными организациями, беря на себя сложные инженерные задачи и ответственность за результат.'}
</p>
</div>
<div className="lg:col-span-8 grid grid-cols-1 md:grid-cols-2 gap-x-12 gap-y-16">
@@ -20,7 +50,7 @@ const Benefits: React.FC = () => {
<item.icon size={24} />
</div>
<p className="text-gray-700 leading-relaxed font-medium">
{item.description}
{descriptions[index]}
</p>
</div>
))}