添加板球比赛详情

This commit is contained in:
yuchenglong
2026-01-23 16:54:24 +08:00
parent dad06dd27d
commit 665d5b883c
13 changed files with 1214 additions and 52 deletions

View File

@@ -2,6 +2,10 @@ import { OddsCard } from "@/components/live-detail/odds-card";
import { BasketballOverallStats } from "@/components/match-detail/basketball/basketball-overall-stats";
import { BasketballScoreTable } from "@/components/match-detail/basketball/basketball-score-table";
import { BasketballStats } from "@/components/match-detail/basketball/basketball-stats";
import { CricketH2H } from "@/components/match-detail/cricket/cricket-h2h";
import { CricketH2HCard } from "@/components/match-detail/cricket/cricket-h2h-card";
import { CricketMatchInfoCard } from "@/components/match-detail/cricket/cricket-match-info-card";
import { CricketTeamsCard } from "@/components/match-detail/cricket/cricket-teams-card";
import { CardsCard } from "@/components/match-detail/football/cards-card";
import { FootballScoreTable } from "@/components/match-detail/football/football-score-table";
import { GoalsCard } from "@/components/match-detail/football/goals-card";
@@ -65,6 +69,9 @@ export default function MatchDetailScreen() {
} else if (sportId === 3) {
// 网球
validTabs = ["info", "chat"];
} else if (sportId === 4) {
// 板球
validTabs = ["info", "lineup", "h2h", "chat"];
} else {
// 默认
validTabs = ["info", "h2h", "chat"];
@@ -85,9 +92,6 @@ export default function MatchDetailScreen() {
setData(result);
// console.log("首发阵容", result.match.players?.away_team);
// console.log("红黄牌", result.events);
} catch (err: any) {
setError(err.message || t("detail.fetch_failed"));
} finally {
@@ -144,6 +148,16 @@ export default function MatchDetailScreen() {
<MatchInfoCard data={data} isDark={isDark} />
</>
);
} else if (sportId === 4) {
// 板球
// json数据中如果有就展示没有和我说 (Team Card, Match Info Card implemented. H2H skipped as not in JSON)
return (
<>
<CricketTeamsCard data={data} isDark={isDark} />
<CricketH2HCard data={data} isDark={isDark} />
<CricketMatchInfoCard data={data} isDark={isDark} />
</>
);
} else {
// 默认使用足球组件
return (
@@ -205,8 +219,13 @@ export default function MatchDetailScreen() {
country_logo: data.match.countryLogo,
event_country_key: parseInt(data.match.eventCountryKey) || 0,
};
return <OddsCard sportId={sportId} match={matchForOdds} isDark={isDark} />;
return (
<OddsCard sportId={sportId} match={matchForOdds} isDark={isDark} />
);
case "h2h":
if (sportId === 4) {
return <CricketH2H data={data} isDark={isDark} />;
}
return <H2H data={data} isDark={isDark} />;
case "chat":
return (