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:
@@ -1,8 +1,13 @@
|
||||
import React from 'react';
|
||||
import { Send, MapPin, Mail, Phone } from 'lucide-react';
|
||||
import { Link } from 'react-router-dom';
|
||||
import { Link, useLocation } from 'react-router-dom';
|
||||
|
||||
const Footer: React.FC = () => {
|
||||
const currentYear = new Date().getFullYear();
|
||||
const location = useLocation();
|
||||
const isEnglish = location.pathname.startsWith('/en');
|
||||
const prefix = isEnglish ? '/en' : '';
|
||||
|
||||
return (
|
||||
<footer className="bg-[#1a0f0f] text-white py-20 rounded-t-[3rem] mt-auto" id="contacts">
|
||||
<div className="container mx-auto px-6">
|
||||
@@ -10,9 +15,13 @@ const Footer: React.FC = () => {
|
||||
|
||||
{/* Contacts Section with Accent */}
|
||||
<div className="lg:w-1/2">
|
||||
<h2 className="text-4xl font-bold mb-8 text-brand-orange">Свяжитесь с нами</h2>
|
||||
<h2 className="text-4xl font-bold mb-8 text-brand-orange">
|
||||
{isEnglish ? 'Get in touch with us' : 'Свяжитесь с нами'}
|
||||
</h2>
|
||||
<p className="text-gray-300 text-lg mb-10 max-w-md">
|
||||
Готовы ответить на ваши вопросы и предложить лучшие решения для вашего проекта
|
||||
{isEnglish
|
||||
? 'We are ready to answer your questions and offer the best solutions for your project.'
|
||||
: 'Готовы ответить на ваши вопросы и предложить лучшие решения для вашего проекта'}
|
||||
</p>
|
||||
|
||||
<div className="space-y-6 max-w-md">
|
||||
@@ -22,9 +31,13 @@ const Footer: React.FC = () => {
|
||||
>
|
||||
<Phone size={28} className="text-brand-orange group-hover:text-white flex-shrink-0" />
|
||||
<div>
|
||||
<p className="text-xs text-gray-400 mb-1 group-hover:text-white/80">Телефон</p>
|
||||
<p className="text-xs text-gray-400 mb-1 group-hover:text-white/80">
|
||||
{isEnglish ? 'Phone' : 'Телефон'}
|
||||
</p>
|
||||
<p className="text-xl font-bold text-white">8 (347) 292 73 70</p>
|
||||
<p className="text-sm text-gray-400 mt-1 group-hover:text-white/70">Звоните с 9:00 до 18:00</p>
|
||||
<p className="text-sm text-gray-400 mt-1 group-hover:text-white/70">
|
||||
{isEnglish ? 'Call us from 9:00 to 18:00' : 'Звоните с 9:00 до 18:00'}
|
||||
</p>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
@@ -36,59 +49,135 @@ const Footer: React.FC = () => {
|
||||
<div>
|
||||
<p className="text-xs text-gray-400 mb-1 group-hover:text-white/80">Email</p>
|
||||
<p className="text-xl font-bold text-white">gw@geowektor.ru</p>
|
||||
<p className="text-sm text-gray-400 mt-1 group-hover:text-white/70">Ответим в течение часа</p>
|
||||
<p className="text-sm text-gray-400 mt-1 group-hover:text-white/70">
|
||||
{isEnglish ? 'We typically respond within one hour' : 'Ответим в течение часа'}
|
||||
</p>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<div className="flex items-start gap-4 p-6 bg-brand-orange/10 border border-brand-orange/30 rounded-2xl">
|
||||
<MapPin size={28} className="text-brand-orange flex-shrink-0" />
|
||||
<div>
|
||||
<p className="text-xs text-gray-400 mb-1">Адрес</p>
|
||||
<p className="text-lg font-bold text-white">450001, РБ, г. Уфа</p>
|
||||
<p className="text-white/90">ул. Комсомольская 19/1</p>
|
||||
<p className="text-xs text-gray-400 mb-1">
|
||||
{isEnglish ? 'Address' : 'Адрес'}
|
||||
</p>
|
||||
<p className="text-lg font-bold text-white">
|
||||
{isEnglish ? '450001, RB, Ufa' : '450001, РБ, г. Уфа'}
|
||||
</p>
|
||||
<p className="text-white/90">
|
||||
{isEnglish ? '19/1 Komsomolskaya St.' : 'ул. Комсомольская 19/1'}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Links & Social Section */}
|
||||
<div className="lg:w-1/2 grid grid-cols-1 md:grid-cols-3 gap-8">
|
||||
<div className="lg:w-1/2 grid grid-cols-1 md:grid-cols-3 gap-8">
|
||||
{/* Основная навигация */}
|
||||
<div>
|
||||
<h4 className="font-bold mb-6 text-lg">Компания</h4>
|
||||
<h4 className="font-bold mb-6 text-lg">
|
||||
{isEnglish ? 'Company' : 'Компания'}
|
||||
</h4>
|
||||
<ul className="space-y-3 text-sm text-gray-400">
|
||||
<li><Link to="/" className="hover:text-brand-orange transition-colors">Главная</Link></li>
|
||||
<li><Link to="/about" className="hover:text-brand-orange transition-colors">О компании</Link></li>
|
||||
<li><Link to="/projects" className="hover:text-brand-orange transition-colors">Проекты</Link></li>
|
||||
<li><Link to="/fleet" className="hover:text-brand-orange transition-colors">Автопарк</Link></li>
|
||||
<li><Link to="/certificates" className="hover:text-brand-orange transition-colors">Сертификаты</Link></li>
|
||||
<li><Link to="/contacts" className="hover:text-brand-orange transition-colors">Контакты</Link></li>
|
||||
<li>
|
||||
<Link to={isEnglish ? '/en' : '/'} className="hover:text-brand-orange transition-colors">
|
||||
{isEnglish ? 'Home' : 'Главная'}
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link to={`${prefix}/about`} className="hover:text-brand-orange transition-colors">
|
||||
{isEnglish ? 'About' : 'О компании'}
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link to={`${prefix}/projects`} className="hover:text-brand-orange transition-colors">
|
||||
{isEnglish ? 'Projects' : 'Проекты'}
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link to={`${prefix}/fleet`} className="hover:text-brand-orange transition-colors">
|
||||
{isEnglish ? 'Fleet' : 'Автопарк'}
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link to={`${prefix}/certificates`} className="hover:text-brand-orange transition-colors">
|
||||
{isEnglish ? 'Certificates' : 'Сертификаты'}
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link to={`${prefix}/contacts`} className="hover:text-brand-orange transition-colors">
|
||||
{isEnglish ? 'Contacts' : 'Контакты'}
|
||||
</Link>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
{/* Услуги */}
|
||||
<div>
|
||||
<h4 className="font-bold mb-6 text-lg">Услуги</h4>
|
||||
<h4 className="font-bold mb-6 text-lg">
|
||||
{isEnglish ? 'Services' : 'Услуги'}
|
||||
</h4>
|
||||
<ul className="space-y-3 text-sm text-gray-400">
|
||||
<li><Link to="/services" className="hover:text-brand-orange transition-colors">Все услуги</Link></li>
|
||||
<li><Link to="/services/surveying" className="hover:text-brand-orange transition-colors">Инженерные изыскания</Link></li>
|
||||
<li><Link to="/services/design" className="hover:text-brand-orange transition-colors">Проектирование</Link></li>
|
||||
<li><Link to="/services/construction" className="hover:text-brand-orange transition-colors">Строительство</Link></li>
|
||||
<li><Link to="/services/soil-survey" className="hover:text-brand-orange transition-colors">Обследование грунтов</Link></li>
|
||||
<li><Link to="/services/building-survey" className="hover:text-brand-orange transition-colors">Обследование зданий</Link></li>
|
||||
<li><Link to="/services/land-survey" className="hover:text-brand-orange transition-colors">Кадастровые работы</Link></li>
|
||||
<li>
|
||||
<Link to={`${prefix}/services`} className="hover:text-brand-orange transition-colors">
|
||||
{isEnglish ? 'All services' : 'Все услуги'}
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link to={`${prefix}/services/surveying`} className="hover:text-brand-orange transition-colors">
|
||||
{isEnglish ? 'Engineering surveys' : 'Инженерные изыскания'}
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link to={`${prefix}/services/design`} className="hover:text-brand-orange transition-colors">
|
||||
{isEnglish ? 'Design' : 'Проектирование'}
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link to={`${prefix}/services/construction`} className="hover:text-brand-orange transition-colors">
|
||||
{isEnglish ? 'Construction' : 'Строительство'}
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link to={`${prefix}/services/soil-survey`} className="hover:text-brand-orange transition-colors">
|
||||
{isEnglish ? 'Soil investigation' : 'Обследование грунтов'}
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link to={`${prefix}/services/building-survey`} className="hover:text-brand-orange transition-colors">
|
||||
{isEnglish ? 'Building survey' : 'Обследование зданий'}
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link to={`${prefix}/services/land-survey`} className="hover:text-brand-orange transition-colors">
|
||||
{isEnglish ? 'Cadastral works' : 'Кадастровые работы'}
|
||||
</Link>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
{/* Лаборатории и соцсети */}
|
||||
<div>
|
||||
<h4 className="font-bold mb-6 text-lg">Лаборатории</h4>
|
||||
<h4 className="font-bold mb-6 text-lg">
|
||||
{isEnglish ? 'Laboratories' : 'Лаборатории'}
|
||||
</h4>
|
||||
<ul className="space-y-3 text-sm text-gray-400 mb-8">
|
||||
<li><Link to="/laboratories/soil" className="hover:text-brand-orange transition-colors">Грунтовая лаборатория</Link></li>
|
||||
<li><Link to="/laboratories/radiation" className="hover:text-brand-orange transition-colors">Радиационная лаборатория</Link></li>
|
||||
<li>
|
||||
<Link to={`${prefix}/laboratories/soil`} className="hover:text-brand-orange transition-colors">
|
||||
{isEnglish ? 'Soil testing laboratory' : 'Грунтовая лаборатория'}
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link to={`${prefix}/laboratories/radiation`} className="hover:text-brand-orange transition-colors">
|
||||
{isEnglish ? 'Radiation laboratory' : 'Радиационная лаборатория'}
|
||||
</Link>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h4 className="font-bold mb-4 text-lg">Мы в интернете</h4>
|
||||
<h4 className="font-bold mb-4 text-lg">
|
||||
{isEnglish ? 'Find us online' : 'Мы в интернете'}
|
||||
</h4>
|
||||
<div className="flex gap-4 mb-8">
|
||||
<a
|
||||
href="https://t.me/ooo_geo_wektor"
|
||||
@@ -112,16 +201,16 @@ const Footer: React.FC = () => {
|
||||
|
||||
<div className="space-y-3 text-sm">
|
||||
<Link
|
||||
to="/privacy-policy"
|
||||
to={`${prefix}/privacy-policy`}
|
||||
className="text-gray-400 hover:text-brand-orange transition-colors block"
|
||||
>
|
||||
Политика конфиденциальности
|
||||
{isEnglish ? 'Privacy policy' : 'Политика конфиденциальности'}
|
||||
</Link>
|
||||
</div>
|
||||
|
||||
<div className="mt-8 text-xs text-gray-600">
|
||||
©2025 ООО «ГеоВектор».<br />
|
||||
Все права защищены.
|
||||
©{currentYear} ООО «ГеоВектор».<br />
|
||||
{isEnglish ? 'All rights reserved.' : 'Все права защищены.'}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user