diff --git a/src/app/_components/leaderboard.tsx b/src/app/_components/leaderboard.tsx index 6e8e486..9f22236 100644 --- a/src/app/_components/leaderboard.tsx +++ b/src/app/_components/leaderboard.tsx @@ -241,7 +241,7 @@ function LeaderboardTable({ const virtualRows = rowVirtualizer.getVirtualItems() console.log({ virtualRows }) console.log(rowVirtualizer.getTotalSize()) - const paddingTop = virtualRows.length > 0 ? virtualRows?.[0]?.start : 0 + const paddingTop = virtualRows.length > 0 ? (virtualRows?.[0]?.start ?? 0) : 0 const paddingBottom = virtualRows.length > 0 ? rowVirtualizer.getTotalSize() - diff --git a/src/server/api/routers/leaderboard.ts b/src/server/api/routers/leaderboard.ts index b9177ba..df88463 100644 --- a/src/server/api/routers/leaderboard.ts +++ b/src/server/api/routers/leaderboard.ts @@ -1,6 +1,6 @@ import { createTRPCRouter, publicProcedure } from '@/server/api/trpc' import { LeaderboardService } from '@/server/services/leaderboard' -import type { LeaderboardResponse } from '@/server/services/neatqueue.service' +import type { LeaderboardEntry } from '@/server/services/neatqueue.service' import { z } from 'zod' const service = new LeaderboardService() @@ -14,7 +14,7 @@ export const leaderboard_router = createTRPCRouter({ .query(async ({ input }) => { return (await service.getLeaderboard( input.channel_id - )) as LeaderboardResponse['alltime'] + )) as LeaderboardEntry[] }), get_user_rank: publicProcedure .input( diff --git a/src/server/services/neatqueue.service.ts b/src/server/services/neatqueue.service.ts index 17dfb9d..678115b 100644 --- a/src/server/services/neatqueue.service.ts +++ b/src/server/services/neatqueue.service.ts @@ -57,11 +57,16 @@ export type Data = { winrate: number } -export type LeaderboardEntry = { +export type LeaderboardEntryInternal = { id: string data: Data name: string } export type LeaderboardResponse = { - alltime: LeaderboardEntry[] + alltime: LeaderboardEntryInternal[] +} + +export type LeaderboardEntry = Data & { + id: string + name: string }