Commit Graph

32 Commits

Author SHA1 Message Date
Umbrix Dev
27f76cbd10 🔧 Увеличен connectTimeout для MySQL подключения (fix ETIMEDOUT) 2026-02-06 23:24:28 +03:00
Umbrix Dev
3a70364eef 🔧 Исправление: DB конфигурация через ENV для локальной разработки
**Проблема:**
- Реферальные API падали в dev режиме из-за хардкода DB подключения
- Невозможно было запустить на локальном сервере без доступа к production БД

**Решение:**
- Вынесены DB credentials в ENV переменные:
  - DB_HOST, DB_USER, DB_PASSWORD, DB_NAME
- Добавлена проверка isDbConfigured в API endpoints
- Mock ответы для dev режима (когда DB не настроена)

**Изменения:**
- .env.example: добавлены DB переменные
- .env.local: пустые DB переменные (dev mode)
- /api/referral/track: graceful fallback без DB
- /api/referral/stats: mock данные без DB

**Результат:**
-  Dev сервер работает без production DB
-  Production будет использовать DB из ENV
-  Логи предупреждают о dev режиме
-  Реферальная система опциональна для разработки
2026-02-06 21:17:18 +03:00
Umbrix Dev
b43eb3c724 Реферальная система: БД, API, UI
**База данных:**
- Создана таблица referrals в MariaDB (193.168.175.128)
- Поля: username, referrer_username, referral_count, bonus_days_earned
- Foreign keys к users таблице с CASCADE/SET NULL

**API Endpoints:**
- POST /api/referral/track - отслеживание новых рефералов
  - Автоматический расчёт бонусов: +7 дней за каждого
  - Milestone bonus: +30 дней за каждые 5 рефералов
  - Обновление expire даты реферера в users таблице

- GET /api/referral/stats?username=xxx - статистика
  - Возвращает количество рефералов, бонусные дни
  - Список приглашённых пользователей со статусами

**Интеграция:**
- POST /api/create-user принимает referrerId параметр
- Автоматический вызов /api/referral/track после создания юзера
- Параметр ref из URL при активации trial

**UI:**
- /app/referral/page.tsx - страница статистики
  - 3 KPI карточки: рефералов, бонусных дней, milestone
  - Реферальная ссылка с кнопкой копирования
  - Список приглашённых юзеров с иконками статуса
  - Инфоблок о механике начисления бонусов

**ReferralModal обновлён:**
- Добавлена кнопка «Моя статистика» → /referral
- Перенос Share/Copy кнопок на второй/третий план

**Зависимости:**
- mysql2@3.16.3 - для подключения к MariaDB

**Логика бонусов:**
- +7 дней за каждого успешного реферала
- +30 дней бонус за каждые 5 рефералов (milestone)
- Автоматическое обновление expire поля в users таблице
- Сохранение всех бонусов в bonus_days_earned
2026-02-06 20:51:40 +03:00
Umbrix Dev
00bfda8748 🔧 Используем ENV для имени Telegram бота вместо хардкода
- Заменены все хардкоды umbrix_bot на process.env.NEXT_PUBLIC_TELEGRAM_BOT_USERNAME
- Fallback на Dorod_vps_bot если ENV не задана
- Теперь реферальные ссылки динамически генерируются: t.me/${botUsername}?start=ref_${userId}
- Обновлено 3 места: shareReferralLink(), ReferralModal props, onCopy callback
2026-02-06 04:52:05 +03:00
Umbrix Dev
3e195a8c32 Синхронизация с production: исправлены все ESLint ошибки, QR генерация работает 2026-02-06 03:01:59 +03:00
Umbrix Dev
24a09d3062 🐛 Исправлены ESLint ошибки: экранирование кавычек в JSX 2026-02-06 02:39:28 +03:00
Umbrix Dev
b730dc3eed 🎨 Финальные правки Setup Wizard: убран дубль ссылки под QR, добавлена ссылка на инструкцию, Telegram поддержка на t.me 2026-02-06 02:23:02 +03:00
Umbrix Dev
8bf35509bb Добавлена генерация QR кода через существующую библиотеку qrcode 2026-02-06 02:09:19 +03:00
Umbrix Dev
2e1ec469fc 🎨 Применены цвета Umbrix brand ко всем элементам Setup Wizard
- Прогресс бар: #2fbea5 (primary)
- Кнопки устройств: teal hover
- Блоки скачивания: rgba primary bg
- Location cards: teal selection
- Final step кнопки: primary colors
- Все текст цвета: CSS variables
2026-02-06 01:11:44 +03:00
Umbrix Dev
30789eb257 🎨 Umbrix colors: основные элементы (фон, прогресс, кнопки устройств) 2026-02-06 01:04:12 +03:00
Umbrix Dev
39561a1381 🐛 Исправления Setup Wizard:
- Текст: 'У вас уже установлено приложение?'
- Логика: при Нет показывает список приложений
- Дизайн: тёмная тема Umbrix (slate-900)
2026-02-05 15:00:28 +03:00
Umbrix Dev
6cb9335955 Setup Wizard: пошаговая настройка после активации подписки
- Выбор устройства (💻 Компьютер / 📱 Телефон)
- Проверка наличия приложения
- Выбор локаций для Extended тарифа (3 из списка)
- Показ ссылки/QR кода
- Автоматическое открытие после активации Trial
- Прогресс бар для отслеживания шагов
2026-02-05 12:11:55 +03:00
Umbrix Dev
0c49f27e76 📚 Добавлены обучающие комментарии в код + PROJECT-STRUCTURE.md 2026-02-04 05:25:10 +03:00
Umbrix Dev
ded76fa453 📊 Add production status report 2026-02-04 05:25:02 +03:00
Umbrix Dev
67837143fe 📚 Docs: README, руководство по проекту, аудит кода 2026-02-04 05:22:30 +03:00
Umbrix Dev
26c4239aff 🔗 Page: Просмотр подписки по токену (внешний доступ) 2026-02-04 05:21:14 +03:00
Umbrix Dev
fa97e859a1 ⚙️ Page: Настройка - первый вход и создание аккаунта 2026-02-04 05:20:27 +03:00
Umbrix Dev
43402a00c7 💳 Page: Тарифы - выбор плана подписки VPN 2026-02-04 05:20:11 +03:00
Umbrix Dev
0be39ced0d Page: Справка - настройка VPN на всех платформах 2026-02-04 05:19:09 +03:00
Umbrix Dev
e06bdc308f 🏠 Page: Главная страница - статус подписки и действия 2026-02-04 05:18:18 +03:00
Umbrix Dev
51c6ec1ffa 📡 API: Получение информации о подписке пользователя 2026-02-04 05:17:13 +03:00
Umbrix Dev
3a6f034bc8 🌐 API: Прокси для Marzban API с автоматическим токеном 2026-02-04 05:04:15 +03:00
Umbrix Dev
e36aadca61 🔐 API: Создание пользователя VPN с UUID и тарифами 2026-02-04 05:03:56 +03:00
Umbrix Dev
2b611c2abe 🎨 Layout: Глобальные стили, favicon, корневой layout 2026-02-04 05:03:33 +03:00
Umbrix Dev
55cc3c022a 🧩 Components: QR код модал и реферальная система 2026-02-04 05:03:17 +03:00
Umbrix Dev
1fc30e7fd7 🪝 Hook: useTelegramWebApp для интеграции с Telegram Mini App 2026-02-04 05:03:06 +03:00
Umbrix Dev
cf19c6e646 🔌 Marzban API Client: Полный клиент для работы с Marzban Panel API 2026-02-04 05:02:53 +03:00
Umbrix Dev
5013704ce1 💬 Telegram Utils: Утилита для работы с Telegram WebApp API 2026-02-04 05:02:28 +03:00
Umbrix Dev
8796bd93bc 🔧 Constants: Централизованные URL и конфигурация Marzban 2026-02-04 05:02:19 +03:00
Umbrix Dev
5135d499a4 📊 Logger: Production-ready логгер с автоотключением debug в prod 2026-02-04 05:02:12 +03:00
Umbrix Dev
92aa148f06 📝 Типы: Marzban API структуры и Telegram WebApp интерфейсы 2026-02-04 05:02:05 +03:00
Umbrix Dev
ea15346552 ⚙️ Конфигурация: Next.js 13, TypeScript, Tailwind, ESLint, зависимости 2026-02-04 05:01:34 +03:00