From 053bfc3c2b0e50733b700a9d3b5000c059b9a3d2 Mon Sep 17 00:00:00 2001 From: kyuuseiryuu Date: Sat, 24 Jan 2026 12:19:48 +0900 Subject: [PATCH] update default sneckMode --- src/components/GamePanel.tsx | 6 +++++- src/components/GroupingPrediction.tsx | 3 ++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/components/GamePanel.tsx b/src/components/GamePanel.tsx index a46efe5..d14c486 100644 --- a/src/components/GamePanel.tsx +++ b/src/components/GamePanel.tsx @@ -4,6 +4,7 @@ import { useRequest } from "ahooks"; import { Spin, Tabs } from "antd"; import { PlayerList } from "./PlayerList"; import { GroupingPrediction } from "./GroupingPrediction"; +import { useMemo } from "react"; interface Props { game?: IEventInfo; @@ -15,6 +16,9 @@ export const GamePanel: React.FC = props => { const info: MatchInfo = await (await fetch(`/api/match/${props.game.matchId}`)).json(); return info; }, { refreshDeps: [props] }); + const sneckMode = useMemo(() => { + return !!props.game?.title?.includes('争霸赛'); + }, [props.game]); return ( = props => { { key: 'groups', label: '分组预测', - children: + children: }, { key: 'players', diff --git a/src/components/GroupingPrediction.tsx b/src/components/GroupingPrediction.tsx index 968f82b..370282e 100644 --- a/src/components/GroupingPrediction.tsx +++ b/src/components/GroupingPrediction.tsx @@ -7,6 +7,7 @@ import { sneckGroup } from "../utils"; interface Props { players?: Player[]; + sneckMode: boolean; } type CustomPlayer = (Player & { index: number; id: string; }); @@ -16,7 +17,7 @@ export const GroupingPrediction: React.FC = props => { return props.players?.slice(0, maxPlayerSize)?.map((e, i) => ({ ...e, index: i + 1, id: `${i}-${e.name}-${e.score}` })) ?? []; }, [props.players, maxPlayerSize]); const [groupLen, setGroupLen] = useState(6); - const [sneckMode, setSneckMode] = useState(false); + const [sneckMode, setSneckMode] = useState(props.sneckMode); const chunkSize = useMemo(() => Math.floor((players.length ?? 0) / groupLen) || 1, [players, groupLen]); const grouped = useMemo(() => { return chunk(players, chunkSize);