- Add FIFA_48 bracket template with 12 groups of 4, knockout stage of 32 - Add tournament groups schema, model, and GroupStageDisplay component - Add projected/expected value scoring to standings and team breakdowns - Add docker-compose for local PostgreSQL development - Move DRAFT_ORDER_IMPLEMENTATION.md to plans directory Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
34 lines
788 B
TypeScript
34 lines
788 B
TypeScript
/**
|
|
* Shared types for standings that can be used in both server and client code
|
|
*/
|
|
|
|
export interface TeamStanding {
|
|
teamId: string;
|
|
teamName: string;
|
|
totalPoints: number;
|
|
currentRank: number;
|
|
previousRank: number | null;
|
|
rankChange: number; // Positive = moved up, negative = moved down
|
|
placementCounts: {
|
|
first: number;
|
|
second: number;
|
|
third: number;
|
|
fourth: number;
|
|
fifth: number;
|
|
sixth: number;
|
|
seventh: number;
|
|
eighth: number;
|
|
};
|
|
participantsRemaining: number;
|
|
calculatedAt: Date;
|
|
// Phase 5.4: Expected value projections
|
|
actualPoints?: number | null;
|
|
projectedPoints?: number | null;
|
|
participantsFinished?: number | null;
|
|
}
|
|
|
|
export interface TeamStandingSnapshot {
|
|
date: Date;
|
|
rank: number;
|
|
totalPoints: number;
|
|
}
|