diff --git a/src/components/BattleTable.tsx b/src/components/BattleTable.tsx index 3623206..6d425ab 100644 --- a/src/components/BattleTable.tsx +++ b/src/components/BattleTable.tsx @@ -31,10 +31,20 @@ function BattleTable({ score: '', name: '-', }], [list]); - const resultMap = useMemo(() => new Map(), []); + const resultMap = useMemo(() => { + const cache = localStorage.getItem('match-result-map'); + const cacheEntries: [string, { winer: string, score: number }][] = cache ? Object.entries(JSON.parse(cache)) : []; + return new Map(cacheEntries); + }, []); + useEffect(() => { + return () => { + const cache = JSON.stringify(Object.fromEntries(resultMap.entries())); + localStorage.setItem('match-result-map', cache); + } + }, [resultMap]); const buildMatchGroupTable = useCallback((list: (BasePlayer | null)[]) => { const roundNum = list.length - 1; const dataList = cloneDeep(list); @@ -57,7 +67,6 @@ function BattleTable({ }); return cloneDeep([left, right]); }); - console.debug(roundTable); return roundTable.filter(Boolean); }, []); const [matchGroupTable, setMatchGroupTable] = useState>([]);