feat: add Maia chess game UI
All checks were successful
Deploy blog-frontend / build-and-deploy (push) Successful in 2m11s

This commit is contained in:
박원엽
2026-06-19 14:49:28 +09:00
parent a828be323a
commit 924dd8b372
14 changed files with 1441 additions and 4 deletions

View File

@@ -60,6 +60,72 @@ export interface ChessPuzzle {
sourceUrl: string;
}
export type ChessOutcome = 'IN_PROGRESS' | 'WIN' | 'LOSS' | 'DRAW' | 'UNKNOWN';
export type ChessColor = 'white' | 'black';
export type MaiaModel = '3m' | '5m' | '23m' | '79m';
export interface ChessGameCreateRequest {
rating?: number;
playerColor?: ChessColor;
model?: MaiaModel;
temperature?: number;
topP?: number;
}
export interface ChessGameResponse {
gameId: string;
rating: number;
playerColor: ChessColor;
model: MaiaModel;
fen: string;
turn: ChessColor;
moves: string[];
status: string;
result: string | null;
outcome: ChessOutcome;
pgn: string;
maiaMove: string | null;
}
export interface ChessGameSummaryResponse {
gameId: string;
rating: number;
playerColor: ChessColor;
model: string;
status: string;
result: string | null;
outcome: ChessOutcome;
movesCount: number;
createdAt: string;
updatedAt: string;
}
export interface ChessGameStatsResponse {
total: number;
inProgress: number;
wins: number;
losses: number;
draws: number;
unknown: number;
}
export interface ChessGamePgnResponse {
gameId: string;
pgn: string;
}
export interface ChessMoveRequest {
move: string;
}
export interface ChessGamePageResponse extends PageMeta {
content: ChessGameSummaryResponse[];
page?: PageMeta;
size?: number;
first?: boolean;
empty?: boolean;
}
// 4. 로그인 응답
export interface AuthResponse {
grantType: string;