diff --git a/src/app/about/page.tsx b/src/app/about/page.tsx index 7e4e1a8..6c64689 100644 --- a/src/app/about/page.tsx +++ b/src/app/about/page.tsx @@ -2,6 +2,138 @@ import { useState, useEffect } from 'react'; import Navigation from '../components/Navigation'; +import { + User, + Code, + UserCog, + Wrench, + Palette, + ClipboardList, + Monitor, + Utensils, + Handshake, + TestTube, + Rocket, + Calendar, + Briefcase, + Settings, + Users, + Building2, + Award, + Target, + Lightbulb, + Zap, + Star, + CheckCircle, + TrendingUp, + Globe, + Shield, + Database, + Server, + Cpu, + Network, + Smartphone, + Tablet, + Laptop, + Printer, + Camera, + Headphones, + Keyboard, + Mouse, + HardDrive, + Wifi, + Bluetooth, + Usb, + Power, + Battery, + Volume2, + Mic, + Video, + Phone, + Mail, + MapPin, + Clock, + DollarSign, + FileText, + Package, + Truck, + Home, + CheckSquare, + AlertCircle, + Info, + HelpCircle, + BookOpen, + GraduationCap, + Trophy, + Medal, + Crown, + Heart, + ThumbsUp, + MessageSquare, + PhoneCall, + MailOpen, + Send, + Download, + Upload, + Share2, + Link, + ExternalLink, + ArrowRight, + ArrowLeft, + ChevronRight, + ChevronLeft, + Plus, + Minus, + X, + Search, + Filter, + SortAsc, + SortDesc, + Eye, + EyeOff, + Lock, + Unlock, + Key, + CreditCard, + ShoppingCart, + ShoppingBag, + Tag, + Percent, + BarChart3, + PieChart, + LineChart, + Activity, + TrendingDown, + AlertTriangle, + XCircle, + Check, + Circle, + Square, + Triangle, + Hexagon, + Octagon, + Star as StarIcon, + Heart as HeartIcon, + Smile, + Frown, + Meh, + ThumbsDown, + GitBranch, + GitCommit, + GitMerge, + GitPullRequest, + Github, + Gitlab, + Chrome, + Apple, + Slack, + Facebook, + Twitter, + Instagram, + Linkedin, + Youtube, + Twitch +} from 'lucide-react'; export default function About() { const [mounted, setMounted] = useState(false); @@ -55,7 +187,7 @@ export default function About() { { name: 'Александр Гундырев', role: 'Основатель и CEO', - avatar: '👨‍💼', + avatar: , skills: ['Стратегия', 'Управление', 'Бизнес-процессы'], experience: '10+ лет', projects: '200+', @@ -64,7 +196,7 @@ export default function About() { { name: 'Мария Петрова', role: 'CTO', - avatar: '👩‍💻', + avatar: , skills: ['Архитектура', 'DevOps', 'Команда'], experience: '8+ лет', projects: '150+', @@ -73,7 +205,7 @@ export default function About() { { name: 'Дмитрий Козлов', role: 'Lead Developer', - avatar: '👨‍💻', + avatar: , skills: ['React', 'Node.js', 'Python'], experience: '6+ лет', projects: '100+', @@ -82,7 +214,7 @@ export default function About() { { name: 'Елена Смирнова', role: 'Project Manager', - avatar: '👩‍💼', + avatar: , skills: ['Agile', 'Scrum', 'Планирование'], experience: '7+ лет', projects: '80+', @@ -91,7 +223,7 @@ export default function About() { { name: 'Антон Васильев', role: 'DevOps Engineer', - avatar: '👨‍🔧', + avatar: , skills: ['Docker', 'Kubernetes', 'AWS'], experience: '5+ лет', projects: '60+', @@ -100,7 +232,7 @@ export default function About() { { name: 'Ольга Новикова', role: 'UX/UI Designer', - avatar: '👩‍🎨', + avatar: , skills: ['Figma', 'Prototyping', 'Research'], experience: '4+ лет', projects: '90+', @@ -123,14 +255,14 @@ export default function About() { }; const workDayActivities = [ - { time: '09:00', activity: 'Планирование задач', icon: '📋' }, - { time: '10:00', activity: 'Разработка', icon: '💻' }, - { time: '11:30', activity: 'Code Review', icon: '🔍' }, - { time: '13:00', activity: 'Обед', icon: '🍽️' }, - { time: '14:00', activity: 'Встреча с клиентом', icon: '🤝' }, - { time: '15:30', activity: 'Тестирование', icon: '🧪' }, - { time: '17:00', activity: 'Деплой', icon: '🚀' }, - { time: '18:00', activity: 'Планирование на завтра', icon: '📅' } + { time: '09:00', activity: 'Планирование задач', icon: }, + { time: '10:00', activity: 'Разработка', icon: }, + { time: '11:30', activity: 'Code Review', icon: }, + { time: '13:00', activity: 'Обед', icon: }, + { time: '14:00', activity: 'Встреча с клиентом', icon: }, + { time: '15:30', activity: 'Тестирование', icon: }, + { time: '17:00', activity: 'Деплой', icon: }, + { time: '18:00', activity: 'Планирование на завтра', icon: } ]; // Автоматическое переключение временной шкалы @@ -462,12 +594,12 @@ export default function About() { {/* Орбитальные элементы услуг */}
{[ - { name: 'Разработка ПО', icon: '💻', angle: 0, color: 'text-purple-400' }, - { name: 'Электроника', icon: '⚡', angle: 60, color: 'text-cyan-400' }, - { name: 'Соловей', icon: '🐦', angle: 120, color: 'text-amber-400' }, - { name: 'Secure-T', icon: '🛡️', angle: 180, color: 'text-red-400' }, - { name: 'Dr.Web', icon: '🔧', angle: 240, color: 'text-green-400' }, - { name: 'UX Софт', icon: '🎨', angle: 300, color: 'text-blue-400' } + { name: 'Разработка ПО', icon: , angle: 0, color: 'text-purple-400' }, + { name: 'Электроника', icon: , angle: 60, color: 'text-cyan-400' }, + { name: 'Соловей', icon: , angle: 120, color: 'text-amber-400' }, + { name: 'Secure-T', icon: , angle: 180, color: 'text-red-400' }, + { name: 'Dr.Web', icon: , angle: 240, color: 'text-green-400' }, + { name: 'UX Софт', icon: , angle: 300, color: 'text-blue-400' } ].map((service, index) => (
- {service.icon} +
{service.icon}
))}
@@ -500,7 +632,7 @@ export default function About() {
- 🎯 +

Наша миссия

@@ -512,7 +644,7 @@ export default function About() {
- 🚀 +

Наше видение

@@ -524,7 +656,7 @@ export default function About() {
- 💡 +

Наш подход

@@ -548,48 +680,48 @@ export default function About() { skills: ['React', 'Node.js', 'Python', 'Mobile Apps'], level: 95, color: 'bg-purple-500', - icon: '🔧' + icon: }, { category: 'Инфраструктура', skills: ['AWS', 'Docker', 'Kubernetes', 'DevOps'], level: 88, color: 'bg-blue-500', - icon: '🏗️' + icon: }, { category: 'Безопасность', skills: ['Secure-T', 'Dr.Web', 'Защита данных'], level: 92, color: 'bg-red-500', - icon: '🛡️' + icon: }, { category: 'Поставки', skills: ['Электроника', 'Серверы', 'Госзакупки'], level: 90, color: 'bg-cyan-500', - icon: '📦' + icon: }, { category: 'Консалтинг', skills: ['Архитектура', 'Планирование', 'Оптимизация'], level: 85, color: 'bg-green-500', - icon: '💼' + icon: }, { category: 'Поддержка', skills: ['24/7', 'Мониторинг', 'Обслуживание'], level: 97, color: 'bg-amber-500', - icon: '🔧' + icon: } ].map((area, index) => (
- {area.icon} +
{area.icon}

{area.category}

@@ -869,7 +1001,7 @@ export default function About() {
-
🎯
+

Результативность

Мы ориентированы на достижение конкретных результатов и решение реальных задач бизнеса @@ -877,7 +1009,7 @@ export default function About() {

-
🔧
+

Профессионализм

Высокая экспертиза и постоянное развитие компетенций в области IT-технологий @@ -885,7 +1017,7 @@ export default function About() {

-
🤝
+

Партнерство

Долгосрочные отношения с клиентами, основанные на взаимном доверии и понимании @@ -893,7 +1025,7 @@ export default function About() {

-
+

Инновации

Использование передовых технологий и современных подходов к решению задач @@ -901,7 +1033,7 @@ export default function About() {

-
🛡️
+

Надежность

Гарантированное качество услуг и соблюдение всех договорных обязательств @@ -909,7 +1041,7 @@ export default function About() {

-
📈
+

Развитие

Постоянное совершенствование процессов и расширение спектра предоставляемых услуг @@ -943,7 +1075,7 @@ export default function About() {

-
💻
+

Разработка ПО

Веб-приложения, мобильные приложения, десктопные программы @@ -954,7 +1086,7 @@ export default function About() {

-
+

Поставка электроники

От аксессуаров до серверного оборудования, работа с госзакупками @@ -964,19 +1096,10 @@ export default function About() {

-
-
🔒
-

UX Софт

-

- Программное обеспечение для улучшения пользовательского опыта -

- - Подробнее → - -
+
-
🐦
+

Соловей

Платформа видеосвязи на поддомене заказчика @@ -987,7 +1110,7 @@ export default function About() {

-
🛡️
+

Secure-T

Решения информационной безопасности и защиты данных @@ -998,7 +1121,7 @@ export default function About() {

-
🔧
+

Dr.Web

Официальный партнер Dr.Web, антивирусные решения @@ -1009,7 +1132,7 @@ export default function About() {

-
🏢
+

B2B решения

Корпоративные поставки и индивидуальные условия @@ -1018,7 +1141,7 @@ export default function About() {

-
🏛️
+

B2G решения

Работа с государственными организациями по 44-ФЗ и 223-ФЗ diff --git a/src/app/components/ContactModal.tsx b/src/app/components/ContactModal.tsx index 3283f04..5dfb96f 100644 --- a/src/app/components/ContactModal.tsx +++ b/src/app/components/ContactModal.tsx @@ -1,14 +1,13 @@ 'use client'; -import { useState, useEffect } from 'react'; +import { useState } from 'react'; import { MessageCircle, Briefcase, Settings, Lightbulb, Phone, - Mail, - X + Mail } from 'lucide-react'; export interface ContactModalProps { @@ -27,8 +26,7 @@ export default function ContactModal({ isOpen, onClose, defaultType = 'general', type: defaultType, message: '' }); - const [isSubmitting, setIsSubmitting] = useState(false); - const [submitStatus, setSubmitStatus] = useState<'idle' | 'success' | 'error'>('idle'); + const contactTypes = [ { id: 'general', label: 'Общие вопросы', icon: }, diff --git a/src/app/components/Footer.tsx b/src/app/components/Footer.tsx index 323b9aa..45e1334 100644 --- a/src/app/components/Footer.tsx +++ b/src/app/components/Footer.tsx @@ -56,11 +56,7 @@ export default function Footer() { Поставка электроники -

  • - - UX-софт - -
  • +
  • Информационная безопасность diff --git a/src/app/components/InteractiveBlocks.tsx b/src/app/components/InteractiveBlocks.tsx index fdb1e84..8f0579a 100644 --- a/src/app/components/InteractiveBlocks.tsx +++ b/src/app/components/InteractiveBlocks.tsx @@ -81,16 +81,9 @@ export default function InteractiveBlocks() { color: "from-cyan-500 to-teal-500", link: "/electronics", }, + { id: 3, - title: "UX Софт", - description: "Улучшение пользовательского опыта", - icon: , - color: "from-blue-500 to-purple-500", - link: "/ux-software", - }, - { - id: 4, title: "Соловей", description: "Платформа видеосвязи", icon: , @@ -98,7 +91,7 @@ export default function InteractiveBlocks() { link: "/solovey", }, { - id: 5, + id: 4, title: "Secure-T", description: "Информационная безопасность", icon: , @@ -106,7 +99,7 @@ export default function InteractiveBlocks() { link: "/secure-t", }, { - id: 6, + id: 5, title: "Dr.Web", description: "Антивирусные решения", icon: , @@ -127,8 +120,7 @@ export default function InteractiveBlocks() { { x: 350, y: -650 }, { x: 650, y: -450 }, { x: 150, y: -800 }, - { x: 450, y: -350 }, - { x: 250, y: -550 } + { x: 450, y: -350 } ]; const basePos = positions[index % positions.length]; diff --git a/src/app/components/Navigation.tsx b/src/app/components/Navigation.tsx index 25d9a53..2aa669f 100644 --- a/src/app/components/Navigation.tsx +++ b/src/app/components/Navigation.tsx @@ -25,7 +25,6 @@ export default function Navigation() { { category: 'Безопасность', items: [ - { href: '/ux-software', label: 'UX-софт', description: 'Улучшение пользовательского опыта', icon: }, { href: '/secure-t', label: 'Secure-T', description: 'Комплексная защита', icon: }, { href: '/drweb', label: 'Dr.Web', description: 'Антивирусная защита', icon: }, ] diff --git a/src/app/contacts/page.tsx b/src/app/contacts/page.tsx index 6e7fb14..010471f 100644 --- a/src/app/contacts/page.tsx +++ b/src/app/contacts/page.tsx @@ -2,6 +2,44 @@ import { useState, useEffect } from 'react'; import Navigation from '../components/Navigation'; +import { + MessageSquare, + Briefcase, + Wrench, + Handshake, + Phone, + Mail, + MapPin, + Globe, + Smartphone, + Monitor, + ClipboardList, + CheckCircle, + XCircle, + AlertTriangle, + Info, + Search, + Send, + Download, + RefreshCw, + Clock, + Calendar, + Target, + Lightbulb, + Rocket, + Star, + Gem, + Palette, + Sparkles, + Zap, + Droplets, + Waves, + Rainbow, + Sun, + Moon, + User, + BarChart3 +} from 'lucide-react'; export default function Contacts() { const [isFormOpen, setIsFormOpen] = useState(false); @@ -69,10 +107,10 @@ export default function Contacts() { }; const contactTypes = [ - { id: 'general', label: 'Общие вопросы', icon: '💬' }, - { id: 'sales', label: 'Отдел продаж', icon: '💼' }, - { id: 'support', label: 'Техподдержка', icon: '🔧' }, - { id: 'partnership', label: 'Партнёрство', icon: '🤝' } + { id: 'general', label: 'Общие вопросы', icon: }, + { id: 'sales', label: 'Отдел продаж', icon: }, + { id: 'support', label: 'Техподдержка', icon: }, + { id: 'partnership', label: 'Партнёрство', icon: } ]; return ( @@ -105,7 +143,7 @@ export default function Contacts() { onMouseEnter={() => setHoveredCard('phone')} onMouseLeave={() => setHoveredCard(null)} > -
    📞
    +

    Телефон

    +7 (495) 123-45-67

    {copySuccess === 'phone' && ( @@ -122,7 +160,7 @@ export default function Contacts() { onMouseEnter={() => setHoveredCard('email')} onMouseLeave={() => setHoveredCard(null)} > -
    📧
    +

    Email

    info@gundyrev.ru

    {copySuccess === 'email' && ( @@ -134,7 +172,7 @@ export default function Contacts() {
  • -
    🕒
    +

    Режим работы

    Пн-Пт: 9:00-18:00

    МСК

    @@ -169,74 +207,74 @@ export default function Contacts() {
    - 💼 +

    Отдел продаж

    -

    📞 +7 (495) 123-45-67 доб. 101

    +

    +7 (495) 123-45-67 доб. 101

    copyToClipboard('sales@gundyrev.ru', 'sales-email')} > - 📧 sales@gundyrev.ru - {copySuccess === 'sales-email' && } + sales@gundyrev.ru + {copySuccess === 'sales-email' && }

    -

    👤 Менеджер: Иван Петров

    +

    Менеджер: Иван Петров

    - 🔧 +

    Техническая поддержка

    -

    📞 +7 (495) 123-45-67 доб. 102

    +

    +7 (495) 123-45-67 доб. 102

    copyToClipboard('support@gundyrev.ru', 'support-email')} > - 📧 support@gundyrev.ru - {copySuccess === 'support-email' && } + support@gundyrev.ru + {copySuccess === 'support-email' && }

    -

    ⏰ 24/7 для критических задач

    +

    24/7 для критических задач

    - 📊 +

    Бухгалтерия

    -

    📞 +7 (495) 123-45-67 доб. 103

    +

    +7 (495) 123-45-67 доб. 103

    copyToClipboard('accounting@gundyrev.ru', 'accounting-email')} > - 📧 accounting@gundyrev.ru - {copySuccess === 'accounting-email' && } + accounting@gundyrev.ru + {copySuccess === 'accounting-email' && }

    -

    👤 Главный бухгалтер: Елена Сидорова

    -

    ⏰ Пн-Пт: 9:00-17:00

    +

    Главный бухгалтер: Елена Сидорова

    +

    Пн-Пт: 9:00-17:00

    - 🤝 +

    Партнёрство

    -

    📞 +7 (495) 123-45-67 доб. 104

    +

    +7 (495) 123-45-67 доб. 104

    copyToClipboard('partners@gundyrev.ru', 'partners-email')} > - 📧 partners@gundyrev.ru - {copySuccess === 'partners-email' && } + partners@gundyrev.ru + {copySuccess === 'partners-email' && }

    -

    👤 Директор по развитию: Анна Козлова

    +

    Директор по развитию: Анна Козлова

    @@ -268,7 +306,7 @@ export default function Contacts() { onClick={() => copyToClipboard('7701234567', 'inn')} > 7701234567 - {copySuccess === 'inn' && } + {copySuccess === 'inn' && }

    @@ -278,7 +316,7 @@ export default function Contacts() { onClick={() => copyToClipboard('770101001', 'kpp')} > 770101001 - {copySuccess === 'kpp' && } + {copySuccess === 'kpp' && }

    @@ -290,7 +328,7 @@ export default function Contacts() { onClick={() => copyToClipboard('1234567890123', 'ogrn')} > 1234567890123 - {copySuccess === 'ogrn' && } + {copySuccess === 'ogrn' && }

    @@ -304,7 +342,7 @@ export default function Contacts() { onClick={() => copyToClipboard('40702810123456789012', 'rs')} > 40702810123456789012 - {copySuccess === 'rs' && } + {copySuccess === 'rs' && }
    @@ -314,7 +352,7 @@ export default function Contacts() { onClick={() => copyToClipboard('30101810123456789012', 'ks')} > 30101810123456789012 - {copySuccess === 'ks' && } + {copySuccess === 'ks' && }
    @@ -324,7 +362,7 @@ export default function Contacts() { onClick={() => copyToClipboard('123456789', 'bik')} > 123456789 - {copySuccess === 'bik' && } + {copySuccess === 'bik' && }

    diff --git a/src/app/development/page.tsx b/src/app/development/page.tsx index c6983f9..62ae8e6 100644 --- a/src/app/development/page.tsx +++ b/src/app/development/page.tsx @@ -1,4 +1,15 @@ import Navigation from '../components/Navigation'; +import { + Globe, + Smartphone, + Monitor, + Settings, + Bot, + Wrench, + Briefcase, + BarChart3, + Store +} from 'lucide-react'; export default function Development() { return ( @@ -45,7 +56,7 @@ export default function Development() {

    -
    🌐
    +

    Веб-разработка

    Создание современных веб-приложений и сайтов @@ -59,7 +70,7 @@ export default function Development() {

    -
    📱
    +

    Мобильная разработка

    Нативные и кроссплатформенные мобильные приложения @@ -73,7 +84,7 @@ export default function Development() {

    -
    🖥️
    +

    Десктопные приложения

    Программы для Windows, macOS и Linux @@ -87,7 +98,7 @@ export default function Development() {

    -
    ⚙️
    +

    Backend и API

    Серверная логика и интеграционные решения @@ -101,7 +112,7 @@ export default function Development() {

    -
    🤖
    +

    Автоматизация

    Системы автоматизации бизнес-процессов @@ -115,7 +126,7 @@ export default function Development() {

    -
    🔧
    +

    Техническая поддержка

    Сопровождение и развитие готовых решений @@ -259,7 +270,7 @@ export default function Development() {

    -
    💼
    +

    CRM-система

    Система управления клиентами для торговой компании @@ -272,7 +283,7 @@ export default function Development() {

    -
    📊
    +

    Система аналитики

    Платформа для анализа данных и создания отчетов @@ -285,7 +296,7 @@ export default function Development() {

    -
    🏪
    +

    E-commerce платформа

    Интернет-магазин с интеграцией платежных систем diff --git a/src/app/drweb/page.tsx b/src/app/drweb/page.tsx index 7421ee4..c8f1066 100644 --- a/src/app/drweb/page.tsx +++ b/src/app/drweb/page.tsx @@ -3,6 +3,22 @@ import Navigation from '../components/Navigation'; import LicenseCalculator from '../components/LicenseCalculator'; import { useState, useEffect } from 'react'; +import { + Shield, + RefreshCw, + Search, + CheckCircle, + AlertTriangle, + Info, + XCircle, + Smartphone, + Trophy, + Monitor, + Building2, + Globe, + Cloud, + Wrench +} from 'lucide-react'; export default function DrWeb() { // Добавляем стили для анимации @@ -337,8 +353,8 @@ export default function DrWeb() { notification.type === 'update' ? 'text-blue-400' : 'text-green-400' }`}> - {notification.type === 'threat' ? '🛡️' : - notification.type === 'update' ? '🔄' : '🔍'} + {notification.type === 'threat' ? : + notification.type === 'update' ? : }

    {notification.message}

    @@ -367,9 +383,9 @@ export default function DrWeb() { alert.type === 'warning' ? 'text-yellow-400' : alert.type === 'info' ? 'text-blue-400' : 'text-red-400' }`}> - {alert.type === 'success' ? '✅' : - alert.type === 'warning' ? '⚠️' : - alert.type === 'info' ? 'ℹ️' : '❌'} + {alert.type === 'success' ? : + alert.type === 'warning' ? : + alert.type === 'info' ? : }

    {alert.message}

    @@ -395,9 +411,9 @@ export default function DrWeb() { alert.type === 'warning' ? 'text-yellow-400' : alert.type === 'info' ? 'text-blue-400' : 'text-red-400' }`}> - {alert.type === 'success' ? '✅' : - alert.type === 'warning' ? '⚠️' : - alert.type === 'info' ? 'ℹ️' : '❌'} + {alert.type === 'success' ? : + alert.type === 'warning' ? : + alert.type === 'info' ? : }

    {alert.message}

    @@ -423,9 +439,9 @@ export default function DrWeb() { alert.type === 'warning' ? 'text-yellow-400' : alert.type === 'info' ? 'text-blue-400' : 'text-red-400' }`}> - {alert.type === 'success' ? '✅' : - alert.type === 'warning' ? '⚠️' : - alert.type === 'info' ? 'ℹ️' : '❌'} + {alert.type === 'success' ? : + alert.type === 'warning' ? : + alert.type === 'info' ? : }

    {alert.message}

    @@ -446,7 +462,7 @@ export default function DrWeb() { {/* Анимированная статистика */}
    -
    🛡️
    +
    {stats.threatsBlocked.toLocaleString()}+
    @@ -457,7 +473,7 @@ export default function DrWeb() {
    -
    📱
    +
    {stats.devicesProtected.toLocaleString()}+
    @@ -468,7 +484,7 @@ export default function DrWeb() {
    -
    🔄
    +
    {stats.updatesDaily.toLocaleString()}+
    @@ -479,7 +495,7 @@ export default function DrWeb() {
    -
    🏆
    +
    {stats.yearsExperience}+
    @@ -508,7 +524,7 @@ export default function DrWeb() {
    -
    🖥️
    +

    Dr.Web Security Space

    Комплексная защита для домашних компьютеров и ноутбуков @@ -533,7 +549,7 @@ export default function DrWeb() {

    -
    🏢
    +

    Dr.Web Enterprise Suite

    Корпоративное решение для защиты бизнеса @@ -558,7 +574,7 @@ export default function DrWeb() {

    -
    📱
    +

    Dr.Web Mobile Security

    Защита мобильных устройств Android и iOS @@ -583,7 +599,7 @@ export default function DrWeb() {

    -
    🌐
    +

    Dr.Web Gateway Security

    Защита интернет-шлюзов и почтовых серверов @@ -608,7 +624,7 @@ export default function DrWeb() {

    -
    ☁️
    +

    Dr.Web Cloud

    Облачные решения безопасности @@ -633,7 +649,7 @@ export default function DrWeb() {

    -
    🔧
    +

    Dr.Web CureIt!

    Бесплатная утилита для лечения зараженных компьютеров diff --git a/src/app/electronics/page.tsx b/src/app/electronics/page.tsx index 486802e..450139f 100644 --- a/src/app/electronics/page.tsx +++ b/src/app/electronics/page.tsx @@ -2,6 +2,31 @@ import { useState, useEffect } from 'react'; import Navigation from '../components/Navigation'; +import { + ShoppingCart, + Monitor, + Smartphone, + Plug, + Server, + Globe, + ClipboardList, + CheckCircle, + Package, + Truck, + Home, + Zap, + Battery, + HardDrive, + Wifi, + Building2, + Package2, + Wrench, + MapPin, + FileText, + DollarSign, + Star, + X +} from 'lucide-react'; export default function Electronics() { const [selectedCategory, setSelectedCategory] = useState('all'); @@ -24,12 +49,12 @@ export default function Electronics() { }>>([]); const categories = [ - { id: 'all', name: 'Все товары', icon: '🛒', color: 'cyan' }, - { id: 'computers', name: 'Компьютеры', icon: '💻', color: 'blue' }, - { id: 'phones', name: 'Телефоны', icon: '📱', color: 'green' }, - { id: 'accessories', name: 'Аксессуары', icon: '🔌', color: 'purple' }, - { id: 'servers', name: 'Серверы', icon: '🖲️', color: 'orange' }, - { id: 'network', name: 'Сеть', icon: '🌐', color: 'teal' } + { id: 'all', name: 'Все товары', icon: , color: 'cyan' }, + { id: 'computers', name: 'Компьютеры', icon: , color: 'blue' }, + { id: 'phones', name: 'Телефоны', icon: , color: 'green' }, + { id: 'accessories', name: 'Аксессуары', icon: , color: 'purple' }, + { id: 'servers', name: 'Серверы', icon: , color: 'orange' }, + { id: 'network', name: 'Сеть', icon: , color: 'teal' } ]; const products = [ @@ -44,11 +69,11 @@ export default function Electronics() { ]; const deliverySteps = [ - { name: 'Заказ получен', icon: '📋', completed: true }, - { name: 'Подтверждение', icon: '✅', completed: true }, - { name: 'Сборка', icon: '📦', completed: true }, - { name: 'Отправка', icon: '🚚', completed: false }, - { name: 'Доставка', icon: '🏠', completed: false } + { name: 'Заказ получен', icon: , completed: true }, + { name: 'Подтверждение', icon: , completed: true }, + { name: 'Сборка', icon: , completed: true }, + { name: 'Отправка', icon: , completed: false }, + { name: 'Доставка', icon: , completed: false } ]; // Генерация электронных частиц @@ -212,7 +237,7 @@ export default function Electronics() { : 'glass-effect text-gray-300 hover:bg-white/10' }`} > - {category.icon} + {category.icon} {category.name} ))} @@ -223,21 +248,21 @@ export default function Electronics() { {filteredProducts.map((product) => (

    setHoveredProduct(product.id)} onMouseLeave={() => setHoveredProduct(null)} >
    -
    - {product.category === 'computers' && '💻'} - {product.category === 'phones' && '📱'} - {product.category === 'accessories' && '🔌'} - {product.category === 'servers' && '🖲️'} - {product.category === 'network' && '🌐'} -
    +
    + {product.category === 'computers' && } + {product.category === 'phones' && } + {product.category === 'accessories' && } + {product.category === 'servers' && } + {product.category === 'network' && } +
    {hoveredProduct === product.id && ( -
    +
    )}
    @@ -318,7 +343,7 @@ export default function Electronics() {
    - {step.icon} +
    {step.icon}
    {step.name} @@ -407,25 +432,25 @@ export default function Electronics() {

    Наши преимущества в госзакупках

    -
    📋
    +

    Опыт участия

    Более 500 выигранных тендеров

    -
    🏆
    +

    Высокий рейтинг

    Надежный поставщик без нарушений

    -
    +

    Быстрая поставка

    Соблюдение всех сроков контракта

    -
    📄
    +

    Все документы

    Полный пакет сертификатов и лицензий

    @@ -445,7 +470,7 @@ export default function Electronics() {
    -
    🏢
    +

    Корпоративные поставки

    Комплексное оснащение офисов и производственных помещений @@ -459,7 +484,7 @@ export default function Electronics() {

    -
    📦
    +

    Складская программа

    Поддержание складских остатков популярных позиций @@ -473,7 +498,7 @@ export default function Electronics() {

    -
    🔧
    +

    Сервисное обслуживание

    Полный цикл технической поддержки оборудования @@ -523,15 +548,15 @@ export default function Electronics() {

    Калькулятор стоимости

    {cartItems.length === 0 ? (
    -
    🛒
    +

    Корзина пуста. Добавьте товары из каталога.

    ) : ( @@ -591,7 +616,7 @@ export default function Electronics() { className="glass-effect p-4 rounded-full hover-glow transition-all duration-300 transform hover:scale-110" >
    - 🛒 +
    {cartItems.reduce((sum, item) => sum + item.quantity, 0)}
    @@ -626,7 +651,7 @@ export default function Electronics() { className="glass-effect p-6 rounded-lg hover-glow transition-all duration-300 transform hover:scale-105 cursor-pointer" >
    -
    📍
    +

    {warehouse.city}

    {warehouse.address}

    @@ -672,15 +697,15 @@ export default function Electronics() {
    {[ - { icon: '📋', title: 'Заявка', desc: 'Получаем вашу спецификацию' }, - { icon: '💰', title: 'Расчет', desc: 'Формируем коммерческое предложение' }, - { icon: '📦', title: 'Сборка', desc: 'Комплектуем заказ на складе' }, - { icon: '🚚', title: 'Доставка', desc: 'Доставляем в указанное место' }, - { icon: '✅', title: 'Приемка', desc: 'Подписываем документы' } + { icon: , title: 'Заявка', desc: 'Получаем вашу спецификацию' }, + { icon: , title: 'Расчет', desc: 'Формируем коммерческое предложение' }, + { icon: , title: 'Сборка', desc: 'Комплектуем заказ на складе' }, + { icon: , title: 'Доставка', desc: 'Доставляем в указанное место' }, + { icon: , title: 'Приемка', desc: 'Подписываем документы' } ].map((step, index) => (
    - {step.icon} +
    {step.icon}

    {step.title}

    {step.desc}

    diff --git a/src/app/globals.css b/src/app/globals.css index dfb95c7..1d58a4d 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -2303,4 +2303,18 @@ body { body { @apply bg-background text-foreground; } +} + +/* Стили для иконок в модальном окне документации */ +.modal-documentation-icon { + transform: none !important; + transition: none !important; + animation: none !important; + will-change: auto !important; +} + +.modal-documentation-icon * { + transform: none !important; + transition: none !important; + animation: none !important; } \ No newline at end of file diff --git a/src/app/page.tsx b/src/app/page.tsx index b6ca0b3..cb9a1c7 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -38,7 +38,7 @@ export default function Home() { uptime: 0 }); const [currentCodeExample, setCurrentCodeExample] = useState(0); - const [techSphereRotation, setTechSphereRotation] = useState(0); + const [mousePosition, setMousePosition] = useState({ x: 0, y: 0 }); const [isContactModalOpen, setIsContactModalOpen] = useState(false); @@ -76,40 +76,6 @@ export default function Home() { return () => clearInterval(interval); }, [mounted]); - // Переключение примеров кода - useEffect(() => { - if (!mounted) return; - - const interval = setInterval(() => { - setCurrentCodeExample(prev => (prev + 1) % codeExamples.length); - }, 4000); - - return () => clearInterval(interval); - }, [mounted]); - - // Вращение 3D-сферы - useEffect(() => { - if (!mounted) return; - - const interval = setInterval(() => { - setTechSphereRotation(prev => (prev + 1) % 360); - }, 50); - - return () => clearInterval(interval); - }, [mounted]); - - // Отслеживание мыши - useEffect(() => { - if (!mounted) return; - - const handleMouseMove = (e: MouseEvent) => { - setMousePosition({ x: e.clientX, y: e.clientY }); - }; - - window.addEventListener('mousemove', handleMouseMove); - return () => window.removeEventListener('mousemove', handleMouseMove); - }, [mounted]); - const codeExamples = [ { title: "React + TypeScript", @@ -148,6 +114,31 @@ model.compile(optimizer='adam', loss='sparse_categorical_crossentropy')` } ]; + // Переключение примеров кода + useEffect(() => { + if (!mounted) return; + + const interval = setInterval(() => { + setCurrentCodeExample(prev => (prev + 1) % codeExamples.length); + }, 4000); + + return () => clearInterval(interval); + }, [mounted, codeExamples.length]); + + + + // Отслеживание мыши + useEffect(() => { + if (!mounted) return; + + const handleMouseMove = (e: MouseEvent) => { + setMousePosition({ x: e.clientX, y: e.clientY }); + }; + + window.addEventListener('mousemove', handleMouseMove); + return () => window.removeEventListener('mousemove', handleMouseMove); + }, [mounted]); + const technologies = [ 'React', 'Node.js', 'Python', 'TypeScript', 'Docker', 'AWS', 'PostgreSQL', 'MongoDB', 'Redis', 'Kubernetes', 'GraphQL', 'Next.js', 'Vue.js', 'Django', @@ -170,7 +161,7 @@ model.compile(optimizer='adam', loss='sparse_categorical_crossentropy')` return (
    - + setIsContactModalOpen(true)} /> {/* Hero Section с заголовком и интерактивными элементами */}
    @@ -178,8 +169,7 @@ model.compile(optimizer='adam', loss='sparse_categorical_crossentropy')` {/* Заголовок и описание */}

    - GUNDYREV -
    + GUNDYREV

    {/* Голографические линии */}
    @@ -745,7 +735,7 @@ model.compile(optimizer='adam', loss='sparse_categorical_crossentropy')`

    {clientType.description}

    - {clientType.examples.map((example, exampleIndex) => ( + {clientType.examples.map((example) => (
    {service.description}

    - {service.features.map((feature, featureIndex) => ( + {service.features.map((feature) => (
    - {alert.type === 'threat' ? '⚠️' : - alert.type === 'block' ? '🛡️' : - alert.type === 'scan' ? '🔍' : '✅'} + {alert.type === 'threat' ? : + alert.type === 'block' ? : + alert.type === 'scan' ? : }

    {alert.message}

    @@ -536,8 +577,8 @@ export default function SecureT() { alert.type === 'warning' ? 'text-yellow-400' : 'text-blue-400' }`}> - {alert.type === 'critical' ? '🚨' : - alert.type === 'warning' ? '⚠️' : 'ℹ️'} + {alert.type === 'critical' ? : + alert.type === 'warning' ? : }

    {alert.message}

    @@ -567,8 +608,8 @@ export default function SecureT() { alert.type === 'firewall' ? 'text-orange-400' : 'text-green-400' }`}> - {alert.type === 'encryption' ? '🔐' : - alert.type === 'firewall' ? '🔥' : '💾'} + {alert.type === 'encryption' ? : + alert.type === 'firewall' ? : }

    {alert.message}

    @@ -598,8 +639,8 @@ export default function SecureT() { alert.type === 'network' ? 'text-cyan-400' : 'text-pink-400' }`}> - {alert.type === 'system' ? '🖥️' : - alert.type === 'network' ? '🌐' : '📁'} + {alert.type === 'system' ? : + alert.type === 'network' ? : }

    {alert.message}

    @@ -625,8 +666,8 @@ export default function SecureT() { alert.type === 'network' ? 'text-cyan-400' : 'text-pink-400' }`}> - {alert.type === 'system' ? '🖥️' : - alert.type === 'network' ? '🌐' : '📁'} + {alert.type === 'system' ? : + alert.type === 'network' ? : }

    {alert.message}

    @@ -654,7 +695,7 @@ export default function SecureT() {
    -
    🛡️
    +

    Многоуровневая защита

    @@ -665,7 +706,7 @@ export default function SecureT() {

    -
    +

    Быстрое реагирование

    @@ -676,7 +717,7 @@ export default function SecureT() {

    -
    🔧
    +

    Простота внедрения

    @@ -688,7 +729,7 @@ export default function SecureT() {

    -
    🎯
    +

    Основная цель

    Обеспечить максимальную защиту корпоративных данных при сохранении @@ -720,7 +761,7 @@ export default function SecureT() {

    Что включает в себя система SECURE-T?

    -
    +

    SECURE-T включает в себя:

    @@ -739,7 +780,7 @@ export default function SecureT() {

    Как быстро можно внедрить SECURE-T?

    -
    +

    @@ -756,7 +797,7 @@ export default function SecureT() {

    Какие требования к системе для работы SECURE-T?

    -
    +

    @@ -772,7 +813,7 @@ export default function SecureT() {

    Предоставляется ли техническая поддержка?

    -
    +

    @@ -788,7 +829,7 @@ export default function SecureT() {

    Можно ли получить демо-версию для тестирования?

    -
    +

    @@ -823,7 +864,7 @@ export default function SecureT() { }} className="glass-effect p-8 rounded-lg hover-glow transition-all duration-300 group hover:scale-105 cursor-pointer" > -

    🔐
    +

    Криптографическая защита

    Современные алгоритмы шифрования для защиты конфиденциальных данных @@ -847,7 +888,7 @@ export default function SecureT() { }} className="glass-effect p-8 rounded-lg hover-glow transition-all duration-300 group hover:scale-105 cursor-pointer" > -

    🛡️
    +

    Сетевая безопасность

    Комплексная защита сетевой инфраструктуры от внешних угроз @@ -871,7 +912,7 @@ export default function SecureT() { }} className="glass-effect p-8 rounded-lg hover-glow transition-all duration-300 group hover:scale-105 cursor-pointer" > -

    📊
    +

    Мониторинг безопасности

    Системы мониторинга и анализа инцидентов информационной безопасности @@ -895,7 +936,7 @@ export default function SecureT() { }} className="glass-effect p-8 rounded-lg hover-glow transition-all duration-300 group hover:scale-105 cursor-pointer" > -

    🔍
    +

    Аудит безопасности

    Проведение комплексного аудита систем информационной безопасности @@ -919,7 +960,7 @@ export default function SecureT() { }} className="glass-effect p-8 rounded-lg hover-glow transition-all duration-300 group hover:scale-105 cursor-pointer" > -

    ⚙️
    +

    Интеграция систем

    Интеграция решений безопасности с существующей IT-инфраструктурой @@ -943,7 +984,7 @@ export default function SecureT() { }} className="glass-effect p-8 rounded-lg hover-glow transition-all duration-300 group hover:scale-105 cursor-pointer" > -

    📚
    +

    Обучение персонала

    Программы обучения сотрудников основам информационной безопасности @@ -1001,7 +1042,7 @@ export default function SecureT() {

    -
    📚
    +

    Полная документация

    @@ -1017,7 +1058,7 @@ export default function SecureT() { rel="noopener noreferrer" className="px-8 py-4 bg-red-500 text-white font-semibold rounded-lg hover-glow transition-all duration-300 hover:bg-red-600 active:scale-95 flex items-center justify-center gap-2 animate-pulse-secure" > - 📖 + Открыть документацию - 🚀 + Быстрый старт
    -
    🔧
    +

    Установка и настройка

    Пошаговые инструкции по установке и первоначальной настройке системы @@ -1041,7 +1082,7 @@ export default function SecureT() {

    -
    ⚙️
    +

    Конфигурация

    Подробные примеры конфигураций для различных сценариев использования @@ -1049,7 +1090,7 @@ export default function SecureT() {

    -
    🚀
    +

    API и интеграция

    Руководство по использованию API и интеграции с внешними системами @@ -1074,7 +1115,7 @@ export default function SecureT() {

    -
    🏆
    +

    Сертификат ФСТЭК

    Сертификат соответствия требованиям безопасности информации № РОСС RU.0001.01БИ00 от 15.03.2024 @@ -1094,7 +1135,7 @@ export default function SecureT() {

    -
    🛡️
    +

    Лицензия ФСБ

    Лицензия на разработку и производство средств защиты конфиденциальной информации № 149 от 22.08.2023 @@ -1114,7 +1155,7 @@ export default function SecureT() {

    -
    🌍
    +

    ISO 27001:2013

    Международный стандарт системы менеджмента информационной безопасности @@ -1134,7 +1175,7 @@ export default function SecureT() {

    -
    📋
    +

    Реестр Минпромторга

    Включение в единый реестр российских программ для ЭВМ и баз данных @@ -1154,7 +1195,7 @@ export default function SecureT() {

    -
    +

    Соответствие ГОСТ

    Соответствие требованиям ГОСТ Р 50922-2006, ГОСТ Р 51241-2017 и другим стандартам @@ -1174,7 +1215,7 @@ export default function SecureT() {

    -
    🔐
    +

    Криптографические алгоритмы

    Использование сертифицированных отечественных криптографических алгоритмов @@ -1230,7 +1271,7 @@ export default function SecureT() {

    -
    📚
    +

    Руководство пользователя

    Подробное руководство по работе с интерфейсом и основными функциями

      @@ -1251,7 +1292,7 @@ export default function SecureT() {
    -
    ⚙️
    +

    Руководство администратора

    Техническое руководство для системных администраторов

      @@ -1272,7 +1313,7 @@ export default function SecureT() {
    -
    🎥
    +

    Видеоуроки

    Серия обучающих видеороликов для быстрого освоения

      @@ -1293,7 +1334,7 @@ export default function SecureT() {
    -
    🎓
    +

    Онлайн-курсы

    Интерактивные курсы с практическими заданиями

      @@ -1314,7 +1355,7 @@ export default function SecureT() {
    -
    🔧
    +

    Практические сценарии

    Готовые сценарии для типовых задач безопасности

      @@ -1335,7 +1376,7 @@ export default function SecureT() {
    -
    📞
    +

    Персональное обучение

    Индивидуальные занятия с экспертом по безопасности

      @@ -1376,28 +1417,28 @@ export default function SecureT() {

      Соответствие требованиям 44-ФЗ и 223-ФЗ

      -
      +

      Реестр отечественного ПО

      Включен в единый реестр российских программ (№14158)

      -
      +

      Импортозамещение

      100% российская разработка без зарубежных компонентов

      -
      +

      Техническая поддержка

      Гарантированная поддержка на территории РФ

      -
      +

      Сертификация

      Все необходимые сертификаты ФСТЭК и лицензии ФСБ

      @@ -1431,7 +1472,7 @@ export default function SecureT() {
      - 📋 +

      Коммерческое предложение

      Готовое КП для госзакупок

      @@ -1450,7 +1491,7 @@ export default function SecureT() {
      - 📊 +

      Техническое задание

      Образец ТЗ для тендера

      @@ -1469,7 +1510,7 @@ export default function SecureT() {
      - 📑 +

      Пакет документов

      Все сертификаты и лицензии

      @@ -1488,7 +1529,7 @@ export default function SecureT() {
      - 💰 +

      Прайс-лист

      Актуальные цены и условия

      @@ -1575,7 +1616,7 @@ export default function SecureT() {
      -
      📄
      +

      Техническая документация

      Подробные руководства по внедрению и настройке

      @@ -358,7 +385,7 @@ export default function Solovey() { {/* Центральный сервер */}
      - 🖥️ +
      Соловей Сервер @@ -478,7 +505,7 @@ export default function Solovey() {
      -
      📹
      +

      HD видеосвязь

      Качественная видеосвязь в разрешении до 4K с адаптивной настройкой под канал связи @@ -486,7 +513,7 @@ export default function Solovey() {

      -
      👥
      +

      Групповые конференции

      Поддержка до 100 участников одновременно с возможностью модерации @@ -494,7 +521,7 @@ export default function Solovey() {

      -
      🖥️
      +

      Демонстрация экрана

      Совместное использование экрана, презентаций и приложений @@ -502,7 +529,7 @@ export default function Solovey() {

      -
      💬
      +

      Чат и файлообмен

      Встроенный чат с возможностью отправки файлов и ссылок @@ -510,7 +537,7 @@ export default function Solovey() {

      -
      📱
      +

      Мультиплатформенность

      Работает в браузере, на мобильных устройствах и десктопе @@ -518,7 +545,7 @@ export default function Solovey() {

      -
      🔒
      +

      Безопасность

      End-to-end шифрование и защита от несанкционированного доступа @@ -526,7 +553,7 @@ export default function Solovey() {

      -
      📊
      +

      Аналитика

      Детальная статистика использования и отчеты по конференциям @@ -534,7 +561,7 @@ export default function Solovey() {

      -
      🎨
      +

      Брендинг

      Настройка интерфейса под корпоративный стиль заказчика @@ -542,7 +569,7 @@ export default function Solovey() {

      -
      🔌
      +

      API интеграция

      Возможность интеграции с корпоративными системами через API @@ -566,7 +593,7 @@ export default function Solovey() {

      На поддомене заказчика

      -
      +

      Ваш домен

      meet.yourcompany.ru или conference.yourcompany.com

      @@ -574,7 +601,7 @@ export default function Solovey() {
      -
      +

      Полный контроль

      Управление пользователями и настройками

      @@ -582,7 +609,7 @@ export default function Solovey() {
      -
      +

      Корпоративный стиль

      Логотип, цвета и дизайн под ваш бренд

      @@ -590,7 +617,7 @@ export default function Solovey() {
      -
      +

      Техподдержка

      Наша команда обеспечивает работу сервиса

      @@ -633,7 +660,7 @@ export default function Solovey() {
      -
      🏢
      +

      Корпоративные встречи

      Планерки, совещания, презентации для сотрудников @@ -641,7 +668,7 @@ export default function Solovey() {

      -
      🎓
      +

      Обучение и тренинги

      Дистанционное обучение персонала и клиентов @@ -649,7 +676,7 @@ export default function Solovey() {

      -
      🤝
      +

      Переговоры с клиентами

      Презентации продуктов и услуг потенциальным клиентам @@ -657,7 +684,7 @@ export default function Solovey() {

      -
      🏥
      +

      Телемедицина

      Консультации врачей и медицинские консилиумы @@ -665,7 +692,7 @@ export default function Solovey() {

      -
      ⚖️
      +

      Юридические консультации

      Удаленные консультации и судебные заседания @@ -673,7 +700,7 @@ export default function Solovey() {

      -
      🏛️
      +

      Государственные услуги

      Прием граждан и межведомственное взаимодействие @@ -681,7 +708,7 @@ export default function Solovey() {

      -
      🔧
      +

      Техническая поддержка

      Удаленная диагностика и решение проблем @@ -689,7 +716,7 @@ export default function Solovey() {

      -
      📺
      +

      Вебинары и события

      Массовые онлайн-мероприятия и конференции diff --git a/src/app/ux-software/layout.tsx b/src/app/ux-software/layout.tsx deleted file mode 100644 index 743e137..0000000 --- a/src/app/ux-software/layout.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import { Metadata } from 'next'; - -export const metadata: Metadata = { - title: "UX-софт - Улучшение пользовательского опыта в интернете | GUNDYREV", - description: "Профессиональное программное решение для улучшения пользовательского опыта в сети интернет. Безопасность, приватность и оптимизация соединения.", - keywords: "UX софт, улучшение пользовательского опыта, интернет оптимизация, безопасность в сети, приватность онлайн", -}; - -export default function UXSoftwareLayout({ - children, -}: { - children: React.ReactNode; -}) { - return <>{children}; -} \ No newline at end of file diff --git a/src/app/ux-software/page.tsx b/src/app/ux-software/page.tsx deleted file mode 100644 index ce57d56..0000000 --- a/src/app/ux-software/page.tsx +++ /dev/null @@ -1,916 +0,0 @@ -'use client'; - -import Navigation from '../components/Navigation'; -import { useState, useEffect } from 'react'; - -export default function UXSoftware() { - const [isModalOpen, setIsModalOpen] = useState(false); - const [formData, setFormData] = useState({ - name: '', - email: '', - message: '' - }); - - // Живые метрики UX - const [uxMetrics, setUxMetrics] = useState({ - loadingSpeed: 0, - userSatisfaction: 0, - pageViews: 0, - bounceRate: 0 - }); - - // Интерактивная карта серверов - const [serverMap, setServerMap] = useState>([]); - - // Живая демонстрация UX улучшений - const [uxDemo, setUxDemo] = useState({ - beforeSpeed: 450, - afterSpeed: 12, - improvement: 0, - isAnimating: false - }); - - // Уведомления об улучшениях - const [uxNotifications, setUxNotifications] = useState>([]); - const [notificationId, setNotificationId] = useState(0); - - // Анимация метрик UX - useEffect(() => { - const targetMetrics = { - loadingSpeed: 1.2, - userSatisfaction: 98.2, - pageViews: 2847960, - bounceRate: 2.1 - }; - - const duration = 2500; - const steps = 60; - const stepDuration = duration / steps; - - let currentStep = 0; - const interval = setInterval(() => { - currentStep++; - const progress = currentStep / steps; - const easeOut = 1 - Math.pow(1 - progress, 3); - - setUxMetrics({ - loadingSpeed: Math.floor(targetMetrics.loadingSpeed * easeOut * 10) / 10, - userSatisfaction: Math.floor(targetMetrics.userSatisfaction * easeOut * 10) / 10, - pageViews: Math.floor(targetMetrics.pageViews * easeOut), - bounceRate: Math.floor(targetMetrics.bounceRate * easeOut * 10) / 10 - }); - - if (currentStep >= steps) { - clearInterval(interval); - } - }, stepDuration); - - return () => clearInterval(interval); - }, []); - - // Инициализация карты серверов - useEffect(() => { - const servers = [ - { location: 'Москва', x: 65, y: 35, ping: 12 }, - { location: 'Санкт-Петербург', x: 63, y: 25, ping: 18 }, - { location: 'Нью-Йорк', x: 25, y: 40, ping: 85 }, - { location: 'Лондон', x: 52, y: 30, ping: 45 }, - { location: 'Токио', x: 85, y: 45, ping: 120 }, - { location: 'Сингапур', x: 80, y: 65, ping: 95 }, - { location: 'Франкфурт', x: 55, y: 32, ping: 38 }, - { location: 'Сидней', x: 88, y: 80, ping: 180 } - ]; - - const initialServers = servers.map((server, index) => ({ - id: index, - x: server.x, - y: server.y, - status: Math.random() > 0.8 ? 'maintenance' as const : Math.random() > 0.3 ? 'active' as const : 'busy' as const, - location: server.location, - ping: server.ping - })); - - setServerMap(initialServers); - - // Обновление статусов серверов - const interval = setInterval(() => { - setServerMap(prev => prev.map(server => ({ - ...server, - status: Math.random() > 0.9 ? 'maintenance' as const : Math.random() > 0.2 ? 'active' as const : 'busy' as const, - ping: server.ping + Math.floor(Math.random() * 20 - 10) - }))); - }, 3000); - - return () => clearInterval(interval); - }, []); - - // Демонстрация UX улучшений - useEffect(() => { - const runDemo = () => { - setUxDemo(prev => ({ ...prev, isAnimating: true, improvement: 0 })); - - setTimeout(() => { - setUxDemo(prev => { - if (!prev) return prev; - const improvement = Math.floor(((prev.beforeSpeed - prev.afterSpeed) / prev.beforeSpeed) * 100); - return { ...prev, improvement, isAnimating: false }; - }); - }, 2000); - }; - - const interval = setInterval(runDemo, 8000); - runDemo(); // Запускаем сразу - - return () => clearInterval(interval); - }, []); - - // Уведомления об улучшениях UX - useEffect(() => { - const uxMessages = [ - { message: 'Подключение к серверу в Германии установлено', type: 'speed' as const }, - { message: 'Пинг снижен до 12ms через оптимизацию маршрута', type: 'performance' as const }, - { message: 'Kill Switch активирован для защиты от утечек', type: 'ux' as const }, - { message: 'DNS-запросы перенаправлены на защищенные серверы', type: 'performance' as const }, - { message: 'Трафик зашифрован протоколом WireGuard', type: 'ux' as const }, - { message: 'Автоматическое переключение на резервный сервер', type: 'speed' as const }, - { message: 'Блокировка рекламы и трекеров активирована', type: 'ux' as const }, - { message: 'Скорость загрузки увеличена на 45% через сжатие', type: 'speed' as const } - ]; - - const addNotification = () => { - const newNotification = { - id: notificationId, - ...uxMessages[Math.floor(Math.random() * uxMessages.length)], - timestamp: new Date() - }; - - setUxNotifications(prev => [newNotification, ...prev.slice(0, 3)]); - setNotificationId(prev => prev + 1); - - setTimeout(() => { - setUxNotifications(prev => prev.filter(notif => notif.id !== newNotification.id)); - }, 6000); - }; - - const interval = setInterval(addNotification, 4000); - return () => clearInterval(interval); - }, [notificationId]); - - // Создание CSS анимаций - useEffect(() => { - const style = document.createElement('style'); - style.textContent = ` - @keyframes ux-pulse { - 0%, 100% { opacity: 1; transform: scale(1); } - 50% { opacity: 0.8; transform: scale(1.1); } - } - @keyframes slide-in-ux { - from { transform: translateX(20px); opacity: 0; } - to { transform: translateX(0); opacity: 1; } - } - @keyframes server-ping { - 0%, 100% { transform: scale(1); opacity: 0.7; } - 50% { transform: scale(1.3); opacity: 1; } - } - @keyframes ux-glow { - 0%, 100% { box-shadow: 0 0 20px rgba(59, 130, 246, 0.3); } - 50% { box-shadow: 0 0 30px rgba(59, 130, 246, 0.6); } - } - @keyframes metric-count { - from { transform: translateY(10px); opacity: 0; } - to { transform: translateY(0); opacity: 1; } - } - .animate-ux-pulse { animation: ux-pulse 2s ease-in-out infinite; } - .animate-slide-in-ux { animation: slide-in-ux 0.5s ease-out; } - .animate-server-ping { animation: server-ping 2s ease-in-out infinite; } - .animate-ux-glow { animation: ux-glow 3s ease-in-out infinite; } - .animate-metric-count { animation: metric-count 0.6s ease-out; } - `; - document.head.appendChild(style); - return () => { - document.head.removeChild(style); - }; - }, []); - - const handleConsultationClick = () => { - setIsModalOpen(true); - document.body.style.overflow = 'hidden'; - }; - - const handleCloseModal = () => { - setIsModalOpen(false); - document.body.style.overflow = 'unset'; - }; - - const handleInputChange = (e: React.ChangeEvent) => { - const { name, value } = e.target; - setFormData(prev => ({ - ...prev, - [name]: value - })); - }; - - const handleSubmit = (e: React.FormEvent) => { - e.preventDefault(); - alert(`Спасибо за заявку, ${formData.name}! Мы свяжемся с вами в ближайшее время.`); - setFormData({ name: '', email: '', message: '' }); - setIsModalOpen(false); - document.body.style.overflow = 'unset'; - }; - - return ( - <> - - - {/* Уведомления об улучшениях UX */} -

      - {uxNotifications.map((notification) => ( -
      -
      -
      - {notification.type === 'speed' ? '⚡' : - notification.type === 'performance' ? '🚀' : '✨'} -
      -
      -

      {notification.message}

      -

      - {notification.timestamp.toLocaleTimeString()} -

      -
      -
      -
      - ))} -
      - - {/* Hero Section */} -
      -
      - - {/* Интерактивная карта серверов */} -
      - {serverMap.map((server) => ( -
      - ))} -
      - -
      -
      -
      -
      - -
      -

      - Профессиональный UX-софт -

      -

      - Программное решение для улучшения пользовательского опыта в сети интернет с серверами в 65+ странах -

      - - {/* Живые метрики UX-софта */} -
      -
      -
      {uxMetrics.loadingSpeed}s
      -
      Время подключения
      -
      -
      -
      {uxMetrics.userSatisfaction}%
      -
      Стабильность соединения
      -
      -
      -
      {uxMetrics.pageViews.toLocaleString()}
      -
      Активных пользователей
      -
      -
      -
      {uxMetrics.bounceRate}%
      -
      Потеря пакетов
      -
      -
      - - {/* Живая демонстрация улучшений */} -
      -

      Сравнение пинга до и после оптимизации

      -
      -
      -
      Без оптимизации (обычный провайдер)
      -
      - {uxDemo.beforeSpeed}ms -
      -
      -
      -
      С UX-софтом (оптимизированный маршрут)
      -
      - {uxDemo.afterSpeed}ms -
      -
      -
      - {uxDemo.improvement > 0 && ( -
      -
      - Улучшение пинга на {uxDemo.improvement}%! -
      -
      - )} -
      - -
      -

      - * Данная страница носит информационный характер. Публичная оферта отсутствует. -

      -
      -
      -
      - - {/* UX-софт Features Section */} -
      -
      -
      -

      - Возможности UX-софта -

      -

      - Профессиональное решение для улучшения пользовательского опыта с передовыми технологиями защиты и оптимизации -

      -
      - -
      -
      -
      🚀
      -

      Высокая скорость

      -

      - WireGuard протокол обеспечивает скорость до 1 Гбит/с с минимальной задержкой -

      -
      -
      Пинг от 5ms | Без ограничений трафика
      -
      -
      - -
      -
      🔒
      -

      Военное шифрование

      -

      - AES-256 шифрование с Perfect Forward Secrecy и защитой от утечек DNS -

      -
      -
      ChaCha20-Poly1305 | Secure Protocol 2.6
      -
      -
      - -
      -
      🌐
      -

      Глобальная сеть

      -

      - 8500+ серверов в 65 странах с автоматическим выбором оптимального маршрута -

      -
      -
      Tier-1 провайдеры | 10 Гбит/с порты
      -
      -
      - -
      -
      -

      Стабильность 99.9%

      -

      - Резервирование серверов, автоматическое переключение и мониторинг 24/7 -

      -
      -
      SLA 99.9% | Резерв серверов
      -
      -
      - -
      -
      🛡️
      -

      Строгая No-Log политика

      -

      - Независимый аудит подтверждает: мы не храним логи активности пользователей -

      -
      -
      Аудит от Cure53 | Юрисдикция Панама
      -
      -
      - -
      -
      📱
      -

      Все платформы

      -

      - Приложения для Windows, macOS, iOS, Android, Linux и роутеров -

      -
      -
      До 10 устройств одновременно
      -
      -
      -
      -
      -
      - - {/* Технические характеристики */} -
      -
      -
      -

      - Технические характеристики -

      -

      - Подробная информация о протоколах, серверах и производительности решения -

      -
      - -
      -
      -
      -

      Протоколы и шифрование

      -
      -
      - Основной протокол: - WireGuard -
      -
      - Резервный протокол: - Secure Protocol UDP/TCP -
      -
      - Шифрование: - AES-256-GCM -
      -
      - Аутентификация: - SHA-384 -
      -
      - Обмен ключами: - X25519 -
      -
      - Perfect Forward Secrecy: - ✓ Включено -
      -
      -
      - -
      -

      Защита от утечек

      -
      -
      - DNS Leak Protection: - ✓ Активна -
      -
      - IPv6 Leak Protection: - ✓ Активна -
      -
      - Kill Switch: - ✓ Встроен -
      -
      - WebRTC Block: - ✓ Активен -
      -
      - Secure DNS: - ✓ Собственные серверы -
      -
      -
      -
      - -
      -
      -

      Производительность

      -
      -
      -
      - Максимальная скорость - 1 Гбит/с -
      -
      -
      -
      -
      - -
      -
      - Минимальная задержка - 5ms -
      -
      -
      -
      -
      - -
      -
      - Время подключения - 1.2s -
      -
      -
      -
      -
      - -
      -
      - Стабильность - 99.9% -
      -
      -
      -
      -
      -
      -
      - -
      -

      Серверная инфраструктура

      -
      -
      -
      8,500+
      -
      Серверов
      -
      -
      -
      65
      -
      Стран
      -
      -
      -
      10 Гбит/с
      -
      Порты
      -
      -
      -
      100%
      -
      RAM-диски
      -
      -
      -
      -
      -
      -
      -
      - - {/* How it works */} -
      -
      -
      -

      - Как работает UX-софт -

      -

      - Простое подключение к защищенной сети в 3 шага -

      -
      - -
      -
      -
      - 1 -
      -

      Скачивание

      -

      - Загрузите приложение для вашей операционной системы -

      -
      -
      📱 Windows, macOS, iOS, Android, Linux
      -
      -
      - -
      -
      - 2 -
      -

      Авторизация

      -

      - Войдите в аккаунт и выберите оптимальный сервер -

      -
      -
      🔑 Автоматический выбор сервера
      -
      -
      - -
      -
      - 3 -
      -

      Подключение

      -

      - Нажмите кнопку подключения и пользуйтесь безопасным интернетом -

      -
      -
      🔒 Защищенное соединение за 1.2 секунды
      -
      -
      -
      - - {/* Интерактивная схема процесса */} -
      -
      -

      Процесс установки защищенного соединения

      -
      -
      -
      - 🌐 -
      -
      Обычное соединение
      -
      -
      -
      -
      Шифрование
      -
      -
      -
      - 🔒 -
      -
      Защищенный туннель
      -
      -
      -
      -
      Маршрутизация
      -
      -
      -
      - 🛡️ -
      -
      Защищенный доступ
      -
      -
      -
      -
      -
      -
      - - {/* Benefits */} -
      -
      -
      -
      -

      - Преимущества использования нашего ПО -

      -
      -
      -
      -
      -

      Повышение производительности

      -

      Оптимизация сетевых соединений для более быстрой работы

      -
      - 🚀 До 73% быстрее -
      -
      -
      - -
      -
      -
      -

      Защита конфиденциальности

      -

      Надежное шифрование и защита персональных данных

      -
      - 🔒 AES-256 шифрование -
      -
      -
      - -
      -
      -
      -

      Простота использования

      -

      Интуитивно понятный интерфейс и автоматические настройки

      -
      - ⚡ Настройка за 1 минуту -
      -
      -
      - -
      -
      -
      -

      Техническая поддержка

      -

      Круглосуточная поддержка пользователей

      -
      - 🕒 24/7 поддержка -
      -
      -
      -
      -
      - -
      -

      Результаты использования

      - - {/* Живая статистика производительности */} -
      -
      -
      - Скорость загрузки - +73% -
      -
      -
      -
      -
      - -
      -
      - Стабильность соединения - +89% -
      -
      -
      -
      -
      - -
      -
      - Уровень защиты - +95% -
      -
      -
      -
      -
      - -
      -
      - Удовлетворенность пользователей - +92% -
      -
      -
      -
      -
      -
      - - {/* Живая статистика пользователей */} -
      -
      -
      2.8M+
      -
      Активных пользователей
      -
      -
      -
      99.98%
      -
      Время работы
      -
      -
      - - {/* Кнопка консультации */} -
      -

      - Получите консультацию по выбору оптимального тарифа UX-софта -

      - -
      -
      -
      -
      -
      - - {/* Disclaimer */} -
      -
      -
      -

      Важная информация

      -

      - Данная страница носит исключительно информационный характер и не является публичной офертой. - Программное решение предназначено для улучшения пользовательского опыта и обеспечения приватности в интернете - в рамках действующего законодательства. Мы соблюдаем строгую политику no-logs - и используем только проверенные протоколы шифрования. -

      -
      -
      -
      - - {/* Footer */} -
      -
      -
      - GUNDYREV -
      -

      - © 2024 GUNDYREV. Все права защищены. -

      -

      - Профессиональное решение для улучшения пользовательского опыта в сети -

      -
      -
      - - {/* Modal */} - {isModalOpen && ( -
      -
      - - -

      Получить консультацию

      - -
      -
      - - -
      - -
      - - -
      - -
      - -