Партии: «выбывшие» игроки (красный крестик) = последнее место
Выбор места при завершении партии получает опцию «✕ выбыл»; выбывшему авто-проставляется общее последнее место (ничья последнего ранга), плюс флаг eliminated для отрисовки красным крестиком. В результатах и списке партий выбывшие показываются крестиком и идут в конец. Подсчёт очков не меняется (используются обычные числовые места). Бэкенд: модель MatchParticipant.eliminated + миграция 0009 (идемпотентная); схемы (place стал необязательным, +eliminated); match_service (хелпер _resolve_finish_places, finish/update); проброс eliminated в роутерах и stats. Фронт: выбор места с крестиком в MatchDetailPage и AdminMatchEdit, отрисовка в результатах и MatchList, стиль .place-badge.eliminated; регенерация schema.d.ts. Тесты: завершение с выбывшим (последнее место, засчитан), все-выбывшие → 422. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Vendored
+22
-2
@@ -1566,7 +1566,12 @@ export interface components {
|
||||
/** User Id */
|
||||
user_id: number;
|
||||
/** Place */
|
||||
place: number;
|
||||
place?: number | null;
|
||||
/**
|
||||
* Eliminated
|
||||
* @default false
|
||||
*/
|
||||
eliminated: boolean;
|
||||
/** Comment */
|
||||
comment?: string | null;
|
||||
/** Faction Id */
|
||||
@@ -1626,6 +1631,11 @@ export interface components {
|
||||
faction_name: string;
|
||||
/** Place */
|
||||
place?: number | null;
|
||||
/**
|
||||
* Eliminated
|
||||
* @default false
|
||||
*/
|
||||
eliminated: boolean;
|
||||
/** Was Random */
|
||||
was_random: boolean;
|
||||
/** Comment */
|
||||
@@ -1643,6 +1653,11 @@ export interface components {
|
||||
faction_name: string;
|
||||
/** Place */
|
||||
place?: number | null;
|
||||
/**
|
||||
* Eliminated
|
||||
* @default false
|
||||
*/
|
||||
eliminated: boolean;
|
||||
/** Was Random */
|
||||
was_random: boolean;
|
||||
/** Comment */
|
||||
@@ -1816,7 +1831,12 @@ export interface components {
|
||||
/** Faction Id */
|
||||
faction_id: number;
|
||||
/** Place */
|
||||
place: number;
|
||||
place?: number | null;
|
||||
/**
|
||||
* Eliminated
|
||||
* @default false
|
||||
*/
|
||||
eliminated: boolean;
|
||||
/**
|
||||
* Was Random
|
||||
* @default false
|
||||
|
||||
Reference in New Issue
Block a user