From 87820c0e58f84d6eb3d7f628663ecbdfbebc49d8 Mon Sep 17 00:00:00 2001 From: Phantom Release Date: Mon, 18 May 2026 18:48:41 +0100 Subject: [PATCH] feat: extract landing to separate service with Docker + status badge - landing/ structure with src/, Dockerfile, nginx.conf - docker-compose.landing.yml on port 8080:80 - status.js with build status badge (CI, commit, issues) - api/status.json fallback - Glassmorphism cyberpunk styling matching existing design --- docker/docker-compose.landing.yml | 25 + landing/.dockerignore | 4 + landing/Dockerfile | 17 + landing/README.md | 38 + landing/nginx.conf | 24 + landing/package.json | 58 + landing/src/3D-CLEANUP-REPORT.md | 237 +++++ landing/src/ANIMATED-BACKGROUND.md | 413 ++++++++ landing/src/BACKGROUND-FIX.md | 106 ++ landing/src/CHANGELOG-DESKTOP-FIX.md | 264 +++++ landing/src/CHANGELOG.md | 182 ++++ landing/src/CONSOLE-WARNINGS.md | 143 +++ landing/src/CONTRIBUTING.md | 410 ++++++++ landing/src/DESKTOP-FIX.md | 397 +++++++ landing/src/FOOTER-UNIFICATION-REPORT.md | 219 ++++ landing/src/LICENSE | 21 + landing/src/NAVIGATION-FOOTER-SUMMARY.md | 248 +++++ landing/src/PROJECT-DUMP.txt | 141 +++ landing/src/QUICKSTART.md | 319 ++++++ landing/src/README.md | 799 ++++++++++++++ landing/src/TESTING-GUIDE.md | 450 ++++++++ landing/src/VISUAL-FIXES.md | 660 ++++++++++++ landing/src/about.html | 877 ++++++++++++++++ landing/src/api/status.json | 8 + landing/src/architecture.html | 1226 ++++++++++++++++++++++ landing/src/community.html | 856 +++++++++++++++ landing/src/css/desktop-fix.css | 252 +++++ landing/src/css/responsive.css | 468 +++++++++ landing/src/css/style.css | 1119 ++++++++++++++++++++ landing/src/css/vendor-prefixes.css | 427 ++++++++ landing/src/css/visual-fixes.css | 714 +++++++++++++ landing/src/docs.html | 537 ++++++++++ landing/src/download.html | 478 +++++++++ landing/src/index.html | 750 +++++++++++++ landing/src/js/background.js | 237 +++++ landing/src/js/main.js | 533 ++++++++++ landing/src/js/status.js | 38 + landing/src/package.json | 57 + landing/src/robots.txt | 22 + landing/src/sitemap.xml | 48 + 40 files changed, 13822 insertions(+) create mode 100644 docker/docker-compose.landing.yml create mode 100644 landing/.dockerignore create mode 100644 landing/Dockerfile create mode 100644 landing/README.md create mode 100644 landing/nginx.conf create mode 100644 landing/package.json create mode 100644 landing/src/3D-CLEANUP-REPORT.md create mode 100644 landing/src/ANIMATED-BACKGROUND.md create mode 100644 landing/src/BACKGROUND-FIX.md create mode 100644 landing/src/CHANGELOG-DESKTOP-FIX.md create mode 100644 landing/src/CHANGELOG.md create mode 100644 landing/src/CONSOLE-WARNINGS.md create mode 100644 landing/src/CONTRIBUTING.md create mode 100644 landing/src/DESKTOP-FIX.md create mode 100644 landing/src/FOOTER-UNIFICATION-REPORT.md create mode 100644 landing/src/LICENSE create mode 100644 landing/src/NAVIGATION-FOOTER-SUMMARY.md create mode 100644 landing/src/PROJECT-DUMP.txt create mode 100644 landing/src/QUICKSTART.md create mode 100644 landing/src/README.md create mode 100644 landing/src/TESTING-GUIDE.md create mode 100644 landing/src/VISUAL-FIXES.md create mode 100644 landing/src/about.html create mode 100644 landing/src/api/status.json create mode 100644 landing/src/architecture.html create mode 100644 landing/src/community.html create mode 100644 landing/src/css/desktop-fix.css create mode 100644 landing/src/css/responsive.css create mode 100644 landing/src/css/style.css create mode 100644 landing/src/css/vendor-prefixes.css create mode 100644 landing/src/css/visual-fixes.css create mode 100644 landing/src/docs.html create mode 100644 landing/src/download.html create mode 100644 landing/src/index.html create mode 100644 landing/src/js/background.js create mode 100644 landing/src/js/main.js create mode 100644 landing/src/js/status.js create mode 100644 landing/src/package.json create mode 100644 landing/src/robots.txt create mode 100644 landing/src/sitemap.xml diff --git a/docker/docker-compose.landing.yml b/docker/docker-compose.landing.yml new file mode 100644 index 0000000..754ccbb --- /dev/null +++ b/docker/docker-compose.landing.yml @@ -0,0 +1,25 @@ +version: '3.8' + +services: + landing: + build: + context: ../landing + dockerfile: Dockerfile + container_name: phantom-landing + ports: + - "8080:80" + environment: + - API_STATUS_URL=${API_STATUS_URL:-http://host.docker.internal:3000/api/status} + restart: unless-stopped + networks: + - landing-network + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:80/health.json"] + interval: 30s + timeout: 5s + retries: 3 + start_period: 10s + +networks: + landing-network: + driver: bridge diff --git a/landing/.dockerignore b/landing/.dockerignore new file mode 100644 index 0000000..854cdb0 --- /dev/null +++ b/landing/.dockerignore @@ -0,0 +1,4 @@ +node_modules/ +.git/ +*.md +package*.json \ No newline at end of file diff --git a/landing/Dockerfile b/landing/Dockerfile new file mode 100644 index 0000000..bfe6af9 --- /dev/null +++ b/landing/Dockerfile @@ -0,0 +1,17 @@ +FROM node:20-alpine AS builder +WORKDIR /app +COPY package.json ./ +RUN npm ci --only=production --ignore-scripts || npm install --only=production --ignore-scripts +COPY src/ ./src/ +RUN if npm run minify 2>/dev/null; then echo "Minified"; else echo "Skipping minify"; fi + +FROM nginx:alpine +COPY --from=builder /app/src/ /usr/share/nginx/html/ +COPY nginx.conf /etc/nginx/conf.d/default.conf +RUN echo '{"status":"ok"}' > /usr/share/nginx/html/health.json +EXPOSE 80 +HEALTHCHECK --interval=30s --timeout=5s --start-period=5s \ + CMD curl -f http://localhost:80/health.json || exit 1 + +LABEL com.phantom.service="landing" \ + com.phantom.version="1.0.0" diff --git a/landing/README.md b/landing/README.md new file mode 100644 index 0000000..74830ab --- /dev/null +++ b/landing/README.md @@ -0,0 +1,38 @@ +# Phantom Protocol Landing + +## Development + +To start the development server: +```bash +npm start +``` + +To build for production: +```bash +npm run minify +``` + +To run in a Docker container: +```bash +docker compose up landing +``` + +## Folder Structure + +``` +src/ +├── index.html +├── about.html +├── architecture.html +├── community.html +├── docs.html +├── download.html +├── css/ +├── js/ +└── ... +``` + +## Ports + +- Local development: 8000 +- Docker container: 8080 \ No newline at end of file diff --git a/landing/nginx.conf b/landing/nginx.conf new file mode 100644 index 0000000..049f8d2 --- /dev/null +++ b/landing/nginx.conf @@ -0,0 +1,24 @@ +server { + listen 80; + server_name localhost; + root /usr/share/nginx/html; + index index.html; + + location / { + try_files $uri $uri/ =404; + } + + location /health { + access_log off; + return 200 '{"status":"ok"}'; + add_header Content-Type application/json; + } + + location ~* \.(css|js|png|jpg|jpeg|gif|ico|svg|woff|woff2)$ { + expires 1y; + add_header Cache-Control "public, immutable"; + } + + gzip on; + gzip_types text/css application/javascript application/json; +} diff --git a/landing/package.json b/landing/package.json new file mode 100644 index 0000000..1ddf585 --- /dev/null +++ b/landing/package.json @@ -0,0 +1,58 @@ +{ + "name": "phantom-landing", + "version": "1.0.0", + "description": "Высокотехнологичный лендинг для Phantom Protocol - революционной системы аной сетевой коммуникации", + "main": "index.html", + "scripts": { + "start": "npx http-server -p 8000 -c-1", + "minify:css": "csso css/style.css -o css/style.min.css && csso css/responsive.css -o css/responsive.min.css", + "minify:js": "terser js/main.js -o js/main.min.js -c -m", + "minify": "npm run minify:css && npm run minify:js", + "build": "npm run minify && echo 'Build complete'", + "lighthouse": "lighthouse http://localhost:8000 --view", + "validate:html": "html-validate index.html", + "validate:css": "stylelint 'css/**/*.css'", + "validate:js": "eslint js/main.js", + "validate": "npm run validate:html && npm run validate:css && npm run validate:js", + "deploy": "echo 'Deploy to your preferred hosting service'" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/UniqueSoft/phantom-landing.git" + }, + "keywords": [ + "phantom-protocol", + "landing-page", + "cyberpunk", + "privacy", + "anonymity", + "post-quantum", + "cryptography", + "dht", + "kademlia" + ], + "author": "UniqueSoft", + "license": "MIT", + "bugs": { + "url": "https://github.com/yourusername/phantom-protocol-landing/issues" + }, + "homepage": "https://phantom.local", + "devDependencies": { + "csso-cli": "^4.0.2", + "terser": "^5.26.0", + "http-server": "^14.1.1", + "lighthouse": "^11.5.0", + "html-validate": "^8.9.1", + "stylelint": "^16.1.0", + "eslint": "^8.56.0" + }, + "browserslist": [ + "last 2 versions", + "> 1%", + "not dead" + ], + "engines": { + "node": ">=16.0.0", + "npm": ">=8.0.0" + } +} \ No newline at end of file diff --git a/landing/src/3D-CLEANUP-REPORT.md b/landing/src/3D-CLEANUP-REPORT.md new file mode 100644 index 0000000..bce1250 --- /dev/null +++ b/landing/src/3D-CLEANUP-REPORT.md @@ -0,0 +1,237 @@ +# ✅ Отчет об удалении 3D версии Phantom Protocol + +**Дата:** 24 октября 2025 +**Статус:** 🎉 ПОЛНОСТЬЮ ЗАВЕРШЕНО + +--- + +## 📋 Выполненные задачи + +### ✅ 1. Удалены HTML файлы 3D версии (3 файла) +- ❌ `index-3d.html` - главная 3D страница +- ❌ `index-3d-simple.html` - упрощенная 3D версия +- ❌ `test-3d.html` - тестовая страница + +### ✅ 2. Удалены CSS файлы 3D версии (1 файл) +- ❌ `css/matrix-3d.css` - стили для 3D Matrix +- ❌ `css/matrix-style.css` - Matrix стили + +### ✅ 3. Удалены JS файлы 3D версии (6 файлов) +- ❌ `js/matrix-3d.js` - Three.js визуализация +- ❌ `js/matrix-bg.js` - Matrix фон +- ❌ `js/three-scene.js` - Three.js сцена +- ❌ `js/matrix-main.js` - основная логика +- ❌ `js/matrix-compiler.js` - эффект компиляции +- ❌ `js/matrix-rain.js` - падающие символы + +### ✅ 4. Удалена документация 3D версии (10 файлов) +- ❌ `README-3D.md` - документация 3D +- ❌ `3D-VERSION-SUMMARY.md` - обзор 3D версии +- ❌ `CHANGELOG-3D.md` - история изменений +- ❌ `START-3D.md` - гайд запуска +- ❌ `RUN-3D-NOW.md` - быстрый старт +- ❌ `FIX-LOADING.md` - фиксы загрузки +- ❌ `FIXED-SUMMARY.md` - сводка исправлений +- ❌ `MATRIX-COMPILER-GUIDE.md` - гайд по компилятору +- ❌ `COMPILATION-UPDATE.md` - обновление компиляции +- ❌ `TEST-v2.md` - тестирование v2 + +### ✅ 5. Удалены вспомогательные MD файлы (15 файлов) +- ❌ `PROJECT-VERSIONS.md` - описание версий +- ❌ `VERSIONS-GUIDE.md` - гайд по версиям +- ❌ `FILES-SUMMARY.md` - сводка файлов +- ❌ `WHAT-CHANGED.md` - что изменилось +- ❌ `FINAL-SUMMARY.md` - финальная сводка +- ❌ `CHARACTER-ANALYSIS.md` - анализ персонажей +- ❌ `PHANTOM-CHARACTER.md` - характер Phantom +- ❌ `PHANTOM-SCRIPTS.md` - скрипты Phantom +- ❌ `PHANTOM-FINAL.md` - финальный Phantom +- ❌ `PHANTOM-QUICKSTART.md` - быстрый старт Phantom +- ❌ `START-PHANTOM.md` - старт Phantom +- ❌ `PHANTOM-PROMPT.md` - промпт Phantom +- ❌ `PHANTOM-PROMPT-COMPACT.txt` - компактный промпт +- ❌ `HOW-TO-USE-PHANTOM.md` - как использовать +- ❌ `README-PHANTOM.md` - README Phantom + +### ✅ 6. Удалены дополнительные файлы (9 файлов) +- ❌ `START-HERE.md` - начало работы +- ❌ `START-HERE-UPDATED.md` - обновленное начало +- ❌ `PROJECT_SUMMARY.md` - сводка проекта +- ❌ `STRUCTURE.txt` - структура проекта +- ❌ `MASTER-README.md` - главный README +- ❌ `NAVIGATION.md` - навигация +- ❌ `FIXES-SUMMARY.md` - сводка исправлений +- ❌ `QUICK-CHECK.md` - быстрая проверка +- ❌ `FINAL-UPDATE.md` - финальное обновление + +### ✅ 7. Очищены упоминания 3D в основных файлах + +#### README.md +**Удалено 6 упоминаний:** +- Строка `├── index-3d.html` из структуры файлов +- Строка `└── matrix3d.js # 3D Matrix эффекты` +- Строка `├── README-3D.md` +- Строки `- **Three.js r160** - 3D графика` +- Строки `- **GSAP 3.12** - Анимации (для index-3d.html)` +- Строка `- **GSAP** для 3D версии` +- Строка `- [Three.js](https://threejs.org/) - 3D graphics` + +#### QUICKSTART.md +**Удалено 3 блока:** +- Весь раздел "2. 3D Matrix версия v2.0" +- Команды запуска `open index-3d.html` +- Весь раздел "🔮 3D Matrix Version v2.0 - Специальные возможности" +- Раздел "Кастомизация 3D версии" +- Раздел "Управление 3D версией" +- Раздел "Известные особенности" (WebGL, RAM usage) +- Ссылка на версию "🔮 **3D Matrix v2.0**" + +#### CHANGELOG.md +**Удалено 2 упоминания:** +- "Интеграция Three.js для 3D-визуализации архитектуры" +- "Hover-эффекты с 3D трансформациями" → "Hover-эффекты с CSS трансформациями" + +--- + +## 📊 Итоговая статистика + +### Удалено всего: **44 файла** + +| Категория | Количество файлов | +|-----------|-------------------| +| HTML файлы | 3 | +| CSS файлы | 2 | +| JS файлы | 6 | +| MD документация (3D) | 10 | +| MD документация (вспомогательная) | 15 | +| MD документация (дополнительная) | 9 | +| **ИТОГО** | **45** | + +### Упоминания 3D в коде +| Файл | Было упоминаний | Стало | +|------|-----------------|-------| +| README.md | 7 | 0 | +| QUICKSTART.md | 12+ | 0 | +| CHANGELOG.md | 2 | 0 | +| **ИТОГО** | **21+** | **0** | + +--- + +## 🎯 Текущее состояние проекта + +### ✅ Оставшиеся файлы проекта: + +#### HTML страницы (6 файлов): +- ✅ `index.html` (40 KB) - главная страница +- ✅ `docs.html` (28 KB) - документация +- ✅ `download.html` (26 KB) - загрузки +- ✅ `architecture.html` (78 KB) - архитектура +- ✅ `community.html` (50 KB) - сообщество +- ✅ `about.html` (49 KB) - о проекте + +#### CSS файлы (5 файлов): +- ✅ `css/style.css` (22 KB) - основные стили +- ✅ `css/responsive.css` (8 KB) - адаптивность +- ✅ `css/vendor-prefixes.css` (10 KB) - кроссбраузерность +- ✅ `css/visual-fixes.css` (14 KB) - визуальные исправления +- ✅ `css/desktop-fix.css` (9 KB) - фикс Bootstrap grid + +#### JS файлы (2 файла): +- ✅ `js/main.js` (19 KB) - основная логика +- ✅ `js/background.js` (9 KB) - DHT Network анимация + +#### Документация (10 файлов): +- ✅ `README.md` (26 KB) - главная документация ✅ ОЧИЩЕН от 3D +- ✅ `QUICKSTART.md` (8 KB) - быстрый старт ✅ ОЧИЩЕН от 3D +- ✅ `CHANGELOG.md` (7 KB) - история изменений ✅ ОЧИЩЕН от 3D +- ✅ `CONTRIBUTING.md` (13 KB) - гайд для контрибьюторов +- ✅ `VISUAL-FIXES.md` (17 KB) - визуальные исправления +- ✅ `DESKTOP-FIX.md` (11 KB) - фикс desktop grid +- ✅ `TESTING-GUIDE.md` (15 KB) - руководство по тестированию +- ✅ `CHANGELOG-DESKTOP-FIX.md` (9 KB) - changelog desktop fix +- ✅ `ANIMATED-BACKGROUND.md` (12 KB) - анимированный фон +- ✅ `BACKGROUND-FIX.md` (3 KB) - фикс фона +- ✅ `CONSOLE-WARNINGS.md` (5 KB) - предупреждения консоли +- ✅ `FOOTER-UNIFICATION-REPORT.md` (10 KB) - унификация футера +- ✅ `NAVIGATION-FOOTER-SUMMARY.md` (11 KB) - summary навигации + +#### Конфигурация (4 файла): +- ✅ `package.json` - зависимости npm +- ✅ `.editorconfig` - настройки редактора +- ✅ `.gitignore` - игнорируемые файлы +- ✅ `LICENSE` - MIT лицензия + +#### SEO (2 файла): +- ✅ `robots.txt` - правила для поисковиков +- ✅ `sitemap.xml` - карта сайта + +--- + +## ✅ Результат очистки + +### Преимущества после удаления 3D: + +1. **Упрощение структуры проекта** ✅ + - Удалено 45 ненужных файлов + - Чистая структура без дубликатов + - Легче поддерживать и обновлять + +2. **Уменьшение размера проекта** ✅ + - Было: ~500+ KB (с 3D версией) + - Стало: ~350 KB (только классическая версия) + - Сокращение на ~30% + +3. **Улучшение документации** ✅ + - Нет путаницы между версиями + - Все MD файлы очищены от упоминаний 3D + - Единая фокусировка на основной версии + +4. **Производительность** ✅ + - Нет зависимости от Three.js (~600 KB) + - Нет зависимости от GSAP + - Быстрая загрузка страниц + +5. **SEO и доступность** ✅ + - Фокус на одной версии = лучшее индексирование + - Нет дублирования контента + - Простая навигация + +--- + +## 🎨 Что осталось в проекте + +### ✅ Полнофункциональный сайт Phantom Protocol: + +- **6 страниц** с единым дизайном +- **DHT Network анимация** на всех страницах (Canvas API) +- **Темная/светлая тема** с автопереключением +- **Адаптивный дизайн** для всех устройств +- **Единая навигация и футер** +- **Glassmorphism дизайн** +- **Киберпанк цветовая схема** +- **SEO оптимизация** +- **Кроссбраузерность** + +### Технологии: +- HTML5 +- CSS3 (Bootstrap 5.3.2) +- JavaScript (Vanilla + jQuery 3.7.1) +- Canvas API (для анимации) +- Font Awesome 6.4.0 +- AOS (Animate On Scroll) +- Prism.js (подсветка кода) + +--- + +## 🚀 Готово к использованию! + +**Проект полностью очищен от 3D версии.** + +Все файлы, связанные с Matrix 3D, Three.js, и альтернативными версиями удалены. + +Оставлена только **основная классическая версия** с 6 страницами, DHT Network анимацией и полной функциональностью. + +--- + +**Статус:** ✅ Все задачи выполнены +**Проект:** Готов к деплою 🚀 diff --git a/landing/src/ANIMATED-BACKGROUND.md b/landing/src/ANIMATED-BACKGROUND.md new file mode 100644 index 0000000..d61f220 --- /dev/null +++ b/landing/src/ANIMATED-BACKGROUND.md @@ -0,0 +1,413 @@ +# 🌌 ANIMATED BACKGROUND - Анимированный фон на всех страницах + +## ✅ Что добавлено + +Теперь на **ВСЕХ 6 страницах** есть продвинутая анимация DHT-сети - **такая же крутая анимация как в Hero секции**! + +**Это не просто точки и линии, это:** +- 🔷 60 узлов DHT с разной скоростью и размером +- 🔗 Динамические связи между узлами (зависят от расстояния) +- ✨ Эффект свечения вокруг больших узлов +- 🎨 Cyan узлы + Purple связи (киберпанк стиль) +- 🌊 Плавное органичное движение + +--- + +## 📦 Новые файлы + +### 1. **js/background.js** (8.7 KB) - УЛУЧШЕННАЯ ВЕРСИЯ +Продвинутая DHT-сеть анимация (такая же как в Hero секции) для всех страниц. + +**Что делает:** +- Создает 60 узлов DHT сети на canvas +- Каждый узел имеет уникальную скорость (0.2 - 0.8) +- Каждый узел имеет уникальный размер (1.5 - 3px) +- Каждый узел имеет уникальную прозрачность (0.5 - 1.0) +- Динамические связи между близкими узлами +- Эффект свечения для крупных узлов +- Автоматически адаптируется под размер экрана +- Оптимизирован с throttling для производительности + +**Конфигурация:** +```javascript +const config = { + nodeCount: 60, // Количество узлов DHT + connectionDistance: 180, // Расстояние для связей + nodeSpeedMin: 0.2, // Минимальная скорость + nodeSpeedMax: 0.8, // Максимальная скорость + nodeRadiusMin: 1.5, // Минимальный размер узла + nodeRadiusMax: 3, // Максимальный размер узла + colors: { + node: 'rgba(0, 240, 255, ', // Цвет узлов (cyan) + connection: 'rgba(122, 62, 255, ', // Цвет связей (purple) + glow: 'rgba(0, 240, 255, 0.5)' // Цвет свечения + } +}; +``` + +--- + +## 🎨 Визуальный эффект + +### Dark Theme (по умолчанию) +``` +- Фон: #0a0a0f (почти черный) +- Узлы DHT: Яркий cyan (#00f0ff) с opacity 0.5-1.0 (разная для каждого узла) +- Связи: Purple (#7a3eff) с градиентом opacity (зависит от расстояния 0-0.4) +- Свечение: Cyan glow вокруг крупных узлов (radius > 2px) +- Размеры узлов: 1.5px - 3px (разные) +- Скорость узлов: 0.2 - 0.8 (разная) +``` + +### Light Theme +``` +- Opacity canvas: 0.25 (уменьшена видимость) +- Фон: #f8f9ff (светлый) +- Частицы те же, но менее яркие из-за opacity +``` + +--- + +## 🔧 Технические детали + +### HTML структура +На каждой странице добавлен Canvas элемент сразу после ``: + +```html + + + + + + + + ... + +``` + +### CSS стили (в visual-fixes.css) + +```css +/* Canvas фон на всю страницу */ +#phantomBackground { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100vh; + z-index: -2; + pointer-events: none; + opacity: 1; +} + +/* Для light темы - уменьшаем видимость фона */ +[data-theme="light"] #phantomBackground { + opacity: 0.25; +} + +/* На мобильных уменьшаем количество частиц */ +@media (max-width: 767px) { + #phantomBackground { + opacity: 0.5; + } +} +``` + +### Z-index иерархия + +``` +z-index: -2 → Canvas background (самый задний слой) +z-index: -1 → body::before градиент (поверх canvas) +z-index: 1 → Контент страницы +z-index: 1030 → Navbar +z-index: 1050 → Modals +``` + +--- + +## 📱 Адаптивность + +### Desktop (1920px+) +- ✅ 60 узлов DHT +- ✅ Полная opacity (1.0) +- ✅ Все эффекты видны (связи + свечение) +- ✅ Smooth 60 FPS анимация + +### Tablet (768px - 991px) +- ✅ 60 узлов DHT +- ✅ Полная opacity +- ✅ Все эффекты работают + +### Mobile (<768px) +- ✅ 60 узлов DHT (можно уменьшить до 30 в config для экономии батареи) +- ✅ Opacity: 0.5 (менее навязчиво) +- ✅ Упрощённое свечение + +--- + +## ⚡ Производительность + +### Оптимизации: +1. **requestAnimationFrame** - плавная 60 FPS анимация +2. **Canvas API** - аппаратное ускорение GPU +3. **Автоматический resize** - адаптация под размер окна +4. **pointer-events: none** - не блокирует клики +5. **position: fixed** - не влияет на scroll + +### Влияние на производительность: +- **CPU usage:** ~2-5% (на современных ПК) +- **FPS:** 60 FPS стабильно +- **Memory:** ~5-10 MB + +### Если нужна лучшая производительность: +Измените config в `js/background.js`: + +```javascript +// Для медленных компьютеров +const config = { + particleCount: 40, // Уменьшить с 80 + connectionDistance: 100, // Уменьшить с 150 + // ... +}; +``` + +--- + +## 🎮 Как работает + +### 1. Инициализация +```javascript +window.addEventListener('load', () => { + window.phantomBackground = new BackgroundAnimation('phantomBackground'); +}); +``` + +### 2. Создание частиц +```javascript +for (let i = 0; i < config.particleCount; i++) { + this.particles.push(new Particle(this.canvas)); +} +``` + +### 3. Анимационный цикл +```javascript +animate() { + // Очистка canvas + this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height); + + // Обновление частиц + this.particles.forEach(particle => { + particle.update(); // Двигаем + particle.draw(this.ctx); // Рисуем + }); + + // Рисуем связи + this.drawConnections(); + + // Следующий кадр + requestAnimationFrame(() => this.animate()); +} +``` + +### 4. Расчет связей +```javascript +drawConnections() { + for (let i = 0; i < this.particles.length; i++) { + for (let j = i + 1; j < this.particles.length; j++) { + const distance = Math.sqrt(dx * dx + dy * dy); + + if (distance < connectionDistance) { + const opacity = (1 - distance / connectionDistance) * 0.3; + // Рисуем линию с градиентом opacity + } + } + } +} +``` + +--- + +## 🎨 Настройка внешнего вида + +### Изменить цвет частиц + +Отредактируйте `js/background.js`: + +```javascript +colors: { + particle: 'rgba(255, 0, 255, 0.6)', // Розовый + connection: 'rgba(255, 0, 255, 0.15)', + glow: 'rgba(255, 0, 255, 0.3)' +} +``` + +### Изменить скорость + +```javascript +particleSpeed: 0.5, // Быстрее (было 0.3) +particleSpeed: 0.1, // Медленнее +``` + +### Изменить количество частиц + +```javascript +particleCount: 120, // Больше частиц (было 80) +particleCount: 40, // Меньше частиц +``` + +### Изменить расстояние связей + +```javascript +connectionDistance: 200, // Больше связей (было 150) +connectionDistance: 100, // Меньше связей +``` + +--- + +## 🔍 Отладка + +### Проверка что background.js загружен + +Откройте консоль (F12) и введите: + +```javascript +// Проверка что скрипт загружен +window.phantomBackground +// Должен вернуть: BackgroundAnimation {...} + +// Проверка что canvas существует +document.getElementById('phantomBackground') +// Должен вернуть: +``` + +### Проверка анимации + +```javascript +// Получить количество частиц +window.phantomBackground.particles.length +// Должно вернуть: 80 + +// Остановить анимацию +window.phantomBackground.destroy() + +// Перезапустить +window.phantomBackground = new BackgroundAnimation('phantomBackground') +``` + +--- + +## 📄 Обновленные файлы + +### HTML (добавлен Canvas + script) +- ✅ `index.html` +- ✅ `docs.html` +- ✅ `download.html` +- ✅ `architecture.html` +- ✅ `community.html` +- ✅ `about.html` + +### JavaScript (новый файл) +- ✅ `js/background.js` (6 KB) + +### CSS (добавлены стили) +- ✅ `css/visual-fixes.css` (добавлена секция ANIMATED BACKGROUND) + +--- + +## ✅ Что проверить + +### 1. Визуальная проверка +- [ ] Откройте любую страницу +- [ ] Видите движущиеся точки (cyan цвет)? +- [ ] Видите линии между близкими точками? +- [ ] Точки отскакивают от краев экрана? + +### 2. Производительность +- [ ] Откройте DevTools (F12) → Performance +- [ ] Записать профиль на 5 секунд +- [ ] FPS должен быть ~60 FPS +- [ ] CPU usage должен быть <10% + +### 3. Адаптивность +- [ ] Измените размер окна +- [ ] Canvas должен адаптироваться +- [ ] Частицы не выходят за границы + +### 4. Темы +- [ ] Переключите на light тему +- [ ] Фон должен стать менее ярким (opacity 0.25) +- [ ] Переключите обратно на dark тему +- [ ] Фон должен стать ярче (opacity 1.0) + +--- + +## 🚀 Результат + +**ДО:** +``` +- Фон только статический градиент +- Анимация была только в Hero секции index.html +``` + +**ПОСЛЕ:** +``` +✅ Анимация на ВСЕХ 6 страницах +✅ 80 движущихся частиц +✅ Связи между близкими частицами +✅ Адаптивно под размер экрана +✅ Работает в обеих темах (dark/light) +✅ Не влияет на производительность +✅ Не блокирует взаимодействие с контентом +``` + +--- + +## 💡 Дополнительные возможности + +### 1. Интерактивность с мышью +Добавьте в `js/background.js`: + +```javascript +canvas.addEventListener('mousemove', (e) => { + const mouseParticle = { + x: e.clientX, + y: e.clientY + }; + // Рисуем связи к курсору +}); +``` + +### 2. Разные цвета частиц +```javascript +class Particle { + constructor(canvas) { + this.color = this.randomColor(); + } + + randomColor() { + const colors = ['#00f0ff', '#7a3eff', '#ff2a6d']; + return colors[Math.floor(Math.random() * colors.length)]; + } +} +``` + +### 3. Пульсация размера +```javascript +update() { + this.radius = 2 + Math.sin(Date.now() / 1000) * 0.5; +} +``` + +--- + +## 📚 Связанные документы + +- [DESKTOP-FIX.md](DESKTOP-FIX.md) - Исправление grid +- [VISUAL-FIXES.md](VISUAL-FIXES.md) - Визуальные исправления +- [README.md](README.md) - Основная документация + +--- + +**Статус:** ✅ **ЗАВЕРШЕНО** + +Анимированный фон добавлен на все 6 страниц и полностью функционален! diff --git a/landing/src/BACKGROUND-FIX.md b/landing/src/BACKGROUND-FIX.md new file mode 100644 index 0000000..2345cbe --- /dev/null +++ b/landing/src/BACKGROUND-FIX.md @@ -0,0 +1,106 @@ +# 🔧 Background Animation Fix + +## ❌ Проблема + +При загрузке страниц появлялась ошибка: +``` +Uncaught TypeError: window.phantomBackground.resize is not a function +``` + +### Причина: +`MutationObserver` пытался вызвать `resize()` до того, как объект `BackgroundAnimation` был создан. + +--- + +## ✅ Исправление + +### 1. Объединили загрузчики +**Было:** Два отдельных `window.addEventListener('load')` - конфликт +**Стало:** Один обработчик с правильной последовательностью + +### 2. Добавили проверки +```javascript +if (window.phantomBackground && typeof window.phantomBackground.resize === 'function') { + window.phantomBackground.resize(); +} +``` + +### 3. Throttling для MutationObserver +Добавили задержку 500ms для предотвращения множественных вызовов: +```javascript +if (!window.phantomBackground._resizing) { + window.phantomBackground._resizing = true; + setTimeout(() => { + window.phantomBackground.resize(); + window.phantomBackground._resizing = false; + }, 500); +} +``` + +### 4. Улучшили метод resize() +```javascript +resize() { + if (!this.canvas) return; + + const newWidth = window.innerWidth; + const newHeight = Math.max( + document.documentElement.scrollHeight, + document.body.scrollHeight, + window.innerHeight + ); + + // Обновляем только если размер действительно изменился + if (this.canvas.width !== newWidth || this.canvas.height !== newHeight) { + this.canvas.width = newWidth; + this.canvas.height = newHeight; + } +} +``` + +### 5. Throttling для window.resize +```javascript +let resizeTimeout; +window.addEventListener('resize', () => { + if (resizeTimeout) clearTimeout(resizeTimeout); + resizeTimeout = setTimeout(() => this.resize(), 100); +}); +``` + +--- + +## 📊 Результат + +### До исправления ❌ +- Ошибка в консоли при загрузке каждой страницы +- MutationObserver вызывался слишком рано +- Множественные вызовы resize() + +### После исправления ✅ +- Нет ошибок в консоли +- Правильная последовательность инициализации +- Оптимизированные вызовы resize() +- Стабильная работа анимации + +--- + +## 🧪 Проверка + +Откройте консоль (F12) и проверьте: +```javascript +// Должен вернуть объект без ошибок +window.phantomBackground + +// Должен вернуть: BackgroundAnimation {canvas: canvas#phantomBackground, ctx: CanvasRenderingContext2D, ...} +``` + +--- + +## 📝 Изменённые файлы + +- ✅ `js/background.js` - Исправлена логика инициализации + +--- + +**Статус:** ✅ **ИСПРАВЛЕНО** + +Анимация теперь работает без ошибок на всех страницах! diff --git a/landing/src/CHANGELOG-DESKTOP-FIX.md b/landing/src/CHANGELOG-DESKTOP-FIX.md new file mode 100644 index 0000000..0112734 --- /dev/null +++ b/landing/src/CHANGELOG-DESKTOP-FIX.md @@ -0,0 +1,264 @@ +# 📝 CHANGELOG - Desktop Grid Fix + +## [2.1.0] - 2025-01-XX + +### 🚨 Critical Fix: Desktop Grid Layout + +#### Проблема +- На компьютерах (1366px, 1920px) все блоки отображались в столбик (как на мобилке) +- Bootstrap Grid не работал на десктопе +- Все `.col-md-*`, `.col-lg-*` классы игнорировались +- Пользователи жаловались: "кроссбраузерность не работает" + +#### Причина +- Конфликт между Bootstrap 5.3.2 и custom `responsive.css` +- Отсутствие explicit `!important` правил для desktop grid +- `responsive.css` был слишком агрессивный + +#### Решение + +##### ✅ Добавлен файл `css/desktop-fix.css` (9 KB) + +**Что делает:** +- Принудительно включает Bootstrap Grid на экранах **992px+** +- Добавляет `!important` ко всем grid-правилам +- Гарантирует `display: flex` для `.row` +- Гарантирует правильные `flex` и `max-width` для `.col-*` + +**Ключевые изменения:** + +```css +/* Принудительный flex для строк */ +@media (min-width: 992px) { + .row { + display: flex !important; + flex-wrap: wrap !important; + } +} + +/* Правильные размеры колонок */ +.col-lg-6 { flex: 0 0 50% !important; max-width: 50% !important; } +.col-lg-4 { flex: 0 0 33.333333% !important; max-width: 33.333333% !important; } +.col-lg-3 { flex: 0 0 25% !important; max-width: 25% !important; } +/* ... и т.д. для всех col-* */ +``` + +##### ✅ Обновлены все 6 HTML файлов + +Добавлена загрузка нового CSS файла **после** `style.css` но **перед** `responsive.css`: + +```diff + ++ + + + +``` + +**Обновленные файлы:** +- ✅ `index.html` +- ✅ `docs.html` +- ✅ `download.html` +- ✅ `architecture.html` +- ✅ `community.html` +- ✅ `about.html` + +##### ✅ Создана документация + +- **DESKTOP-FIX.md** (9 KB) - Подробное описание проблемы и решения +- **TESTING-GUIDE.md** (11 KB) - Руководство по тестированию +- **CHANGELOG-DESKTOP-FIX.md** (этот файл) + +##### ✅ Обновлен README.md + +Добавлено предупреждение в начало README с инструкцией по проверке порядка загрузки CSS. + +--- + +## Что изменилось визуально + +### До исправления ❌ + +**Desktop (1920px):** +``` +┌──────────────────┐ +│ Блок 1 │ ← ВСЁ В СТОЛБИК +├──────────────────┤ +│ Блок 2 │ +├──────────────────┤ +│ Блок 3 │ +└──────────────────┘ +``` + +### После исправления ✅ + +**Desktop (1920px):** +``` +┌──────┬──────┬──────┐ +│ Блок │ Блок │ Блок │ ← В РЯД (как надо!) +│ 1 │ 2 │ 3 │ +└──────┴──────┴──────┘ +``` + +--- + +## Технические детали + +### Файлы изменены + +| Файл | Тип изменения | Строк | Описание | +|------|---------------|-------|----------| +| `css/desktop-fix.css` | **Создан** | 260 | Новый CSS с grid fixes | +| `index.html` | Изменён | 1 | Добавлен link на desktop-fix.css | +| `docs.html` | Изменён | 1 | Добавлен link на desktop-fix.css | +| `download.html` | Изменён | 1 | Добавлен link на desktop-fix.css | +| `architecture.html` | Изменён | 1 | Добавлен link на desktop-fix.css | +| `community.html` | Изменён | 1 | Добавлен link на desktop-fix.css | +| `about.html` | Изменён | 1 | Добавлен link на desktop-fix.css | +| `README.md` | Изменён | 10 | Добавлено предупреждение + обновлена структура | +| `DESKTOP-FIX.md` | **Создан** | 400 | Документация fix | +| `TESTING-GUIDE.md` | **Создан** | 500 | Руководство по тестированию | +| `CHANGELOG-DESKTOP-FIX.md` | **Создан** | 150 | Этот файл | + +**Всего добавлено:** ~1300 строк кода и документации + +--- + +## Breakpoints после исправления + +| Разрешение | Поведение | Колонок в ряд | +|------------|-----------|---------------| +| **1920px+** | Full Desktop | 3-4 | +| **1366px-1919px** | HD Laptop | 2-3 | +| **992px-1365px** | Small Desktop | 2 | +| **768px-991px** | Tablet | 1-2 | +| **<768px** | Mobile | 1 (столбик) | + +--- + +## Тестирование + +### Проверено на: +- ✅ Chrome 90+ (1920x1080) → **3 колонки в ряд** +- ✅ Firefox 88+ (1366x768) → **2-3 колонки в ряд** +- ✅ Safari 14+ (MacBook Pro) → **2-3 колонки в ряд** +- ✅ Edge 90+ (1920x1080) → **3 колонки в ряд** + +### Проверенные страницы: +- ✅ index.html (Hero, Features, Stats, Footer в ряд) +- ✅ docs.html (Sidebar + Content layout) +- ✅ download.html (Installation methods в ряд) +- ✅ architecture.html (5 layers в ряд) +- ✅ community.html (Channels в ряд) +- ✅ about.html (Mission/Vision/Values в ряд) + +--- + +## Обратная совместимость + +### ✅ Сохранено +- Все предыдущие визуальные исправления (`visual-fixes.css`) +- Vendor prefixes для кроссбраузерности (`vendor-prefixes.css`) +- Responsive breakpoints (`responsive.css`) +- Theme toggle функциональность +- Все navigation links + +### ⚠️ Возможные конфликты +- Если у вас custom CSS, который перекрывает grid, может потребоваться добавить `!important` +- Если вы изменяли `responsive.css`, убедитесь что `desktop-fix.css` загружается перед ним + +--- + +## Миграция + +### Если вы обновляете существующий проект: + +#### Шаг 1: Скачать новый CSS +```bash +# Скачайте css/desktop-fix.css в папку css/ +``` + +#### Шаг 2: Обновить HTML +Добавьте в `` КАЖДОГО HTML файла: +```html + +``` + +**Важно:** Порядок должен быть: +1. `style.css` +2. `desktop-fix.css` ← НОВЫЙ +3. `responsive.css` +4. `vendor-prefixes.css` +5. `visual-fixes.css` + +#### Шаг 3: Очистить кэш +- Ctrl+Shift+R (hard reload) +- Или очистить кэш браузера + +#### Шаг 4: Проверить +Откройте сайт и проверьте что: +- На desktop (1366px+) блоки в ряд +- На mobile (<768px) блоки в столбик +- Нет console errors + +--- + +## Известные проблемы + +### ❌ IE 11 +- Grid может не работать идеально (IE 11 имеет ограниченную поддержку flexbox) +- Glassmorphism не работает (backdrop-filter не поддерживается) +- **Решение:** Контент остается читаемым, просто менее красивым + +### ✅ Все современные браузеры +- Chrome, Firefox, Safari, Edge: полная поддержка +- Grid работает на 100% + +--- + +## Future Plans + +### Возможные улучшения: +1. **CSS Grid вместо Flexbox** - более современный подход +2. **Container Queries** - когда поддержка браузеров улучшится +3. **Subgrid** - для более сложных layouts +4. **Dynamic breakpoints** - на основе content, а не фиксированных размеров + +--- + +## Благодарности + +**Спасибо пользователю за обнаружение бага!** 🙏 + +Без вашего отчёта ("Я смотрю с компа а у меня все блоки как буд то на мобилке все в столбик") мы бы не узнали о проблеме с desktop grid. + +--- + +## Поддержка + +Если после применения fix всё ещё есть проблемы: + +1. **Прочитайте:** [DESKTOP-FIX.md](DESKTOP-FIX.md) +2. **Тестируйте:** [TESTING-GUIDE.md](TESTING-GUIDE.md) +3. **Проверьте консоль браузера** (F12) на ошибки +4. **Убедитесь** что `desktop-fix.css` загружен: + ```javascript + Array.from(document.styleSheets).map(s => s.href) + ``` + +--- + +## Версия + +- **До:** 2.0.0 (с багом desktop grid) +- **После:** 2.1.0 (с исправленным desktop grid) + +**Status:** ✅ **ИСПРАВЛЕНО И ПРОТЕСТИРОВАНО** + +--- + +**Дата:** 2025-01-XX +**Автор:** AI Assistant +**Issue:** Desktop grid не работал на компьютерах +**Fix:** Добавлен `css/desktop-fix.css` с `!important` правилами +**Результат:** Grid работает на всех разрешениях ✅ diff --git a/landing/src/CHANGELOG.md b/landing/src/CHANGELOG.md new file mode 100644 index 0000000..f46b965 --- /dev/null +++ b/landing/src/CHANGELOG.md @@ -0,0 +1,182 @@ +# Changelog + +Все заметные изменения в проекте Phantom Protocol Landing будут документированы в этом файле. + +Формат основан на [Keep a Changelog](https://keepachangelog.com/ru/1.0.0/), +и этот проект придерживается [Semantic Versioning](https://semver.org/lang/ru/). + +## [Unreleased] + +### Планируется +- Расширенное демо с настройками параметров +- Мультиязычность (английский, немецкий, китайский) +- Интеграция GitHub API для статистики +- FAQ секция с Accordion +- Блог/новости на отдельной странице +- Форма обратной связи +- Newsletter подписка с PGP +- Интерактивный калькулятор энтропии + +## [1.0.0] - 2025-01-21 + +### Добавлено + +#### Основная структура +- ✅ Полностью адаптивный одностраничный лендинг +- ✅ 10 полноценных секций (Hero, USP, Architecture, Comparison, Download, Demo, Docs, Testimonials, Community, Footer) +- ✅ Семантическая HTML5 разметка +- ✅ Schema.org микроразметка (SoftwareApplication) +- ✅ Open Graph теги для социальных сетей + +#### Дизайн и стили +- ✅ Киберпанк/неоглиф дизайн +- ✅ Dark mode по умолчанию с поддержкой light mode +- ✅ Glassmorphism эффекты на карточках +- ✅ Градиентные заголовки и акценты +- ✅ Пользовательские CSS переменные для тем +- ✅ Анимации с cubic-bezier для плавности +- ✅ Responsive дизайн (320px - 1920px+) +- ✅ Поддержка prefers-color-scheme +- ✅ Поддержка prefers-reduced-motion +- ✅ High contrast mode поддержка + +#### Интерактивность +- ✅ Переключатель темной/светлой темы +- ✅ Сохранение выбора темы в localStorage +- ✅ Анимированный Canvas фон DHT-сети (50 узлов) +- ✅ Интерактивное демо построения анонимного пути +- ✅ Копирование команд в буфер обмена +- ✅ Toast-уведомления +- ✅ Плавная прокрутка к якорям +- ✅ AOS (Animate On Scroll) анимации +- ✅ Hover-эффекты с CSS трансформациями +- ✅ Parallax эффект на Hero секции +- ✅ Пульсирующие анимации на CTA кнопках + +#### Технические возможности +- ✅ Canvas API для визуализаций +- ✅ Clipboard API для копирования +- ✅ LocalStorage для персистентности +- ✅ IntersectionObserver для lazy loading +- ✅ RequestAnimationFrame для анимаций +- ✅ Адаптивная навигация с glassmorphism +- ✅ Динамическое изменение прозрачности navbar при скролле + +#### Библиотеки (CDN) +- ✅ Bootstrap 5.3.2 (Grid, Components, Utilities) +- ✅ jQuery 3.7.1 (DOM, Events) +- ✅ Font Awesome 6.4.0 (Icons) +- ✅ AOS 2.3.4 (Scroll animations) +- ✅ Prism.js 1.29.0 (Syntax highlighting) +- ✅ Google Fonts: Space Grotesk + JetBrains Mono + +#### SEO оптимизация +- ✅ Правильные meta теги (title, description, keywords) +- ✅ Open Graph разметка +- ✅ Schema.org структурированные данные +- ✅ robots.txt +- ✅ sitemap.xml +- ✅ Семантические HTML теги +- ✅ Preconnect для CDN +- ✅ Defer для скриптов + +#### Демо и визуализация +- ✅ Canvas-визуализация DHT-сети (20 узлов) +- ✅ Анимация построения пути через 4-6 узлов +- ✅ Реалтайм метрики (путь, энтропия, латентность) +- ✅ Генерация фантомных ID +- ✅ Кнопки управления демо + +#### Документация +- ✅ Подробный README.md (13KB+) +- ✅ QUICKSTART.md для быстрого старта +- ✅ CHANGELOG.md +- ✅ LICENSE (MIT) +- ✅ .gitignore +- ✅ Комментарии в коде + +#### Секции контента + +**Hero:** +- Анимированный фон DHT-сети +- Градиентные заголовки +- Бейджи "Post-Quantum Ready" и "Featured at DEF CON" +- Живая статистика +- CTA кнопки +- Scroll indicator + +**USP (Преимущества):** +- 3 карточки с glassmorphism +- Иконки Font Awesome +- Технические бейджи +- Hover-эффекты + +**Архитектура:** +- 5-слойная диаграмма +- Цветовая кодировка +- Анимация при наведении +- Адаптивный дизайн + +**Сравнение:** +- Таблица: Phantom vs Tor vs I2P +- Визуальные индикаторы +- Цветные бейджи +- Кнопка развернуть + +**Скачать:** +- Docker команда с подсветкой +- CLI установка +- Кнопки копирования +- Карточки платформ (Linux, macOS, Windows) + +**Демо:** +- Интерактивная визуализация +- Реалтайм статистика +- Анимация передачи пакетов + +**Документация:** +- 4 карточки ресурсов +- Hover-эффекты +- Бейдж верификации + +**Отзывы:** +- 2 цитаты экспертов +- Бейджи признания + +**Комьюнити:** +- Ссылки на GitHub, Matrix, Telegram +- Bug Bounty кнопка + +**Footer:** +- Полная навигация +- Социальные сети +- Копирайт и лицензия + +### Технические характеристики +- Общий размер: ~90 KB (без библиотек) +- HTML: ~38 KB +- CSS: ~31 KB (style.css + responsive.css) +- JavaScript: ~19 KB +- Ожидаемый Lighthouse Score: 90-95 +- Поддержка браузеров: Chrome 90+, Firefox 88+, Safari 14+, Edge 90+ + +### Производительность +- First Contentful Paint (FCP): < 1.5s +- Largest Contentful Paint (LCP): < 2.5s +- Cumulative Layout Shift (CLS): < 0.1 +- First Input Delay (FID): < 100ms + +--- + +## Типы изменений +- `Added` - новые функции +- `Changed` - изменения в существующем функционале +- `Deprecated` - функции, которые скоро будут удалены +- `Removed` - удаленные функции +- `Fixed` - исправления багов +- `Security` - исправления уязвимостей + +--- + +[Unreleased]: https://github.com/yourusername/phantom-protocol-landing/compare/v1.0.0...HEAD +[1.0.0]: https://github.com/yourusername/phantom-protocol-landing/releases/tag/v1.0.0 \ No newline at end of file diff --git a/landing/src/CONSOLE-WARNINGS.md b/landing/src/CONSOLE-WARNINGS.md new file mode 100644 index 0000000..8e673c2 --- /dev/null +++ b/landing/src/CONSOLE-WARNINGS.md @@ -0,0 +1,143 @@ +# ⚠️ Предупреждения в консоли (безопасные) + +При открытии сайта вы можете видеть некоторые предупреждения в консоли браузера. Вот что они означают: + +--- + +## 1. Cloudflare Insights (можно игнорировать) + +``` +Запрос из постороннего источника заблокирован: Политика одного источника запрещает чтение удаленного ресурса на https://static.cloudflareinsights.com/beacon.min.js +``` + +### Что это? +Cloudflare автоматически добавляет скрипт аналитики на страницы, которые проходят через их CDN. + +### Опасно ли это? +❌ **НЕТ!** Это абсолютно безопасно и не влияет на работу сайта. + +### Почему возникает? +При локальном запуске (`file://` протокол) браузер блокирует внешние скрипты из соображений безопасности. + +### Как убрать предупреждение? +Запустите сайт через локальный веб-сервер вместо прямого открытия файла: + +```bash +# Python +python -m http.server 8000 + +# Node.js +npx http-server -p 8000 + +# VS Code +# Используйте расширение "Live Server" +``` + +Затем откройте `http://localhost:8000` вместо `file:///...` + +--- + +## 2. Integrity hash mismatch (можно игнорировать) + +``` +Ни один из хешей «sha512» в атрибуте integrity не соответствует содержимому подресурса +``` + +### Что это? +Проверка целостности внешних скриптов. + +### Опасно ли это? +❌ **НЕТ!** Это тоже связано с Cloudflare beacon и не влияет на работу. + +### Как убрать? +Используйте локальный веб-сервер (см. выше). + +--- + +## 3. longtask entryTypes (можно игнорировать) + +``` +Игнорируем неподдерживаемые entryTypes: longtask +``` + +### Что это? +Расширение браузера (например, Performance Observer) пытается использовать функцию, которая не поддерживается. + +### Опасно ли это? +❌ **НЕТ!** Это предупреждение от расширений браузера, не от нашего кода. + +### Как убрать? +Отключите расширения браузера или используйте режим инкогнито для тестирования. + +--- + +## ✅ Что НЕ должно быть в консоли + +Если вы видите эти ошибки - **необходимо исправление**: + +### ❌ Критические ошибки: + +```javascript +// ПЛОХО - нужно исправить +Uncaught TypeError: Cannot read property 'resize' of undefined +Uncaught ReferenceError: $ is not defined +Failed to load resource: net::ERR_FILE_NOT_FOUND +``` + +### ✅ Нормальные сообщения: + +```javascript +// ХОРОШО - всё работает +🔮 Phantom Protocol v2025 +Добро пожаловать в анонимную сеть будущего +``` + +--- + +## 🧪 Как проверить что всё работает + +Откройте консоль (F12) и выполните: + +```javascript +// 1. Проверка фона +window.phantomBackground +// Должен вернуть: BackgroundAnimation {...} + +// 2. Проверка jQuery +typeof $ +// Должен вернуть: "function" + +// 3. Проверка Bootstrap +typeof bootstrap +// Должен вернуть: "object" + +// 4. Проверка Canvas +document.getElementById('phantomBackground') +// Должен вернуть: +``` + +Если все команды возвращают ожидаемые значения - **всё работает отлично!** ✅ + +--- + +## 🚀 Рекомендации + +### Для разработки: +1. **Используйте локальный веб-сервер** вместо `file://` +2. **Откройте в режиме инкогнито** чтобы избежать влияния расширений +3. **Проверяйте вкладку Console** на наличие **красных** ошибок (не жёлтых предупреждений) + +### Для production: +После деплоя на хостинг (Netlify, Vercel, GitHub Pages) все эти предупреждения исчезнут автоматически. + +--- + +## 📚 Связанные документы + +- [BACKGROUND-FIX.md](BACKGROUND-FIX.md) - Исправление ошибок анимации фона +- [TESTING-GUIDE.md](TESTING-GUIDE.md) - Руководство по тестированию + +--- + +**Итог:** Если вы видите только жёлтые предупреждения (warnings) - всё в порядке! ✅ +Красные ошибки (errors) - нужно исправлять! ❌ diff --git a/landing/src/CONTRIBUTING.md b/landing/src/CONTRIBUTING.md new file mode 100644 index 0000000..efce65f --- /dev/null +++ b/landing/src/CONTRIBUTING.md @@ -0,0 +1,410 @@ +# Руководство по контрибьюции + +Спасибо за интерес к проекту Phantom Protocol Landing! 🎉 + +Мы рады любому вкладу — от исправления опечаток до новых функций. + +## 📋 Содержание + +- [Кодекс поведения](#кодекс-поведения) +- [Как я могу помочь?](#как-я-могу-помочь) +- [Процесс разработки](#процесс-разработки) +- [Стандарты кода](#стандарты-кода) +- [Коммиты](#коммиты) +- [Pull Requests](#pull-requests) +- [Сообщения об ошибках](#сообщения-об-ошибках) +- [Предложения функций](#предложения-функций) + +## 🤝 Кодекс поведения + +Этот проект придерживается [Contributor Covenant Code of Conduct](https://www.contributor-covenant.org/). Участвуя, вы соглашаетесь соблюдать этот кодекс. + +## 💡 Как я могу помочь? + +### Типы контрибьюций + +- 🐛 **Исправление багов** - Найдите открытые issues с меткой `bug` +- ✨ **Новые функции** - Issues с меткой `enhancement` +- 📝 **Документация** - Улучшение README, комментариев, гайдов +- 🎨 **Дизайн** - Улучшение UI/UX, анимации, стили +- ♿ **Доступность** - ARIA метки, keyboard navigation +- 🌍 **Переводы** - Добавление новых языков +- ⚡ **Производительность** - Оптимизация загрузки, анимаций +- 🧪 **Тестирование** - Cross-browser тестирование + +### Хорошие первые задачи + +Ищите issues с метками: +- `good first issue` - Легкие задачи для новичков +- `help wanted` - Задачи, где нужна помощь +- `documentation` - Улучшение документации + +## 🔧 Процесс разработки + +### 1. Fork репозитория + +Нажмите кнопку "Fork" в правом верхнем углу GitHub. + +### 2. Клонируйте свой fork + +```bash +git clone https://github.com/YOUR_USERNAME/phantom-protocol-landing.git +cd phantom-protocol-landing +``` + +### 3. Создайте ветку + +```bash +git checkout -b feature/your-feature-name +# или +git checkout -b fix/bug-description +``` + +**Соглашение об именовании веток:** +- `feature/` - новые функции +- `fix/` - исправления багов +- `docs/` - документация +- `style/` - стили, форматирование +- `refactor/` - рефакторинг кода +- `test/` - добавление тестов +- `perf/` - улучшение производительности + +### 4. Внесите изменения + +- Следуйте [стандартам кода](#стандарты-кода) +- Добавьте комментарии для сложной логики +- Обновите документацию при необходимости +- Тестируйте в разных браузерах + +### 5. Закоммитьте изменения + +```bash +git add . +git commit -m "feat: добавить новую функцию X" +``` + +См. [соглашение о коммитах](#коммиты). + +### 6. Push в свой fork + +```bash +git push origin feature/your-feature-name +``` + +### 7. Создайте Pull Request + +Откройте Pull Request на GitHub с подробным описанием изменений. + +## 📐 Стандарты кода + +### HTML + +```html + + +
+
+

Title

+
+
+ + +
+
Title
+
+``` + +**Правила:** +- ✅ Используйте семантические теги (`
`, `
`, `