From 068077dd29e57ede86cc8919d0890e7c32eb21e7 Mon Sep 17 00:00:00 2001 From: albivkt Date: Wed, 13 Aug 2025 15:44:34 +0300 Subject: [PATCH] Refactor and enhance various components across the application. Updated global styles for improved animations and added new icons for better visual representation. Removed UX Software page and related references. Improved functionality in the Contacts, Electronics, and Secure-T pages with new icons and layout adjustments. --- src/app/about/page.tsx | 231 ++++-- src/app/components/ContactModal.tsx | 8 +- src/app/components/Footer.tsx | 6 +- src/app/components/InteractiveBlocks.tsx | 16 +- src/app/components/Navigation.tsx | 1 - src/app/contacts/page.tsx | 114 ++- src/app/development/page.tsx | 29 +- src/app/drweb/page.tsx | 58 +- src/app/electronics/page.tsx | 105 ++- src/app/globals.css | 14 + src/app/page.tsx | 70 +- src/app/secure-t/page.tsx | 175 +++-- src/app/solovey/page.tsx | 87 ++- src/app/ux-software/layout.tsx | 15 - src/app/ux-software/page.tsx | 916 ----------------------- 15 files changed, 592 insertions(+), 1253 deletions(-) delete mode 100644 src/app/ux-software/layout.tsx delete mode 100644 src/app/ux-software/page.tsx 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 && ( -
      -
      - - -

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

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