网球详情页

This commit is contained in:
xianyi
2026-01-22 14:05:39 +08:00
parent 9e7f8dadec
commit a279083252
13 changed files with 443 additions and 46 deletions

View File

@@ -10,6 +10,7 @@ import { LeagueInfo } from "@/components/match-detail/league-info";
import { MatchInfoCard } from "@/components/match-detail/match-info-card";
import { MatchTabs } from "@/components/match-detail/match-tabs";
import { ScoreHeader } from "@/components/match-detail/score-header";
import { TennisScoreTable } from "@/components/match-detail/tennis/tennis-score-table";
import { ThemedText } from "@/components/themed-text";
import { ThemedView } from "@/components/themed-view";
import { Colors } from "@/constants/theme";
@@ -52,18 +53,21 @@ export default function MatchDetailScreen() {
if (data?.match?.sportId) {
const sportId = data.match.sportId;
let validTabs: string[] = [];
if (sportId === 1) {
// 足球
validTabs = ["info", "stats", "odds", "h2h", "chat"];
} else if (sportId === 2) {
// 篮球
validTabs = ["info", "h2h", "chat"];
} else if (sportId === 3) {
// 网球
validTabs = ["info", "chat"];
} else {
// 默认
validTabs = ["info", "h2h", "chat"];
}
// 如果当前 activeTab 不在有效标签列表中,重置为第一个
if (!validTabs.includes(activeTab)) {
setActiveTab(validTabs[0]);
@@ -77,11 +81,11 @@ export default function MatchDetailScreen() {
setError(null);
const result = await fetchMatchDetail(id as string);
setData(result);
console.log("首发阵容" , result.match.players?.away_team);
console.log("首发阵容", result.match.players?.away_team);
console.log("红黄牌", result.events);
} catch (err: any) {
setError(err.message || t("detail.fetch_failed"));
} finally {
@@ -130,6 +134,14 @@ export default function MatchDetailScreen() {
<MatchInfoCard data={data} isDark={isDark} />
</>
);
} else if (sportId === 3) {
// 网球:显示 TennisScoreTable 和 MatchInfoCard
return (
<>
<TennisScoreTable data={data} isDark={isDark} />
<MatchInfoCard data={data} isDark={isDark} />
</>
);
} else {
// 默认使用足球组件
return (