gg
Deploy Iddaai Frontend / build-and-deploy (push) Successful in 2m24s

This commit is contained in:
2026-05-17 02:19:55 +03:00
parent 66877b88ca
commit e744a62fc2
10 changed files with 856 additions and 183 deletions
File diff suppressed because it is too large Load Diff
@@ -1627,6 +1627,23 @@ export default function PredictionCard({ prediction }: PredictionCardProps) {
)}
ui={ui}
/>
{(prediction as unknown as Record<string, unknown>).ai_expert_commentary ? (
<Card.Root bg={cardBg} borderColor={borderColor} borderRadius="2xl">
<Card.Body gap={3}>
<SectionTitle
icon={LuBrain}
title={uiText("ai-expert-commentary-title", "AI Uzman Yorumu")}
info={uiText(
"ai-expert-commentary-info",
"Yapay zekanın maç verilerini okuyarak ürettiği uzman bahis analizi.",
)}
/>
<Text fontSize="sm" color="fg.muted" lineHeight="1.7">
{String((prediction as unknown as Record<string, unknown>).ai_expert_commentary)}
</Text>
</Card.Body>
</Card.Root>
) : null}
{prediction.match_commentary?.headline ||
prediction.match_commentary?.summary ? (
<Card.Root bg={cardBg} borderColor={borderColor} borderRadius="2xl">
+49 -2
View File
@@ -62,6 +62,9 @@ export interface MatchResponseDto {
status: MatchStatus;
state?: string;
homeTeamId?: string;
awayTeamId?: string;
// Scores
scoreHome?: number;
scoreAway?: number;
@@ -118,11 +121,55 @@ export interface MatchResponseDto {
// Match detail enrichments
refereeName?: string;
sidelined?: Record<string, unknown>;
events?: Array<Record<string, unknown>>;
events?: MatchEvent[];
playerEvents?: MatchEvent[];
// Additional fields from backend detail endpoint
lineupSource?: string;
stats?: Record<string, unknown>;
stats?: {
home?: TeamStats;
away?: TeamStats;
};
footballTeamStats?: TeamStats[];
officials?: MatchOfficial[];
winner?: string;
}
export interface MatchEvent {
id: number;
playerId?: string;
teamId?: string;
eventType: "goal" | "card" | "substitute" | string;
eventSubtype?: string | null;
timeMinute: string;
timeSeconds?: number | null;
periodId?: number;
assistPlayerId?: string | null;
scoreAfter?: string | null;
playerOutId?: string | null;
position?: "home" | "away" | string;
player?: { id: string; name: string };
assistPlayer?: { id: string; name: string } | null;
substitutedOut?: { id: string; name: string } | null;
}
export interface TeamStats {
id?: number;
teamId?: string;
possessionPercentage?: number | null;
shotsOnTarget?: number | null;
shotsOffTarget?: number | null;
totalShots?: number | null;
totalPasses?: number | null;
corners?: number | null;
fouls?: number | null;
offsides?: number | null;
}
export interface MatchOfficial {
id: number;
name: string;
roleId: number;
}
export interface ActiveLeagueDto {
+1 -1
View File
@@ -18,7 +18,7 @@ import {
const getPrediction = (matchId: string) => {
return apiRequest<ApiResponse<MatchPredictionDto>>({
url: `/predictions/${matchId}`,
url: `/predictions/${matchId}?nocache=true`,
client: "core",
method: "get",
});