diff --git a/src/app/(home)/players/[id]/user.tsx b/src/app/(home)/players/[id]/user.tsx index 0089b00..d0c1efd 100644 --- a/src/app/(home)/players/[id]/user.tsx +++ b/src/app/(home)/players/[id]/user.tsx @@ -16,10 +16,10 @@ import type React from 'react' import { useState } from 'react' import { GamesTable } from '@/app/(home)/players/[id]/_components/games-table' -import { TimeZoneProvider } from '@/components/timezone-provider' import { MmrTrendChart } from '@/app/(home)/players/[id]/_components/mmr-trend-chart' -import { WinrateTrendChart } from '@/app/(home)/players/[id]/_components/winrate-trend-chart' import { OpponentsTable } from '@/app/(home)/players/[id]/_components/opponents-table' +import { WinrateTrendChart } from '@/app/(home)/players/[id]/_components/winrate-trend-chart' +import { TimeZoneProvider } from '@/components/timezone-provider' import { Avatar, AvatarFallback, AvatarImage } from '@/components/ui/avatar' import { Badge } from '@/components/ui/badge' import { Button } from '@/components/ui/button' @@ -158,7 +158,6 @@ export function UserInfo() { const lastVanillaGame = games .filter((game) => game.gameType.toLowerCase() === 'vanilla') .at(0) - console.log(games) const avgOpponentMmr = games .filter( diff --git a/src/app/stream-card/[id]/_components/stream-card-client.tsx b/src/app/stream-card/[id]/_components/stream-card-client.tsx index dfb0c34..bb12904 100644 --- a/src/app/stream-card/[id]/_components/stream-card-client.tsx +++ b/src/app/stream-card/[id]/_components/stream-card-client.tsx @@ -107,7 +107,6 @@ export function StreamCardClient() { } } } - console.log(winsVsOpponent, lossesVsOpponent) return (
{ const groupBy = input?.groupBy || 'hour' @@ -42,45 +44,48 @@ export const history_router = createTRPCRouter({ const processedGameNums = new Set() // Group games by the selected time unit - const gamesByTimeUnit = games.reduce>((acc, game) => { - if (!game.gameTime || !game.gameNum) return acc + const gamesByTimeUnit = games.reduce>( + (acc, game) => { + if (!game.gameTime || !game.gameNum) return acc - // Skip if we've already processed this game number - if (processedGameNums.has(game.gameNum)) return acc + // Skip if we've already processed this game number + if (processedGameNums.has(game.gameNum)) return acc - // Mark this game as processed - processedGameNums.add(game.gameNum) + // Mark this game as processed + processedGameNums.add(game.gameNum) - const date = new Date(game.gameTime) - let timeKey: string + const date = new Date(game.gameTime) + let timeKey: string - switch (groupBy) { - case 'hour': - // Format: YYYY-MM-DD HH:00 - timeKey = `${date.getFullYear()}-${String(date.getMonth() + 1).padStart(2, '0')}-${String(date.getDate()).padStart(2, '0')} ${String(date.getHours()).padStart(2, '0')}:00` - break - case 'day': - // Format: YYYY-MM-DD - timeKey = `${date.getFullYear()}-${String(date.getMonth() + 1).padStart(2, '0')}-${String(date.getDate()).padStart(2, '0')}` - break - case 'week': - // Get the first day of the week (Sunday) - const firstDayOfWeek = new Date(date) - const day = date.getDay() // 0 = Sunday, 1 = Monday, etc. - firstDayOfWeek.setDate(date.getDate() - day) - timeKey = `Week of ${firstDayOfWeek.getFullYear()}-${String(firstDayOfWeek.getMonth() + 1).padStart(2, '0')}-${String(firstDayOfWeek.getDate()).padStart(2, '0')}` - break - case 'month': - // Format: YYYY-MM - timeKey = `${date.getFullYear()}-${String(date.getMonth() + 1).padStart(2, '0')}` - break - default: - timeKey = `${date.getFullYear()}-${String(date.getMonth() + 1).padStart(2, '0')}-${String(date.getDate()).padStart(2, '0')} ${String(date.getHours()).padStart(2, '0')}:00` - } + switch (groupBy) { + case 'hour': + // Format: YYYY-MM-DD HH:00 + timeKey = `${date.getFullYear()}-${String(date.getMonth() + 1).padStart(2, '0')}-${String(date.getDate()).padStart(2, '0')} ${String(date.getHours()).padStart(2, '0')}:00` + break + case 'day': + // Format: YYYY-MM-DD + timeKey = `${date.getFullYear()}-${String(date.getMonth() + 1).padStart(2, '0')}-${String(date.getDate()).padStart(2, '0')}` + break + case 'week': + // Get the first day of the week (Sunday) + const firstDayOfWeek = new Date(date) + const day = date.getDay() // 0 = Sunday, 1 = Monday, etc. + firstDayOfWeek.setDate(date.getDate() - day) + timeKey = `Week of ${firstDayOfWeek.getFullYear()}-${String(firstDayOfWeek.getMonth() + 1).padStart(2, '0')}-${String(firstDayOfWeek.getDate()).padStart(2, '0')}` + break + case 'month': + // Format: YYYY-MM + timeKey = `${date.getFullYear()}-${String(date.getMonth() + 1).padStart(2, '0')}` + break + default: + timeKey = `${date.getFullYear()}-${String(date.getMonth() + 1).padStart(2, '0')}-${String(date.getDate()).padStart(2, '0')} ${String(date.getHours()).padStart(2, '0')}:00` + } - acc[timeKey] = (acc[timeKey] || 0) + 1 - return acc - }, {}) + acc[timeKey] = (acc[timeKey] || 0) + 1 + return acc + }, + {} + ) // Convert to array format for chart return Object.entries(gamesByTimeUnit).map(([timeUnit, count]) => ({ @@ -155,12 +160,10 @@ function processGameEntry(gameId: number, game_num: number, entry: any) { return [] } if (!parsedEntry.teams?.[0]?.[0] || !parsedEntry.teams?.[1]?.[0]) { - console.log('skipping game', parsedEntry) return [] } if (parsedEntry.winner === -2) { - console.log('skipping ongoing game', parsedEntry) return [] } const player0 = parsedEntry.teams[0][0]