7всего фич
4готово
2в работе
1бэклог
0блокеров
3вопроса открыто
Обновлено: 27.05.2026, 05:00

📱 Моб-редизайн

Моб-флоу /upgrade — пересбор, не косметика

Лента побед ела первые 5 экранов, юзер не доходил до апгрейда. Цель — переделать архитектуру моб-страницы так, чтобы апгрейд был в первом окне без скролла, без пустых плит.

В работе
🌿feat/upgrade-mobile-tabs
📱iPhone 14 (390×844) → mobile-only, desktop не трогаем
⏱️2-й заход (1-й откатил по фидбеку Александра)
Прогресс
45%

✅ Сделано 4

Декомпозиция UpgradePage.vue на 9 компонентов (946 → 679 строк)
Эскиз нового моба согласован 26.05
Создана ветка feat/upgrade-mobile-tabs (worktree)
Первая попытка отвергнута (пустые плиты), пересобираю по эскизу

🚧 Осталось 5

Пересборка по согласованному эскизу: 2 таба + sticky-top + bottom-sheets
Sticky CTA «Прокачать» + мини-гейдж, всегда виден
FAB 🔥 → bottom-sheet с лентой побед
Тап по мини-гейджу → bottom-sheet с полной диаграммой
QA на проде после мерджа в master (нужен ОК Александра)

🧪 Тестирование

Ручное: зашёл на /upgrade с моба → виден гейдж + CTA → переключение табов без пустот → выбор скина и цели → 🔥 открывает ленту → диаграмма открывается тапом.
Автотесты: 0/0 — UI-фичи без unit-тестов; для регрессии — Playwright-снимки.
Скрины: делаю на каждый таб через playwright + sanctum-токен, прикладываю в TG до мерджа.

❓ Вопросы 2

Заказчику Сохранять ли FAB-кнопку 🔥 для desktop или прятать ленту полностью на больших экранах?
Брату До мерджа — ты ОК с автозакрытием bottom-sheet при выборе цели, или модалка должна оставаться открытой?
🌿feat/upgrade-mobile-tabs 🖼️Эскиз: tab «Ставка» 🖼️Эскиз: tab «Цель» 💬Согласование 26.05 (TG)
Последний апдейт: 27.05 04:55 · начал пересборку по эскизу

⭐ Премиум-подписка

Премиум — фазы 1–5: БД, админка, перки, кабинет, anti-luck + PIN

Подписка с привилегиями: визуальные перки, anti-luck на кейсах, PIN-авторизация на действия. Бэк + админка + кабинет — закрыто.

Готово
🌿в master
📋5 фаз закрыты последовательно
Прогресс
100%

✅ Сделано

Фаза 1 — DB foundation (миграции, модели)
Фаза 2 — Filament admin (раздача/отзыв подписок)
Фаза 3 — Visible perks (иконки, бейджи в UI)
Фаза 4 — /premium кабинет (статусы, продление)
Фаза 5 — Anti-luck + PIN auth

🧪 Тестирование

Бэк: phpunit feature-tests по подпискам, PIN, anti-luck — зелёные.
Ручное: прокликал в Filament и /premium на staging-юзере; PIN-флоу прошёл.
Закрыто в прошлой итерации

Премиум — Фаза 6: платежи

Подписку сейчас выдаём вручную через админку. Нужна оплата картой / СБП / криптой — чтобы юзер оформлял сам.

Бэклог
⏸️Не стартовала — ждём решение по платежной системе
Прогресс
0%

🚧 Что нужно

Выбор PSP (ЮKassa / Тинькофф / CloudPayments / крипта?)
Интеграция платежного шлюза
Хук на успех → продление подписки
UI в /premium — кнопки тарифов и checkout

❓ Вопросы 1

Заказчику Какой PSP подключаем? Юридически — кто принимает деньги (ИП/ООО, какая юрисдикция)?
Ждёт решение по PSP от заказчика

🔧 Инфра и исправления

Horizon worker — починен, цены скинов снова обновляются

pm2-процесс skins-arena-horizon упал 15.05 и не поднимался автоматически. Очереди стояли — Steam-цены не синхронизировались.

Готово
📅Закрыто 25.05

✅ Что сделано

pm2 resurrect + pm2 save — процесс снова в автозапуске
Проверил: цены обновились, очередь идёт

❓ Открытые вопросы 1

Внутр. Поставить алерт на падение горизонт-процесса (cron / Caddy uptime), чтобы не узнавать спустя 10 дней. Запланировано.
Закрыто 25.05

Per-offer webhook routing для CS-Skins ↔ Skins-Arena

Раньше промокоды для offer 220 и 221 (один advertiser) уходили на один общий webhook. Теперь у каждого оффера свой URL.

Готово
📅Закрыто 25.05

✅ Что сделано

Добавил offers.promo_code_webhook_url в LR
PromoCodeWebhookNotifier::resolveWebhookUrl — offer-scope приоритетнее advertiser-scope
Промокод offer 220 → cs-skins.pro, offer 221 → skins-arena.club

🧪 Тестирование

Бэк: phpunit на webhook-роутер — зелёный (3 теста).
Прод: создал тестовые промокоды, оба webhook-а ответили 200.
Закрыто 25.05

🧹 Прочее

Главная — убрал «популярное в маркете»

По просьбе заказчика убрана секция популярных лотов с главной — она сжирала первый экран.

Готово
Закрыто 26.05

Декомпозиция UpgradePage.vue

Файл вырос до 946 строк, что нарушает наш регламент «не растить page-моноимиты». Разнёс на 9 компонентов: StakePanel / GaugePanel / TargetPanel / InventoryBrowser / TargetBrowser / Pager / PresetBar / WinOverlay / Mobile-варианты.

Готово
📅Закрыто 26.05 — было важно перед моб-редизайном
Закрыто 26.05