26 Commits

Author SHA1 Message Date
2d8e80f258 Исправлена зависимость миграции exiled_games
Переименована 030 -> 031, зависит от 030_merge_029_heads

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-10 23:06:39 +03:00
f78eacb1a5 Добавлен Skip with Exile, модерация марафонов и выдача предметов
## Skip with Exile (новый расходник)
- Новая модель ExiledGame для хранения изгнанных игр
- Расходник skip_exile: пропуск без штрафа + игра исключается из пула навсегда
- Фильтрация изгнанных игр при выдаче заданий
- UI кнопка в PlayPage для использования skip_exile

## Модерация марафонов (для организаторов)
- Эндпоинты: skip-assignment, exiled-games, restore-exiled-game
- UI в LeaderboardPage: кнопка скипа у каждого участника
- Выбор типа скипа (обычный/с изгнанием) + причина
- Telegram уведомления о модерации

## Админская выдача предметов
- Эндпоинты: admin grant/remove items, get user inventory
- Новая страница AdminGrantItemPage (как магазин)
- Telegram уведомление при получении подарка

## Исправления миграций
- Миграции 029/030 теперь идемпотентны (проверка существования таблиц)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-10 23:02:37 +03:00
5c452c5c74 Fix migrations 2026-01-10 08:54:23 +07:00
2b6f2888ee Fix site 2026-01-10 08:48:53 +07:00
146ed5e489 Add OBS widgets for streamers
- Add widget token authentication system
- Create leaderboard, current assignment, and progress widgets
- Support dark, light, and neon themes
- Add widget settings modal for URL generation
- Fix avatar loading through backend API proxy

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-09 19:16:50 +03:00
e63d6c8489 Promocode system 2026-01-08 10:02:15 +07:00
1751c4dd4c rework shop 2026-01-08 08:49:51 +07:00
2874b64481 Bug fixes 2026-01-08 06:51:15 +07:00
6a7717a474 Add shop 2026-01-05 08:42:49 +07:00
475e2cf4cd Add notification settings 2026-01-04 02:47:38 +07:00
89dbe2c018 Улучшение системы оспариваний и исправления
- Оспаривания теперь требуют решения админа после 24ч голосования
  - Можно повторно оспаривать после разрешённых споров
  - Исправлены бонусные очки при перепрохождении после оспаривания
  - Сброс серии при невалидном пруфе
  - Колесо показывает только доступные игры
  - Rate limiting только через backend (RATE_LIMIT_ENABLED)
2025-12-29 22:23:34 +03:00
1cedfeb3ee Fix migration 2025-12-21 04:39:08 +07:00
1e723e7bcd Fix migration 2025-12-21 04:22:59 +07:00
921917a319 Add covers 2025-12-21 02:52:48 +07:00
c645171671 Add static pages and styles 2025-12-20 02:01:51 +07:00
13f484e726 Fix migrations 2 2025-12-19 02:28:02 +07:00
ebaf6d39ea Fix migrations 2025-12-19 02:23:50 +07:00
481bdabaa8 Add admin panel 2025-12-19 02:07:25 +07:00
8e634994bd Add challenges promotion 2025-12-18 23:47:11 +07:00
ca41c207b3 Add info if linked acc 2025-12-16 20:59:50 +07:00
c7966656d8 Add dispute system 2025-12-16 00:33:50 +07:00
339a212e57 Change rematch event to change game 2025-12-15 23:50:37 +07:00
07e02ce32d Common enemy rework 2025-12-15 23:03:59 +07:00
4239ea8516 Add events 2025-12-15 03:50:04 +07:00
d0b8eca600 Add 3 roles, settings for marathons 2025-12-14 20:21:56 +07:00
5343a8f2c3 initial 2025-12-14 02:42:32 +07:00