From 89d65ccb43201d85a736a550e4a600197c279ca0 Mon Sep 17 00:00:00 2001 From: Bivekich Date: Mon, 28 Jul 2025 02:57:08 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=B7=D0=B0=D0=B2=D0=B8=D1=81=D0=B8=D0=BC?= =?UTF-8?q?=D0=BE=D1=81=D1=82=D0=B5=D0=B9,=20=D0=B4=D0=BE=D0=B1=D0=B0?= =?UTF-8?q?=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BD=D0=BE=D0=B2=D1=8B?= =?UTF-8?q?=D1=85=20=D0=BA=D0=BE=D0=BC=D0=BF=D0=BE=D0=BD=D0=B5=D0=BD=D1=82?= =?UTF-8?q?=D0=BE=D0=B2=20=D0=B8=20=D1=83=D0=BB=D1=83=D1=87=D1=88=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D1=81=D1=82=D0=B8=D0=BB=D0=B5=D0=B9.=20?= =?UTF-8?q?=D0=92=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D1=8B=20=D0=B1=D0=B8?= =?UTF-8?q?=D0=B1=D0=BB=D0=B8=D0=BE=D1=82=D0=B5=D0=BA=D0=B8=20Radix=20UI?= =?UTF-8?q?=20=D0=B4=D0=BB=D1=8F=20=D1=83=D0=BB=D1=83=D1=87=D1=88=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F=20=D0=B8=D0=BD=D1=82=D0=B5=D1=80=D1=84=D0=B5?= =?UTF-8?q?=D0=B9=D1=81=D0=B0,=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D1=8B=20=D0=BD=D0=BE=D0=B2=D1=8B=D0=B5=20=D0=BF?= =?UTF-8?q?=D0=B5=D1=80=D0=B5=D0=BC=D0=B5=D0=BD=D0=BD=D1=8B=D0=B5=20CSS=20?= =?UTF-8?q?=D0=B4=D0=BB=D1=8F=20=D1=82=D0=B5=D0=BC=D0=BD=D0=BE=D0=B9=20?= =?UTF-8?q?=D1=82=D0=B5=D0=BC=D1=8B=20=D0=B8=20=D1=83=D0=BB=D1=83=D1=87?= =?UTF-8?q?=D1=88=D0=B5=D0=BD=D1=8B=20=D0=B2=D0=B7=D0=B0=D0=B8=D0=BC=D0=BE?= =?UTF-8?q?=D0=B4=D0=B5=D0=B9=D1=81=D1=82=D0=B2=D0=B8=D1=8F=20=D1=81=20?= =?UTF-8?q?=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D1=82=D0=B5?= =?UTF-8?q?=D0=BB=D0=B5=D0=BC=20=D0=BD=D0=B0=20=D0=B3=D0=BB=D0=B0=D0=B2?= =?UTF-8?q?=D0=BD=D0=BE=D0=B9=20=D1=81=D1=82=D1=80=D0=B0=D0=BD=D0=B8=D1=86?= =?UTF-8?q?=D0=B5.=20=D0=A3=D0=B4=D0=B0=D0=BB=D0=B5=D0=BD=D0=B0=20=D0=B4?= =?UTF-8?q?=D0=BE=D0=BA=D1=83=D0=BC=D0=B5=D0=BD=D1=82=D0=B0=D1=86=D0=B8?= =?UTF-8?q?=D1=8F=20SECURE-T=20=D0=B8=20=D0=B0=D1=80=D1=85=D0=B8=D0=B2=20?= =?UTF-8?q?=D0=BF=D1=80=D0=BE=D0=B5=D0=BA=D1=82=D0=B0.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SECURE-T_Documentation.md | 491 ------------ package-lock.json | 967 ++++++++++++++++++++++- package.json | 18 +- secure-t-project.zip | Bin 135085 -> 0 bytes src/app/components/ContactModal.tsx | 47 +- src/app/components/FloatingCTA.tsx | 8 +- src/app/components/Footer.tsx | 15 +- src/app/components/InteractiveBlocks.tsx | 67 +- src/app/components/Navigation.tsx | 72 +- src/app/globals.css | 131 ++- src/app/page.tsx | 467 ++++++++++- src/app/secure-t/page.tsx | 29 +- src/components/ui/avatar.tsx | 53 ++ src/components/ui/badge.tsx | 46 ++ src/components/ui/button.tsx | 59 ++ src/components/ui/card.tsx | 92 +++ src/components/ui/dialog.tsx | 143 ++++ src/components/ui/input.tsx | 21 + src/components/ui/label.tsx | 24 + src/components/ui/navigation-menu.tsx | 168 ++++ src/components/ui/progress.tsx | 31 + src/components/ui/select.tsx | 185 +++++ src/components/ui/separator.tsx | 28 + src/components/ui/sheet.tsx | 139 ++++ src/components/ui/skeleton.tsx | 13 + src/components/ui/textarea.tsx | 18 + src/lib/utils.ts | 6 + 27 files changed, 2690 insertions(+), 648 deletions(-) delete mode 100644 SECURE-T_Documentation.md delete mode 100644 secure-t-project.zip create mode 100644 src/components/ui/avatar.tsx create mode 100644 src/components/ui/badge.tsx create mode 100644 src/components/ui/button.tsx create mode 100644 src/components/ui/card.tsx create mode 100644 src/components/ui/dialog.tsx create mode 100644 src/components/ui/input.tsx create mode 100644 src/components/ui/label.tsx create mode 100644 src/components/ui/navigation-menu.tsx create mode 100644 src/components/ui/progress.tsx create mode 100644 src/components/ui/select.tsx create mode 100644 src/components/ui/separator.tsx create mode 100644 src/components/ui/sheet.tsx create mode 100644 src/components/ui/skeleton.tsx create mode 100644 src/components/ui/textarea.tsx create mode 100644 src/lib/utils.ts diff --git a/SECURE-T_Documentation.md b/SECURE-T_Documentation.md deleted file mode 100644 index bdc67a3..0000000 --- a/SECURE-T_Documentation.md +++ /dev/null @@ -1,491 +0,0 @@ -# SECURE-T - Документация - -## Содержание -1. [Обзор системы](#обзор-системы) -2. [Основные решения](#основные-решения) -3. [Технологии](#технологии) -4. [Архитектура](#архитектура) -5. [Установка и настройка](#установка-и-настройка) -6. [Руководство пользователя](#руководство-пользователя) -7. [API документация](#api-документация) -8. [Безопасность](#безопасность) -9. [Поддержка](#поддержка) - ---- - -## Обзор системы - -**SECURE-T** — это комплексная система информационной безопасности, разработанная для защиты корпоративных данных и IT-инфраструктуры от современных киберугроз. - -### Основные преимущества -- ✅ Комплексная защита данных -- ✅ Современные криптографические алгоритмы -- ✅ Интеграция с существующей инфраструктурой -- ✅ Централизованное управление безопасностью -- ✅ Соответствие российским и международным стандартам - -### Целевая аудитория -- Крупные корпорации -- Государственные учреждения -- Финансовые организации -- Медицинские учреждения -- Образовательные институты - ---- - -## Основные решения - -### 🔐 Криптографическая защита -Обеспечивает надежное шифрование данных с использованием современных алгоритмов. - -**Возможности:** -- Шифрование файлов и баз данных -- Защита каналов связи -- Цифровая подпись документов -- Управление ключами шифрования - -**Поддерживаемые алгоритмы:** -- AES-256 (симметричное шифрование) -- RSA-4096 (асимметричное шифрование) -- SHA-3 (хеширование) - -### 🛡️ Сетевая безопасность -Комплексная защита сетевой инфраструктуры от внешних и внутренних угроз. - -**Компоненты:** -- Межсетевые экраны (Firewall) -- Системы обнаружения вторжений (IDS/IPS) -- Веб-защита (WAF) -- VPN-шлюзы - -**Функции:** -- Фильтрация трафика -- Блокировка вредоносных соединений -- Мониторинг сетевой активности -- Защита от DDoS-атак - -### 📊 Мониторинг безопасности -Система непрерывного мониторинга и анализа событий безопасности. - -**Возможности:** -- Сбор и анализ журналов событий -- Корреляция инцидентов -- Автоматическое реагирование на угрозы -- Генерация отчетов о безопасности - -**Интеграция с SIEM:** -- Централизованный сбор данных -- Анализ в реальном времени -- Настраиваемые правила корреляции -- Панель управления безопасностью - -### 🔍 Аудит безопасности -Проведение комплексного анализа систем информационной безопасности. - -**Виды аудита:** -- Технический аудит инфраструктуры -- Аудит соответствия стандартам -- Анализ уязвимостей -- Оценка рисков информационной безопасности - -### ⚙️ Интеграция систем -Бесшовная интеграция с существующей IT-инфраструктурой. - -**Поддерживаемые системы:** -- Active Directory -- LDAP -- Oracle Database -- Microsoft SQL Server -- VMware vCenter -- Cisco Network Equipment - -### 📚 Обучение персонала -Комплексные программы повышения квалификации в области информационной безопасности. - -**Программы обучения:** -- Основы информационной безопасности -- Работа с системами SECURE-T -- Реагирование на инциденты -- Администрирование систем безопасности - ---- - -## Технологии - -### Криптографические технологии -| Технология | Назначение | Стандарт | -|------------|------------|----------| -| **AES-256** | Симметричное шифрование данных | FIPS 197 | -| **RSA-4096** | Асимметричное шифрование | PKCS #1 | -| **SHA-3** | Криптографическое хеширование | FIPS 202 | -| **PKI** | Инфраструктура открытых ключей | RFC 5280 | - -### Системы безопасности -| Технология | Описание | -|------------|----------| -| **SIEM** | Управление информацией и событиями безопасности | -| **DLP** | Предотвращение утечек данных | -| **WAF** | Веб-защита приложений | -| **IDS/IPS** | Обнаружение и предотвращение вторжений | - ---- - -## Архитектура - -### Архитектурная схема -``` -┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ -│ Пользователи │ │ Приложения │ │ Данные │ -└─────────┬───────┘ └─────────┬───────┘ └─────────┬───────┘ - │ │ │ - ▼ ▼ ▼ -┌─────────────────────────────────────────────────────────────────┐ -│ SECURE-T Platform │ -├─────────────────┬─────────────────┬─────────────────────────────┤ -│ Аутентификация │ Авторизация │ Аудит │ -├─────────────────┼─────────────────┼─────────────────────────────┤ -│ Шифрование │ Мониторинг │ Управление │ -└─────────────────┴─────────────────┴─────────────────────────────┘ -``` - -### Компоненты системы - -#### Центр управления безопасностью (SOC) -- Централизованная консоль управления -- Мониторинг в реальном времени -- Управление инцидентами -- Отчетность и аналитика - -#### Модуль криптографической защиты -- Управление ключами шифрования -- Шифрование/дешифрование данных -- Цифровая подпись -- Проверка целостности - -#### Сетевой модуль безопасности -- Межсетевые экраны -- Системы обнаружения вторжений -- VPN-шлюзы -- Анализ трафика - ---- - -## Установка и настройка - -### Системные требования - -#### Минимальные требования -- **ОС:** Windows Server 2019/2022, Linux (Ubuntu 20.04+, CentOS 8+) -- **Процессор:** Intel Xeon E5-2600 v4 или аналогичный -- **ОЗУ:** 16 GB -- **Дисковое пространство:** 500 GB SSD -- **Сеть:** Gigabit Ethernet - -#### Рекомендуемые требования -- **Процессор:** Intel Xeon Gold 6200 или аналогичный -- **ОЗУ:** 64 GB -- **Дисковое пространство:** 2 TB NVMe SSD -- **Сеть:** 10 Gigabit Ethernet - -### Процедура установки - -#### 1. Подготовка инфраструктуры -```bash -# Обновление системы -sudo apt update && sudo apt upgrade -y - -# Установка зависимостей -sudo apt install -y docker.io docker-compose postgresql-client -``` - -#### 2. Установка SECURE-T -```bash -# Загрузка установочного пакета -wget https://releases.secure-t.com/latest/secure-t-installer.tar.gz - -# Распаковка -tar -xzf secure-t-installer.tar.gz - -# Запуск установки -sudo ./install.sh -``` - -#### 3. Первоначальная настройка -```bash -# Инициализация базы данных -secure-t-admin init-db - -# Создание администратора -secure-t-admin create-admin --username admin --password - -# Запуск сервисов -systemctl start secure-t -systemctl enable secure-t -``` - -### Конфигурация - -#### Основной файл конфигурации -```yaml -# /etc/secure-t/config.yaml -server: - host: "0.0.0.0" - port: 8443 - ssl: - enabled: true - cert_file: "/etc/secure-t/ssl/server.crt" - key_file: "/etc/secure-t/ssl/server.key" - -database: - type: "postgresql" - host: "localhost" - port: 5432 - name: "secure_t" - username: "secure_t_user" - password: "secure_password" - -crypto: - default_algorithm: "AES-256-GCM" - key_derivation: "PBKDF2" - hash_algorithm: "SHA-3-256" - -logging: - level: "INFO" - file: "/var/log/secure-t/secure-t.log" - max_size: "100MB" - max_files: 10 -``` - ---- - -## Руководство пользователя - -### Веб-интерфейс - -#### Вход в систему -1. Откройте браузер и перейдите по адресу: `https://your-server:8443` -2. Введите логин и пароль -3. Пройдите двухфакторную аутентификацию (если настроена) - -#### Главная панель управления -- **Дашборд** - общая информация о состоянии безопасности -- **События** - журнал событий безопасности -- **Политики** - настройка политик безопасности -- **Пользователи** - управление пользователями и ролями -- **Отчеты** - генерация отчетов - -### Основные операции - -#### Создание политики шифрования -1. Перейдите в раздел "Политики" -2. Нажмите "Создать новую политику" -3. Выберите тип данных для шифрования -4. Настройте параметры шифрования -5. Примените политику к нужным ресурсам - -#### Мониторинг событий -1. Откройте раздел "События" -2. Используйте фильтры для поиска нужных событий -3. Просмотрите детали события -4. При необходимости создайте инцидент - -#### Управление пользователями -1. Перейдите в раздел "Пользователи" -2. Добавьте нового пользователя -3. Назначьте роли и права доступа -4. Настройте двухфакторную аутентификацию - ---- - -## API документация - -### Аутентификация - -Все API запросы должны содержать токен аутентификации в заголовке: -``` -Authorization: Bearer -``` - -### Получение токена -```http -POST /api/v1/auth/login -Content-Type: application/json - -{ - "username": "admin", - "password": "password" -} -``` - -**Ответ:** -```json -{ - "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...", - "expires_in": 3600 -} -``` - -### Основные эндпоинты - -#### Управление пользователями -```http -GET /api/v1/users -POST /api/v1/users -PUT /api/v1/users/{id} -DELETE /api/v1/users/{id} -``` - -#### События безопасности -```http -GET /api/v1/events -GET /api/v1/events/{id} -POST /api/v1/events/search -``` - -#### Политики безопасности -```http -GET /api/v1/policies -POST /api/v1/policies -PUT /api/v1/policies/{id} -DELETE /api/v1/policies/{id} -``` - -### Примеры использования - -#### Получение списка событий -```bash -curl -X GET \ - https://your-server:8443/api/v1/events \ - -H 'Authorization: Bearer ' \ - -H 'Content-Type: application/json' -``` - -#### Создание нового пользователя -```bash -curl -X POST \ - https://your-server:8443/api/v1/users \ - -H 'Authorization: Bearer ' \ - -H 'Content-Type: application/json' \ - -d '{ - "username": "newuser", - "email": "user@example.com", - "role": "operator" - }' -``` - ---- - -## Безопасность - -### Рекомендации по безопасности - -#### Настройка SSL/TLS -- Используйте только TLS 1.2 или выше -- Настройте сильные шифры -- Регулярно обновляйте SSL-сертификаты - -#### Управление паролями -- Минимальная длина пароля: 12 символов -- Обязательное использование спецсимволов -- Регулярная смена паролей (каждые 90 дней) -- Запрет на повторное использование последних 12 паролей - -#### Двухфакторная аутентификация -- Обязательна для всех администраторов -- Поддержка TOTP (Google Authenticator, Authy) -- Резервные коды для восстановления доступа - -#### Аудит и мониторинг -- Включите детальное логирование всех операций -- Настройте автоматические уведомления о критических событиях -- Регулярно проводите анализ журналов безопасности - -### Соответствие стандартам - -SECURE-T соответствует следующим стандартам: -- **ГОСТ Р 57580.1-2017** - Безопасность финансовых услуг -- **ISO 27001** - Системы менеджмента информационной безопасности -- **NIST Cybersecurity Framework** - Основы кибербезопасности -- **PCI DSS** - Стандарт безопасности данных платежных карт - ---- - -## Поддержка - -### Техническая поддержка - -#### Контактная информация -- **Email:** support@secure-t.com -- **Телефон:** +7 (495) 123-45-67 -- **Время работы:** 24/7 - -#### Уровни поддержки -- **Критический** - отклик в течение 1 часа -- **Высокий** - отклик в течение 4 часов -- **Средний** - отклик в течение 8 часов -- **Низкий** - отклик в течение 24 часов - -### Обновления и патчи - -#### Автоматические обновления -```bash -# Включение автоматических обновлений -secure-t-admin config set auto-update enabled - -# Настройка расписания обновлений -secure-t-admin config set update-schedule "0 2 * * 0" -``` - -#### Ручные обновления -```bash -# Проверка доступных обновлений -secure-t-admin update check - -# Установка обновлений -secure-t-admin update install - -# Откат к предыдущей версии -secure-t-admin update rollback -``` - -### Документация и ресурсы - -#### Дополнительные материалы -- 📄 **Техническая документация** - подробные руководства по настройке -- 🎯 **Методические материалы** - лучшие практики безопасности -- 🔧 **Инструменты настройки** - утилиты для конфигурирования -- 📊 **Отчеты и аналитика** - шаблоны отчетов -- 🎓 **Обучающие материалы** - курсы и тренинги -- 📋 **Сертификаты и лицензии** - документы о соответствии - -#### Полезные ссылки -- [Официальный сайт](https://secure-t.com) -- [База знаний](https://kb.secure-t.com) -- [Форум сообщества](https://community.secure-t.com) -- [GitHub репозиторий](https://github.com/secure-t/secure-t) - ---- - -## Приложения - -### Приложение A: Коды ошибок -| Код | Описание | Решение | -|-----|----------|---------| -| ST-001 | Ошибка аутентификации | Проверьте логин и пароль | -| ST-002 | Недостаточно прав | Обратитесь к администратору | -| ST-003 | Ошибка шифрования | Проверьте настройки криптографии | -| ST-004 | Сетевая ошибка | Проверьте сетевые подключения | - -### Приложение B: Глоссарий -- **AES** - Advanced Encryption Standard, стандарт шифрования -- **DLP** - Data Loss Prevention, предотвращение утечек данных -- **IDS/IPS** - Intrusion Detection/Prevention System -- **PKI** - Public Key Infrastructure, инфраструктура открытых ключей -- **SIEM** - Security Information and Event Management -- **WAF** - Web Application Firewall, веб-защита приложений - ---- - -*Документация SECURE-T версия 1.0* -*Последнее обновление: 2024* -*© GUNDYREV. Все права защищены.* \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 023c4fc..39880dc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,20 +8,32 @@ "name": "my-app", "version": "0.1.0", "dependencies": { + "@radix-ui/react-avatar": "^1.1.10", + "@radix-ui/react-dialog": "^1.1.14", + "@radix-ui/react-label": "^2.1.7", + "@radix-ui/react-navigation-menu": "^1.2.13", + "@radix-ui/react-progress": "^1.1.7", + "@radix-ui/react-select": "^2.2.5", + "@radix-ui/react-separator": "^1.1.7", + "@radix-ui/react-slot": "^1.2.3", + "class-variance-authority": "^0.7.1", + "clsx": "^2.1.1", "geist": "^1.4.2", + "lucide-react": "^0.525.0", "next": "15.3.4", "react": "^19.0.0", - "react-dom": "^19.0.0" + "react-dom": "^19.0.0", + "tailwind-merge": "^3.3.1" }, "devDependencies": { "@eslint/eslintrc": "^3", - "@tailwindcss/postcss": "^4", + "@tailwindcss/postcss": "^4.1.11", "@types/node": "^20", "@types/react": "^19", "@types/react-dom": "^19", "eslint": "^9", "eslint-config-next": "15.3.4", - "tailwindcss": "^4", + "tw-animate-css": "^1.3.5", "typescript": "^5" } }, @@ -239,6 +251,44 @@ "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, + "node_modules/@floating-ui/core": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.2.tgz", + "integrity": "sha512-wNB5ooIKHQc+Kui96jE/n69rHFWAVoxn5CAzL1Xdd8FG03cgY3MLO+GF9U3W737fYDSgPWA6MReKhBQBop6Pcw==", + "license": "MIT", + "dependencies": { + "@floating-ui/utils": "^0.2.10" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.2.tgz", + "integrity": "sha512-7cfaOQuCS27HD7DX+6ib2OrnW+b4ZBwDNnCcT0uTyidcmyWb03FnQqJybDBoCnpdxwBSfA94UAYlRCt7mV+TbA==", + "license": "MIT", + "dependencies": { + "@floating-ui/core": "^1.7.2", + "@floating-ui/utils": "^0.2.10" + } + }, + "node_modules/@floating-ui/react-dom": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.4.tgz", + "integrity": "sha512-JbbpPhp38UmXDDAu60RJmbeme37Jbgsm7NrHGgzYYFKmblzRUh6Pa641dII6LsjwF4XlScDrde2UAzDo/b9KPw==", + "license": "MIT", + "dependencies": { + "@floating-ui/dom": "^1.7.2" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.10.tgz", + "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==", + "license": "MIT" + }, "node_modules/@humanfs/core": { "version": "0.19.1", "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", @@ -972,6 +1022,713 @@ "node": ">=12.4.0" } }, + "node_modules/@radix-ui/number": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.1.1.tgz", + "integrity": "sha512-MkKCwxlXTgz6CFoJx3pCwn07GKp36+aZyu/u2Ln2VrA5DcdyCZkASEDBTd8x5whTQQL5CiYf4prXKLcgQdv29g==", + "license": "MIT" + }, + "node_modules/@radix-ui/primitive": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.2.tgz", + "integrity": "sha512-XnbHrrprsNqZKQhStrSwgRUQzoCI1glLzdw79xiZPoofhGICeZRSQ3dIxAKH1gb3OHfNf4d6f+vAv3kil2eggA==", + "license": "MIT" + }, + "node_modules/@radix-ui/react-arrow": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.1.7.tgz", + "integrity": "sha512-F+M1tLhO+mlQaOWspE8Wstg+z6PwxwRd8oQ8IXceWz92kfAmalTRf0EjrouQeo7QssEPfCn05B4Ihs1K9WQ/7w==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-primitive": "2.1.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-avatar": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/@radix-ui/react-avatar/-/react-avatar-1.1.10.tgz", + "integrity": "sha512-V8piFfWapM5OmNCXTzVQY+E1rDa53zY+MQ4Y7356v4fFz6vqCyUtIz2rUD44ZEdwg78/jKmMJHj07+C/Z/rcog==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/react-use-is-hydrated": "0.1.0", + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-collection": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.1.7.tgz", + "integrity": "sha512-Fh9rGN0MoI4ZFUNyfFVNU4y9LUz93u9/0K+yLgA2bwRojxM8JU1DyvvMBabnZPBgMWREAJvU2jjVzq+LrFUglw==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-slot": "1.2.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-compose-refs": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.2.tgz", + "integrity": "sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-context": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.2.tgz", + "integrity": "sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dialog": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.1.14.tgz", + "integrity": "sha512-+CpweKjqpzTmwRwcYECQcNYbI8V9VSQt0SNFKeEBLgfucbsLssU6Ppq7wUdNXEGb573bMjFhVjKVll8rmV6zMw==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.2", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-dismissable-layer": "1.1.10", + "@radix-ui/react-focus-guards": "1.1.2", + "@radix-ui/react-focus-scope": "1.1.7", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-portal": "1.1.9", + "@radix-ui/react-presence": "1.1.4", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-slot": "1.2.3", + "@radix-ui/react-use-controllable-state": "1.2.2", + "aria-hidden": "^1.2.4", + "react-remove-scroll": "^2.6.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-direction": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.1.1.tgz", + "integrity": "sha512-1UEWRX6jnOA2y4H5WczZ44gOOjTEmlqv1uNW4GAJEO5+bauCBhv8snY65Iw5/VOS/ghKN9gr2KjnLKxrsvoMVw==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dismissable-layer": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.10.tgz", + "integrity": "sha512-IM1zzRV4W3HtVgftdQiiOmA0AdJlCtMLe00FXaHwgt3rAnNsIyDqshvkIW3hj/iu5hu8ERP7KIYki6NkqDxAwQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.2", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/react-use-escape-keydown": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-focus-guards": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.1.2.tgz", + "integrity": "sha512-fyjAACV62oPV925xFCrH8DR5xWhg9KYtJT4s3u54jxp+L/hbpTY2kIeEFFbFe+a/HCE94zGQMZLIpVTPVZDhaA==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-focus-scope": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.7.tgz", + "integrity": "sha512-t2ODlkXBQyn7jkl6TNaw/MtVEVvIGelJDCG41Okq/KwUsJBwQ4XVZsHAVUkK4mBv3ewiAS3PGuUWuY2BoK4ZUw==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-id": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.1.1.tgz", + "integrity": "sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-label": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-label/-/react-label-2.1.7.tgz", + "integrity": "sha512-YT1GqPSL8kJn20djelMX7/cTRp/Y9w5IZHvfxQTVHrOqa2yMl7i/UfMqKRU5V7mEyKTrUVgJXhNQPVCG8PBLoQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-primitive": "2.1.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-navigation-menu": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/@radix-ui/react-navigation-menu/-/react-navigation-menu-1.2.13.tgz", + "integrity": "sha512-WG8wWfDiJlSF5hELjwfjSGOXcBR/ZMhBFCGYe8vERpC39CQYZeq1PQ2kaYHdye3V95d06H89KGMsVCIE4LWo3g==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.2", + "@radix-ui/react-collection": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-direction": "1.1.1", + "@radix-ui/react-dismissable-layer": "1.1.10", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-presence": "1.1.4", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/react-use-controllable-state": "1.2.2", + "@radix-ui/react-use-layout-effect": "1.1.1", + "@radix-ui/react-use-previous": "1.1.1", + "@radix-ui/react-visually-hidden": "1.2.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-popper": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.2.7.tgz", + "integrity": "sha512-IUFAccz1JyKcf/RjB552PlWwxjeCJB8/4KxT7EhBHOJM+mN7LdW+B3kacJXILm32xawcMMjb2i0cIZpo+f9kiQ==", + "license": "MIT", + "dependencies": { + "@floating-ui/react-dom": "^2.0.0", + "@radix-ui/react-arrow": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/react-use-layout-effect": "1.1.1", + "@radix-ui/react-use-rect": "1.1.1", + "@radix-ui/react-use-size": "1.1.1", + "@radix-ui/rect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-portal": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.9.tgz", + "integrity": "sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-presence": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.4.tgz", + "integrity": "sha512-ueDqRbdc4/bkaQT3GIpLQssRlFgWaL/U2z/S31qRwwLWoxHLgry3SIfCwhxeQNbirEUXFa+lq3RL3oBYXtcmIA==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-primitive": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.3.tgz", + "integrity": "sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-slot": "1.2.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-progress": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-progress/-/react-progress-1.1.7.tgz", + "integrity": "sha512-vPdg/tF6YC/ynuBIJlk1mm7Le0VgW6ub6J2UWnTQ7/D23KXcPI1qy+0vBkgKgd38RCMJavBXpB83HPNFMTb0Fg==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-primitive": "2.1.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-select": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-select/-/react-select-2.2.5.tgz", + "integrity": "sha512-HnMTdXEVuuyzx63ME0ut4+sEMYW6oouHWNGUZc7ddvUWIcfCva/AMoqEW/3wnEllriMWBa0RHspCYnfCWJQYmA==", + "license": "MIT", + "dependencies": { + "@radix-ui/number": "1.1.1", + "@radix-ui/primitive": "1.1.2", + "@radix-ui/react-collection": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-direction": "1.1.1", + "@radix-ui/react-dismissable-layer": "1.1.10", + "@radix-ui/react-focus-guards": "1.1.2", + "@radix-ui/react-focus-scope": "1.1.7", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-popper": "1.2.7", + "@radix-ui/react-portal": "1.1.9", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-slot": "1.2.3", + "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/react-use-controllable-state": "1.2.2", + "@radix-ui/react-use-layout-effect": "1.1.1", + "@radix-ui/react-use-previous": "1.1.1", + "@radix-ui/react-visually-hidden": "1.2.3", + "aria-hidden": "^1.2.4", + "react-remove-scroll": "^2.6.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-separator": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-separator/-/react-separator-1.1.7.tgz", + "integrity": "sha512-0HEb8R9E8A+jZjvmFCy/J4xhbXy3TV+9XSnGJ3KvTtjlIUy/YQ/p6UYZvi7YbeoeXdyU9+Y3scizK6hkY37baA==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-primitive": "2.1.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-slot": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", + "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-callback-ref": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.1.tgz", + "integrity": "sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-controllable-state": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.2.2.tgz", + "integrity": "sha512-BjasUjixPFdS+NKkypcyyN5Pmg83Olst0+c6vGov0diwTEo6mgdqVR6hxcEgFuh4QrAs7Rc+9KuGJ9TVCj0Zzg==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-effect-event": "0.0.2", + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-effect-event": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-effect-event/-/react-use-effect-event-0.0.2.tgz", + "integrity": "sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-escape-keydown": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.1.1.tgz", + "integrity": "sha512-Il0+boE7w/XebUHyBjroE+DbByORGR9KKmITzbR7MyQ4akpORYP/ZmbhAr0DG7RmmBqoOnZdy2QlvajJ2QA59g==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-callback-ref": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-is-hydrated": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-is-hydrated/-/react-use-is-hydrated-0.1.0.tgz", + "integrity": "sha512-U+UORVEq+cTnRIaostJv9AGdV3G6Y+zbVd+12e18jQ5A3c0xL03IhnHuiU4UV69wolOQp5GfR58NW/EgdQhwOA==", + "license": "MIT", + "dependencies": { + "use-sync-external-store": "^1.5.0" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-layout-effect": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.1.1.tgz", + "integrity": "sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-previous": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-previous/-/react-use-previous-1.1.1.tgz", + "integrity": "sha512-2dHfToCj/pzca2Ck724OZ5L0EVrr3eHRNsG/b3xQJLA2hZpVCS99bLAX+hm1IHXDEnzU6by5z/5MIY794/a8NQ==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-rect": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-1.1.1.tgz", + "integrity": "sha512-QTYuDesS0VtuHNNvMh+CjlKJ4LJickCMUAqjlE3+j8w+RlRpwyX3apEQKGFzbZGdo7XNG1tXa+bQqIE7HIXT2w==", + "license": "MIT", + "dependencies": { + "@radix-ui/rect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-size": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.1.1.tgz", + "integrity": "sha512-ewrXRDTAqAXlkl6t/fkXWNAhFX9I+CkKlw6zjEwk86RSPKwZr3xpBRso655aqYafwtnbpHLj6toFzmd6xdVptQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-visually-hidden": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.2.3.tgz", + "integrity": "sha512-pzJq12tEaaIhqjbzpCuv/OypJY/BPavOofm+dbab+MHLajy277+1lLm6JFcGgF5eskJ6mquGirhXY2GD/8u8Ug==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-primitive": "2.1.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/rect": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.1.1.tgz", + "integrity": "sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw==", + "license": "MIT" + }, "node_modules/@rtsao/scc": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", @@ -1323,7 +2080,7 @@ "version": "19.1.8", "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.8.tgz", "integrity": "sha512-AwAfQ2Wa5bCx9WP8nZL2uMZWod7J7/JSplxbTmBQ5ms6QpqNYm672H0Vu9ZVKVngQ+ii4R/byguVEUZQyeg44g==", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "csstype": "^3.0.2" @@ -1333,7 +2090,7 @@ "version": "19.1.6", "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.1.6.tgz", "integrity": "sha512-4hOiT/dwO8Ko0gV1m/TJZYk3y0KBnY9vzDh7W+DH17b2HFSOGgdj33dhihPeuy3l0q23+4e+hoXHV6hCC4dCXw==", - "dev": true, + "devOptional": true, "license": "MIT", "peerDependencies": { "@types/react": "^19.0.0" @@ -1958,6 +2715,18 @@ "dev": true, "license": "Python-2.0" }, + "node_modules/aria-hidden": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.6.tgz", + "integrity": "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/aria-query": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", @@ -2330,12 +3099,33 @@ "node": ">=18" } }, + "node_modules/class-variance-authority": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/class-variance-authority/-/class-variance-authority-0.7.1.tgz", + "integrity": "sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==", + "license": "Apache-2.0", + "dependencies": { + "clsx": "^2.1.1" + }, + "funding": { + "url": "https://polar.sh/cva" + } + }, "node_modules/client-only": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", "license": "MIT" }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/color": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", @@ -2407,7 +3197,7 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/damerau-levenshtein": { @@ -2542,6 +3332,12 @@ "node": ">=8" } }, + "node_modules/detect-node-es": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", + "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==", + "license": "MIT" + }, "node_modules/doctrine": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", @@ -3423,6 +4219,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-nonce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", + "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/get-proto": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", @@ -4523,6 +5328,15 @@ "loose-envify": "cli.js" } }, + "node_modules/lucide-react": { + "version": "0.525.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.525.0.tgz", + "integrity": "sha512-Tm1txJ2OkymCGkvwoHt33Y2JpN5xucVq1slHcgE6Lk0WjDfjgKWor5CdVER8U6DvcfMwh4M8XxmpTiyzfmfDYQ==", + "license": "ISC", + "peerDependencies": { + "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, "node_modules/magic-string": { "version": "0.30.17", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", @@ -5129,6 +5943,75 @@ "dev": true, "license": "MIT" }, + "node_modules/react-remove-scroll": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.7.1.tgz", + "integrity": "sha512-HpMh8+oahmIdOuS5aFKKY6Pyog+FNaZV/XyJOq7b4YFwsFHe5yYfdbIalI4k3vU2nSDql7YskmUseHsRrJqIPA==", + "license": "MIT", + "dependencies": { + "react-remove-scroll-bar": "^2.3.7", + "react-style-singleton": "^2.2.3", + "tslib": "^2.1.0", + "use-callback-ref": "^1.3.3", + "use-sidecar": "^1.1.3" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-remove-scroll-bar": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.8.tgz", + "integrity": "sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==", + "license": "MIT", + "dependencies": { + "react-style-singleton": "^2.2.2", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-style-singleton": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.3.tgz", + "integrity": "sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==", + "license": "MIT", + "dependencies": { + "get-nonce": "^1.0.0", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, "node_modules/reflect.getprototypeof": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", @@ -5746,6 +6629,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/tailwind-merge": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.3.1.tgz", + "integrity": "sha512-gBXpgUm/3rp1lMZZrM/w7D8GKqshif0zAymAhbCyIt8KMe+0v9DQ7cdYLR4FHH/cKpdTXb+A/tKKU3eolfsI+g==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/dcastil" + } + }, "node_modules/tailwindcss": { "version": "4.1.11", "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.11.tgz", @@ -5871,6 +6764,16 @@ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "license": "0BSD" }, + "node_modules/tw-animate-css": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/tw-animate-css/-/tw-animate-css-1.3.5.tgz", + "integrity": "sha512-t3u+0YNoloIhj1mMXs779P6MO9q3p3mvGn4k1n3nJPqJw/glZcuijG2qTSN4z4mgNRfW5ZC3aXJFLwDtiipZXA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/Wombosvideo" + } + }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -6047,6 +6950,58 @@ "punycode": "^2.1.0" } }, + "node_modules/use-callback-ref": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.3.tgz", + "integrity": "sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-sidecar": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.3.tgz", + "integrity": "sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==", + "license": "MIT", + "dependencies": { + "detect-node-es": "^1.1.0", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-sync-external-store": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.5.0.tgz", + "integrity": "sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A==", + "license": "MIT", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", diff --git a/package.json b/package.json index 287e24c..ff8b529 100644 --- a/package.json +++ b/package.json @@ -9,20 +9,32 @@ "lint": "next lint" }, "dependencies": { + "@radix-ui/react-avatar": "^1.1.10", + "@radix-ui/react-dialog": "^1.1.14", + "@radix-ui/react-label": "^2.1.7", + "@radix-ui/react-navigation-menu": "^1.2.13", + "@radix-ui/react-progress": "^1.1.7", + "@radix-ui/react-select": "^2.2.5", + "@radix-ui/react-separator": "^1.1.7", + "@radix-ui/react-slot": "^1.2.3", + "class-variance-authority": "^0.7.1", + "clsx": "^2.1.1", "geist": "^1.4.2", + "lucide-react": "^0.525.0", "next": "15.3.4", "react": "^19.0.0", - "react-dom": "^19.0.0" + "react-dom": "^19.0.0", + "tailwind-merge": "^3.3.1" }, "devDependencies": { "@eslint/eslintrc": "^3", - "@tailwindcss/postcss": "^4", + "@tailwindcss/postcss": "^4.1.11", "@types/node": "^20", "@types/react": "^19", "@types/react-dom": "^19", "eslint": "^9", "eslint-config-next": "15.3.4", - "tailwindcss": "^4", + "tw-animate-css": "^1.3.5", "typescript": "^5" } } diff --git a/secure-t-project.zip b/secure-t-project.zip deleted file mode 100644 index 92dfa7bfd3988319a97361dbd14ae7a42fce918f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 135085 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ǃ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⁣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 N%x1*N!oh56@_%Tw&A|Ww diff --git a/src/app/components/ContactModal.tsx b/src/app/components/ContactModal.tsx index 69fda0c..3283f04 100644 --- a/src/app/components/ContactModal.tsx +++ b/src/app/components/ContactModal.tsx @@ -1,28 +1,42 @@ 'use client'; -import { useState } from 'react'; +import { useState, useEffect } from 'react'; +import { + MessageCircle, + Briefcase, + Settings, + Lightbulb, + Phone, + Mail, + X +} from 'lucide-react'; -interface ContactModalProps { +export interface ContactModalProps { isOpen: boolean; onClose: () => void; defaultType?: string; title?: string; } -export default function ContactModal({ - isOpen, - onClose, - defaultType = 'general', - title = 'Связаться с нами' -}: ContactModalProps) { +export default function ContactModal({ isOpen, onClose, defaultType = 'general', title = 'Связаться с нами' }: ContactModalProps) { const [formData, setFormData] = useState({ name: '', email: '', phone: '', company: '', - message: '', - type: defaultType + type: defaultType, + message: '' }); + const [isSubmitting, setIsSubmitting] = useState(false); + const [submitStatus, setSubmitStatus] = useState<'idle' | 'success' | 'error'>('idle'); + + const contactTypes = [ + { id: 'general', label: 'Общие вопросы', icon: }, + { id: 'sales', label: 'Отдел продаж', icon: }, + { id: 'support', label: 'Техподдержка', icon: }, + { id: 'development', label: 'Разработка', icon: }, + { id: 'consultation', label: 'Консультация', icon: }, + ]; const handleInputChange = (e: React.ChangeEvent) => { const { name, value } = e.target; @@ -39,15 +53,6 @@ export default function ContactModal({ onClose(); }; - const contactTypes = [ - { id: 'general', label: 'Общие вопросы', icon: '💬' }, - { id: 'sales', label: 'Отдел продаж', icon: '💼' }, - { id: 'support', label: 'Техподдержка', icon: '🔧' }, - { id: 'partnership', label: 'Партнёрство', icon: '🤝' }, - { id: 'consultation', label: 'Консультация', icon: '💡' }, - { id: 'demo', label: 'Демонстрация', icon: '🖥️' } - ]; - if (!isOpen) return null; return ( @@ -173,9 +178,9 @@ export default function ContactModal({

diff --git a/src/app/components/FloatingCTA.tsx b/src/app/components/FloatingCTA.tsx index 43aef7f..64aa597 100644 --- a/src/app/components/FloatingCTA.tsx +++ b/src/app/components/FloatingCTA.tsx @@ -1,6 +1,7 @@ 'use client'; import { useState, useEffect } from 'react'; +import { Phone, Lightbulb } from 'lucide-react'; import ContactModal from './ContactModal'; export default function FloatingCTA() { @@ -44,9 +45,7 @@ export default function FloatingCTA() { }} >
- - 📞 - + {ctaTexts[currentText]} @@ -66,7 +65,8 @@ export default function FloatingCTA() { className="block w-full px-4 py-2 bg-blue-500 text-white text-sm rounded-lg hover:bg-blue-600 transition-colors duration-200" title="Заказать консультацию" > - 💡 Консультация + + Консультация {/* Улучшенный переключатель темы */} @@ -126,20 +137,16 @@ export default function Navigation() { aria-label="Переключить тему" title={theme === 'dark' ? 'Переключить на светлую тему' : 'Переключить на тёмную тему'} > - - 🌙 - - + - ☀️ - + />
@@ -151,7 +158,7 @@ export default function Navigation() { onClick={() => setIsContactModalOpen(true)} className="bg-gradient-to-r from-green-500 to-emerald-500 text-white px-3 py-1.5 rounded-md font-medium text-xs hover:from-green-600 hover:to-emerald-600 transition-all duration-200" > - 📞 + {/* Мобильный переключатель темы */} @@ -161,20 +168,16 @@ export default function Navigation() { aria-label="Переключить тему" title={theme === 'dark' ? 'Переключить на светлую тему' : 'Переключить на тёмную тему'} > - - 🌙 - - + - ☀️ - + /> diff --git a/src/app/globals.css b/src/app/globals.css index bcd5059..dfb95c7 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -1,9 +1,10 @@ @import "tailwindcss"; +@import "tw-animate-css"; + +@custom-variant dark (&:is(.dark *)); :root { - --background: #0a0a0a; - --foreground: #ffffff; - --accent: #00ff88; + --accent: oklch(0.97 0 0); --gray: #333333; --light-gray: #666666; --glass-bg: rgba(255, 255, 255, 0.05); @@ -12,6 +13,37 @@ --text-primary: #ffffff; --text-secondary: #d1d5db; --text-muted: #9ca3af; + --radius: 0.625rem; + --background: oklch(1 0 0); + --foreground: oklch(0.145 0 0); + --card: oklch(1 0 0); + --card-foreground: oklch(0.145 0 0); + --popover: oklch(1 0 0); + --popover-foreground: oklch(0.145 0 0); + --primary: oklch(0.205 0 0); + --primary-foreground: oklch(0.985 0 0); + --secondary: oklch(0.97 0 0); + --secondary-foreground: oklch(0.205 0 0); + --muted: oklch(0.97 0 0); + --muted-foreground: oklch(0.556 0 0); + --accent-foreground: oklch(0.205 0 0); + --destructive: oklch(0.577 0.245 27.325); + --border: oklch(0.922 0 0); + --input: oklch(0.922 0 0); + --ring: oklch(0.708 0 0); + --chart-1: oklch(0.646 0.222 41.116); + --chart-2: oklch(0.6 0.118 184.704); + --chart-3: oklch(0.398 0.07 227.392); + --chart-4: oklch(0.828 0.189 84.429); + --chart-5: oklch(0.769 0.188 70.08); + --sidebar: oklch(0.985 0 0); + --sidebar-foreground: oklch(0.145 0 0); + --sidebar-primary: oklch(0.205 0 0); + --sidebar-primary-foreground: oklch(0.985 0 0); + --sidebar-accent: oklch(0.97 0 0); + --sidebar-accent-foreground: oklch(0.205 0 0); + --sidebar-border: oklch(0.922 0 0); + --sidebar-ring: oklch(0.708 0 0); } .light { @@ -42,11 +74,41 @@ --color-light-gray: var(--light-gray); --font-sans: var(--font-geist-sans); --font-mono: var(--font-geist-mono); + --color-sidebar-ring: var(--sidebar-ring); + --color-sidebar-border: var(--sidebar-border); + --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); + --color-sidebar-accent: var(--sidebar-accent); + --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); + --color-sidebar-primary: var(--sidebar-primary); + --color-sidebar-foreground: var(--sidebar-foreground); + --color-sidebar: var(--sidebar); + --color-chart-5: var(--chart-5); + --color-chart-4: var(--chart-4); + --color-chart-3: var(--chart-3); + --color-chart-2: var(--chart-2); + --color-chart-1: var(--chart-1); + --color-ring: var(--ring); + --color-input: var(--input); + --color-border: var(--border); + --color-destructive: var(--destructive); + --color-accent-foreground: var(--accent-foreground); + --color-muted-foreground: var(--muted-foreground); + --color-muted: var(--muted); + --color-secondary-foreground: var(--secondary-foreground); + --color-secondary: var(--secondary); + --color-primary-foreground: var(--primary-foreground); + --color-primary: var(--primary); + --color-popover-foreground: var(--popover-foreground); + --color-popover: var(--popover); + --color-card-foreground: var(--card-foreground); + --color-card: var(--card); + --radius-sm: calc(var(--radius) - 4px); + --radius-md: calc(var(--radius) - 2px); + --radius-lg: var(--radius); + --radius-xl: calc(var(--radius) + 4px); } body { - background: var(--background); - color: var(--foreground); font-family: var(--font-sans), Arial, Helvetica, sans-serif; line-height: 1.6; overflow-x: hidden; @@ -663,29 +725,29 @@ body { .section-padding { padding: 40px 0; } - + .draggable-card { width: 280px !important; } - + .glass-effect { backdrop-filter: blur(5px); } - + .holographic-text { text-shadow: 0 0 5px rgba(0, 255, 136, 0.3), 0 0 10px rgba(0, 255, 136, 0.2); } - + .animate-spin-slow { animation-duration: 30s; } - + .animate-spin-reverse { animation-duration: 25s; } - + .tech-sphere-item { font-size: 0.75rem; padding: 0.25rem 0.5rem; @@ -697,7 +759,7 @@ body { .hover-glow:hover { box-shadow: none; } - + .draggable-card:active { transform: scale(0.95); } @@ -712,7 +774,7 @@ body { .tech-sphere-item { animation: none; } - + .hover-lift:hover { transform: none; } @@ -2198,4 +2260,47 @@ body { box-shadow: 0 6px 24px rgba(102, 126, 234, 0.15), 0 3px 12px rgba(0, 0, 0, 0.08) !important; +} + +.dark { + --background: oklch(0.145 0 0); + --foreground: oklch(0.985 0 0); + --card: oklch(0.205 0 0); + --card-foreground: oklch(0.985 0 0); + --popover: oklch(0.205 0 0); + --popover-foreground: oklch(0.985 0 0); + --primary: oklch(0.922 0 0); + --primary-foreground: oklch(0.205 0 0); + --secondary: oklch(0.269 0 0); + --secondary-foreground: oklch(0.985 0 0); + --muted: oklch(0.269 0 0); + --muted-foreground: oklch(0.708 0 0); + --accent: oklch(0.269 0 0); + --accent-foreground: oklch(0.985 0 0); + --destructive: oklch(0.704 0.191 22.216); + --border: oklch(1 0 0 / 10%); + --input: oklch(1 0 0 / 15%); + --ring: oklch(0.556 0 0); + --chart-1: oklch(0.488 0.243 264.376); + --chart-2: oklch(0.696 0.17 162.48); + --chart-3: oklch(0.769 0.188 70.08); + --chart-4: oklch(0.627 0.265 303.9); + --chart-5: oklch(0.645 0.246 16.439); + --sidebar: oklch(0.205 0 0); + --sidebar-foreground: oklch(0.985 0 0); + --sidebar-primary: oklch(0.488 0.243 264.376); + --sidebar-primary-foreground: oklch(0.985 0 0); + --sidebar-accent: oklch(0.269 0 0); + --sidebar-accent-foreground: oklch(0.985 0 0); + --sidebar-border: oklch(1 0 0 / 10%); + --sidebar-ring: oklch(0.556 0 0); +} + +@layer base { + * { + @apply border-border outline-ring/50; + } + body { + @apply bg-background text-foreground; + } } \ No newline at end of file diff --git a/src/app/page.tsx b/src/app/page.tsx index 60f2a5f..b6ca0b3 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -1,10 +1,33 @@ 'use client'; import { useState, useEffect } from 'react'; +import { + Rocket, + Lightbulb, + BarChart3, + Palette, + Settings, + Database, + Zap, + Building, + GraduationCap, + Hospital, + Landmark, + DollarSign, + Factory, + Cpu, + Star, + ClipboardList, + Trophy, + Shield, + Briefcase, + Mail, + Phone, + MessageCircle +} from 'lucide-react'; import Navigation from './components/Navigation'; import InteractiveBlocks from './components/InteractiveBlocks'; import ContactModal from './components/ContactModal'; -import Footer from './components/Footer'; export default function Home() { const [mounted, setMounted] = useState(false); @@ -228,21 +251,24 @@ model.compile(optimizer='adam', loss='sparse_categorical_crossentropy')`
@@ -292,28 +318,28 @@ model.compile(optimizer='adam', loss='sparse_categorical_crossentropy')` {[ { category: 'Frontend', - icon: '🎨', + icon: , color: 'from-purple-500 to-pink-500', techs: ['React', 'Next.js', 'Vue.js', 'TypeScript', 'Tailwind CSS'], description: 'Современные пользовательские интерфейсы' }, { category: 'Backend', - icon: '⚙️', + icon: , color: 'from-blue-500 to-cyan-500', techs: ['Node.js', 'Python', 'Express', 'FastAPI', 'GraphQL'], description: 'Мощные серверные решения' }, { category: 'Database', - icon: '🗄️', + icon: , color: 'from-green-500 to-emerald-500', techs: ['PostgreSQL', 'MongoDB', 'Redis', 'MySQL', 'Elasticsearch'], description: 'Надежное хранение данных' }, { category: 'DevOps', - icon: '🚀', + icon: , color: 'from-orange-500 to-red-500', techs: ['Docker', 'Kubernetes', 'AWS', 'Jenkins', 'Terraform'], description: 'Автоматизация и развертывание' @@ -326,7 +352,7 @@ model.compile(optimizer='adam', loss='sparse_categorical_crossentropy')` animationDelay: `${categoryIndex * 0.2}s` }} > -
+
{category.icon}
@@ -522,21 +548,30 @@ model.compile(optimizer='adam', loss='sparse_categorical_crossentropy')`
-

🚀 Современные технологии

+

+ + Современные технологии +

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

-

🔧 Чистый код

+

+ + Чистый код +

Следуем принципам SOLID, используем TypeScript и покрываем код тестами

-

⚡ Высокая производительность

+

+ + Высокая производительность +

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

@@ -600,6 +635,396 @@ model.compile(optimizer='adam', loss='sparse_categorical_crossentropy')`
+ {/* Our Clients Section */} +
+
+
+

Наши клиенты

+

+ Нам доверяют ведущие организации и компании России +

+
+ + {/* Client Statistics */} +
+
+
+ +
+
15+
+
Госорганы
+
+ +
+
+ +
+
30+
+
Коммерческие организации
+
+ +
+
+ +
+
8+
+
Образовательные учреждения
+
+ +
+
+ +
+
12+
+
Медицинские организации
+
+
+ + {/* Client Types Showcase */} +
+ {[ + { + category: 'Государственные структуры', + icon: , + description: 'Министерства, ведомства, муниципальные образования', + examples: ['Администрации регионов', 'Министерства', 'Муниципальные учреждения'], + color: 'from-blue-500 to-indigo-600', + projects: '25+ проектов' + }, + { + category: 'Финансовые организации', + icon: , + description: 'Банки, страховые компании, инвестиционные фонды', + examples: ['Региональные банки', 'Страховые компании', 'Микрофинансовые организации'], + color: 'from-green-500 to-emerald-600', + projects: '18+ проектов' + }, + { + category: 'Производственные предприятия', + icon: , + description: 'Промышленные компании и производители', + examples: ['Машиностроительные заводы', 'Пищевые производства', 'Текстильные фабрики'], + color: 'from-orange-500 to-red-600', + projects: '22+ проектов' + }, + { + category: 'IT и Телеком', + icon: , + description: 'Технологические компании и операторы связи', + examples: ['IT-интеграторы', 'Провайдеры связи', 'Разработчики ПО'], + color: 'from-purple-500 to-pink-600', + projects: '15+ проектов' + }, + { + category: 'Образование и наука', + icon: , + description: 'Университеты, школы, научные институты', + examples: ['Высшие учебные заведения', 'Школы и лицеи', 'НИИ и лаборатории'], + color: 'from-cyan-500 to-blue-600', + projects: '12+ проектов' + }, + { + category: 'Медицина и здравоохранение', + icon: , + description: 'Больницы, клиники, медицинские центры', + examples: ['Региональные больницы', 'Частные клиники', 'Диагностические центры'], + color: 'from-teal-500 to-green-600', + projects: '14+ проектов' + } + ].map((clientType, index) => ( +
+
+ {clientType.icon} +
+ +

{clientType.category}

+

{clientType.description}

+ +
+ {clientType.examples.map((example, exampleIndex) => ( +
+ + {example} +
+ ))} +
+ +
+ {clientType.projects} +
+
+ ))} +
+ + {/* Client Testimonials */} +
+

Отзывы клиентов

+ +
+ {[ + { + text: "Команда GUNDYREV профессионально подошла к решению наших задач по автоматизации документооборота. Проект выполнен качественно и в срок.", + author: "Александр Петров", + position: "Начальник IT-отдела", + company: "Администрация г. Вологда", + rating: 5 + }, + { + text: "Отличная работа по поставке серверного оборудования. Все требования 44-ФЗ соблюдены, документооборот организован четко.", + author: "Мария Сидорова", + position: "Заместитель директора", + company: "ГБУЗ ВО \"Областная больница\"", + rating: 5 + }, + { + text: "Разработали для нас комплексную систему управления производством. Результат превзошел ожидания, ROI достигнут за 8 месяцев.", + author: "Дмитрий Козлов", + position: "Технический директор", + company: "ООО \"ВологдаМаш\"", + rating: 5 + } + ].map((testimonial, index) => ( +
+
+ {[...Array(testimonial.rating)].map((_, i) => ( + + ))} +
+ +

“{testimonial.text}”

+ +
+
{testimonial.author}
+
{testimonial.position}
+
{testimonial.company}
+
+
+ ))} +
+
+ + {/* Why Choose Us for Clients */} +
+

Почему нас выбирают

+ +
+ {[ + { + icon: , + title: 'Работа по 44-ФЗ и 223-ФЗ', + description: 'Полное соблюдение требований государственных закупок' + }, + { + icon: , + title: 'Высокое качество', + description: '98% проектов сдаются с первого раза без доработок' + }, + { + icon: , + title: 'Быстрая реализация', + description: 'Средний срок проекта на 30% меньше рыночного' + }, + { + icon: , + title: 'Гарантии и поддержка', + description: 'Расширенная гарантия и техподдержка 24/7' + } + ].map((advantage, index) => ( +
+
{advantage.icon}
+

{advantage.title}

+

{advantage.description}

+
+ ))} +
+
+ + {/* CTA for Potential Clients */} +
+

Хотите стать нашим клиентом?

+

+ Присоединяйтесь к числу довольных клиентов GUNDYREV. Мы готовы обсудить ваш проект и предложить оптимальное решение. +

+ +
+ + +
+
+
+
+ + {/* Government Procurement Section */} +
+
+
+

+ Работаем с госзакупками +

+

+ Профессиональное участие в государственных и корпоративных закупках. + Соответствуем всем требованиям 44-ФЗ и 223-ФЗ. +

+ + {/* Яркие бейджи для снабженцев */} +
+
+ 44-ФЗ + Госзакупки +
+
+ 223-ФЗ + Корпоративные закупки +
+
+ Реестр ОПО + Отечественное ПО +
+
+
+ +
+ {[ + { + title: 'IT-решения', + description: 'Разработка и поставка программного обеспечения', + features: ['SECURE-T', 'Соловей', 'Веб-приложения'], + icon: , + color: 'from-blue-500 to-indigo-600' + }, + { + title: 'Оборудование', + description: 'Поставка компьютерной техники и электроники', + features: ['Серверы', 'Компьютеры', 'Сетевое оборудование'], + icon: , + color: 'from-cyan-500 to-teal-600' + }, + { + title: 'Антивирусы', + description: 'Лицензии Dr.Web для организаций', + features: ['Enterprise Suite', 'Security Space', 'Mobile Security'], + icon: , + color: 'from-green-500 to-emerald-600' + }, + { + title: 'Консультации', + description: 'Техническая поддержка и сопровождение', + features: ['Внедрение', 'Обучение', 'Поддержка 24/7'], + icon: , + color: 'from-purple-500 to-pink-600' + } + ].map((service, index) => ( +
+
+ {service.icon} +
+ +

{service.title}

+

{service.description}

+ +
+ {service.features.map((feature, featureIndex) => ( +
+ + {feature} +
+ ))} +
+
+ ))} +
+ + {/* CTA для снабженцев */} +
+
+

+ Для снабженцев и закупщиков +

+

+ Получите полный пакет документов для участия в тендере, включая сертификаты, + лицензии и техническую документацию. Поможем с подготовкой заявки. +

+ +
+
+
+ +
+

Полный пакет документов

+

Сертификаты, лицензии, ТТХ

+
+ +
+
+ +
+

Консультации

+

Помощь в подготовке заявки

+
+ +
+
+ +
+

Быстрая реакция

+

Ответ в течение 2 часов

+
+
+ +
+ + +
+
+
+
+
+ {/* Interactive Services Section */}
@@ -623,19 +1048,25 @@ model.compile(optimizer='adam', loss='sparse_categorical_crossentropy')`
-
📧
+
+ +

Email

info@gundyrev.ru

-
📱
+
+ +

Телефон

+7 (XXX) XXX-XX-XX

-
💬
+
+ +

Telegram

@gundyrev

diff --git a/src/app/secure-t/page.tsx b/src/app/secure-t/page.tsx index d841d50..350fb72 100644 --- a/src/app/secure-t/page.tsx +++ b/src/app/secure-t/page.tsx @@ -397,10 +397,37 @@ export default function SecureT() {

SECURE-T

-

+

Комплексные решения для информационной безопасности и защиты данных

+ {/* Краткое описание продукта */} +
+

Что такое SECURE-T?

+

+ SECURE-T — это российская система защиты информации, сертифицированная ФСТЭК России. + Обеспечивает комплексную защиту корпоративных данных от внешних и внутренних угроз. +

+
+
+ + Сертификат ФСТЭК РФ +
+
+ + Соответствие 44-ФЗ и 223-ФЗ +
+
+ + Реестр отечественного ПО +
+
+ + Техподдержка 24/7 +
+
+
+ {/* Живая статистика */}
diff --git a/src/components/ui/avatar.tsx b/src/components/ui/avatar.tsx new file mode 100644 index 0000000..71e428b --- /dev/null +++ b/src/components/ui/avatar.tsx @@ -0,0 +1,53 @@ +"use client" + +import * as React from "react" +import * as AvatarPrimitive from "@radix-ui/react-avatar" + +import { cn } from "@/lib/utils" + +function Avatar({ + className, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +function AvatarImage({ + className, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +function AvatarFallback({ + className, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +export { Avatar, AvatarImage, AvatarFallback } diff --git a/src/components/ui/badge.tsx b/src/components/ui/badge.tsx new file mode 100644 index 0000000..0205413 --- /dev/null +++ b/src/components/ui/badge.tsx @@ -0,0 +1,46 @@ +import * as React from "react" +import { Slot } from "@radix-ui/react-slot" +import { cva, type VariantProps } from "class-variance-authority" + +import { cn } from "@/lib/utils" + +const badgeVariants = cva( + "inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden", + { + variants: { + variant: { + default: + "border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90", + secondary: + "border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90", + destructive: + "border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60", + outline: + "text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground", + }, + }, + defaultVariants: { + variant: "default", + }, + } +) + +function Badge({ + className, + variant, + asChild = false, + ...props +}: React.ComponentProps<"span"> & + VariantProps & { asChild?: boolean }) { + const Comp = asChild ? Slot : "span" + + return ( + + ) +} + +export { Badge, badgeVariants } diff --git a/src/components/ui/button.tsx b/src/components/ui/button.tsx new file mode 100644 index 0000000..a2df8dc --- /dev/null +++ b/src/components/ui/button.tsx @@ -0,0 +1,59 @@ +import * as React from "react" +import { Slot } from "@radix-ui/react-slot" +import { cva, type VariantProps } from "class-variance-authority" + +import { cn } from "@/lib/utils" + +const buttonVariants = cva( + "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive", + { + variants: { + variant: { + default: + "bg-primary text-primary-foreground shadow-xs hover:bg-primary/90", + destructive: + "bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60", + outline: + "border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50", + secondary: + "bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80", + ghost: + "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50", + link: "text-primary underline-offset-4 hover:underline", + }, + size: { + default: "h-9 px-4 py-2 has-[>svg]:px-3", + sm: "h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5", + lg: "h-10 rounded-md px-6 has-[>svg]:px-4", + icon: "size-9", + }, + }, + defaultVariants: { + variant: "default", + size: "default", + }, + } +) + +function Button({ + className, + variant, + size, + asChild = false, + ...props +}: React.ComponentProps<"button"> & + VariantProps & { + asChild?: boolean + }) { + const Comp = asChild ? Slot : "button" + + return ( + + ) +} + +export { Button, buttonVariants } diff --git a/src/components/ui/card.tsx b/src/components/ui/card.tsx new file mode 100644 index 0000000..d05bbc6 --- /dev/null +++ b/src/components/ui/card.tsx @@ -0,0 +1,92 @@ +import * as React from "react" + +import { cn } from "@/lib/utils" + +function Card({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ) +} + +function CardHeader({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ) +} + +function CardTitle({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ) +} + +function CardDescription({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ) +} + +function CardAction({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ) +} + +function CardContent({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ) +} + +function CardFooter({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ) +} + +export { + Card, + CardHeader, + CardFooter, + CardTitle, + CardAction, + CardDescription, + CardContent, +} diff --git a/src/components/ui/dialog.tsx b/src/components/ui/dialog.tsx new file mode 100644 index 0000000..d9ccec9 --- /dev/null +++ b/src/components/ui/dialog.tsx @@ -0,0 +1,143 @@ +"use client" + +import * as React from "react" +import * as DialogPrimitive from "@radix-ui/react-dialog" +import { XIcon } from "lucide-react" + +import { cn } from "@/lib/utils" + +function Dialog({ + ...props +}: React.ComponentProps) { + return +} + +function DialogTrigger({ + ...props +}: React.ComponentProps) { + return +} + +function DialogPortal({ + ...props +}: React.ComponentProps) { + return +} + +function DialogClose({ + ...props +}: React.ComponentProps) { + return +} + +function DialogOverlay({ + className, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +function DialogContent({ + className, + children, + showCloseButton = true, + ...props +}: React.ComponentProps & { + showCloseButton?: boolean +}) { + return ( + + + + {children} + {showCloseButton && ( + + + Close + + )} + + + ) +} + +function DialogHeader({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ) +} + +function DialogFooter({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ) +} + +function DialogTitle({ + className, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +function DialogDescription({ + className, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +export { + Dialog, + DialogClose, + DialogContent, + DialogDescription, + DialogFooter, + DialogHeader, + DialogOverlay, + DialogPortal, + DialogTitle, + DialogTrigger, +} diff --git a/src/components/ui/input.tsx b/src/components/ui/input.tsx new file mode 100644 index 0000000..03295ca --- /dev/null +++ b/src/components/ui/input.tsx @@ -0,0 +1,21 @@ +import * as React from "react" + +import { cn } from "@/lib/utils" + +function Input({ className, type, ...props }: React.ComponentProps<"input">) { + return ( + + ) +} + +export { Input } diff --git a/src/components/ui/label.tsx b/src/components/ui/label.tsx new file mode 100644 index 0000000..fb5fbc3 --- /dev/null +++ b/src/components/ui/label.tsx @@ -0,0 +1,24 @@ +"use client" + +import * as React from "react" +import * as LabelPrimitive from "@radix-ui/react-label" + +import { cn } from "@/lib/utils" + +function Label({ + className, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +export { Label } diff --git a/src/components/ui/navigation-menu.tsx b/src/components/ui/navigation-menu.tsx new file mode 100644 index 0000000..1199945 --- /dev/null +++ b/src/components/ui/navigation-menu.tsx @@ -0,0 +1,168 @@ +import * as React from "react" +import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu" +import { cva } from "class-variance-authority" +import { ChevronDownIcon } from "lucide-react" + +import { cn } from "@/lib/utils" + +function NavigationMenu({ + className, + children, + viewport = true, + ...props +}: React.ComponentProps & { + viewport?: boolean +}) { + return ( + + {children} + {viewport && } + + ) +} + +function NavigationMenuList({ + className, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +function NavigationMenuItem({ + className, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +const navigationMenuTriggerStyle = cva( + "group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=open]:hover:bg-accent data-[state=open]:text-accent-foreground data-[state=open]:focus:bg-accent data-[state=open]:bg-accent/50 focus-visible:ring-ring/50 outline-none transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1" +) + +function NavigationMenuTrigger({ + className, + children, + ...props +}: React.ComponentProps) { + return ( + + {children}{" "} + + ) +} + +function NavigationMenuContent({ + className, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +function NavigationMenuViewport({ + className, + ...props +}: React.ComponentProps) { + return ( +
+ +
+ ) +} + +function NavigationMenuLink({ + className, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +function NavigationMenuIndicator({ + className, + ...props +}: React.ComponentProps) { + return ( + +
+ + ) +} + +export { + NavigationMenu, + NavigationMenuList, + NavigationMenuItem, + NavigationMenuContent, + NavigationMenuTrigger, + NavigationMenuLink, + NavigationMenuIndicator, + NavigationMenuViewport, + navigationMenuTriggerStyle, +} diff --git a/src/components/ui/progress.tsx b/src/components/ui/progress.tsx new file mode 100644 index 0000000..e7a416c --- /dev/null +++ b/src/components/ui/progress.tsx @@ -0,0 +1,31 @@ +"use client" + +import * as React from "react" +import * as ProgressPrimitive from "@radix-ui/react-progress" + +import { cn } from "@/lib/utils" + +function Progress({ + className, + value, + ...props +}: React.ComponentProps) { + return ( + + + + ) +} + +export { Progress } diff --git a/src/components/ui/select.tsx b/src/components/ui/select.tsx new file mode 100644 index 0000000..dcbbc0c --- /dev/null +++ b/src/components/ui/select.tsx @@ -0,0 +1,185 @@ +"use client" + +import * as React from "react" +import * as SelectPrimitive from "@radix-ui/react-select" +import { CheckIcon, ChevronDownIcon, ChevronUpIcon } from "lucide-react" + +import { cn } from "@/lib/utils" + +function Select({ + ...props +}: React.ComponentProps) { + return +} + +function SelectGroup({ + ...props +}: React.ComponentProps) { + return +} + +function SelectValue({ + ...props +}: React.ComponentProps) { + return +} + +function SelectTrigger({ + className, + size = "default", + children, + ...props +}: React.ComponentProps & { + size?: "sm" | "default" +}) { + return ( + + {children} + + + + + ) +} + +function SelectContent({ + className, + children, + position = "popper", + ...props +}: React.ComponentProps) { + return ( + + + + + {children} + + + + + ) +} + +function SelectLabel({ + className, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +function SelectItem({ + className, + children, + ...props +}: React.ComponentProps) { + return ( + + + + + + + {children} + + ) +} + +function SelectSeparator({ + className, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +function SelectScrollUpButton({ + className, + ...props +}: React.ComponentProps) { + return ( + + + + ) +} + +function SelectScrollDownButton({ + className, + ...props +}: React.ComponentProps) { + return ( + + + + ) +} + +export { + Select, + SelectContent, + SelectGroup, + SelectItem, + SelectLabel, + SelectScrollDownButton, + SelectScrollUpButton, + SelectSeparator, + SelectTrigger, + SelectValue, +} diff --git a/src/components/ui/separator.tsx b/src/components/ui/separator.tsx new file mode 100644 index 0000000..275381c --- /dev/null +++ b/src/components/ui/separator.tsx @@ -0,0 +1,28 @@ +"use client" + +import * as React from "react" +import * as SeparatorPrimitive from "@radix-ui/react-separator" + +import { cn } from "@/lib/utils" + +function Separator({ + className, + orientation = "horizontal", + decorative = true, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +export { Separator } diff --git a/src/components/ui/sheet.tsx b/src/components/ui/sheet.tsx new file mode 100644 index 0000000..84649ad --- /dev/null +++ b/src/components/ui/sheet.tsx @@ -0,0 +1,139 @@ +"use client" + +import * as React from "react" +import * as SheetPrimitive from "@radix-ui/react-dialog" +import { XIcon } from "lucide-react" + +import { cn } from "@/lib/utils" + +function Sheet({ ...props }: React.ComponentProps) { + return +} + +function SheetTrigger({ + ...props +}: React.ComponentProps) { + return +} + +function SheetClose({ + ...props +}: React.ComponentProps) { + return +} + +function SheetPortal({ + ...props +}: React.ComponentProps) { + return +} + +function SheetOverlay({ + className, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +function SheetContent({ + className, + children, + side = "right", + ...props +}: React.ComponentProps & { + side?: "top" | "right" | "bottom" | "left" +}) { + return ( + + + + {children} + + + Close + + + + ) +} + +function SheetHeader({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ) +} + +function SheetFooter({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ) +} + +function SheetTitle({ + className, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +function SheetDescription({ + className, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +export { + Sheet, + SheetTrigger, + SheetClose, + SheetContent, + SheetHeader, + SheetFooter, + SheetTitle, + SheetDescription, +} diff --git a/src/components/ui/skeleton.tsx b/src/components/ui/skeleton.tsx new file mode 100644 index 0000000..32ea0ef --- /dev/null +++ b/src/components/ui/skeleton.tsx @@ -0,0 +1,13 @@ +import { cn } from "@/lib/utils" + +function Skeleton({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ) +} + +export { Skeleton } diff --git a/src/components/ui/textarea.tsx b/src/components/ui/textarea.tsx new file mode 100644 index 0000000..7f21b5e --- /dev/null +++ b/src/components/ui/textarea.tsx @@ -0,0 +1,18 @@ +import * as React from "react" + +import { cn } from "@/lib/utils" + +function Textarea({ className, ...props }: React.ComponentProps<"textarea">) { + return ( +

Или свяжитесь с нами напрямую:
- 📞
+7 (495) 123-45-67 + +7 (495) 123-45-67
- 📧 info@gundyrev.ru + info@gundyrev.ru