maybe fix timezones?

This commit is contained in:
2025-06-23 22:26:11 +02:00
parent e82df70a33
commit 0452e6fae9
2 changed files with 20 additions and 12 deletions

View File

@@ -198,7 +198,7 @@ const useColumns = () => {
] ]
: []), : []),
], ],
[isAdmin] [isAdmin, timeZone]
) )
} }

View File

@@ -16,7 +16,6 @@ import { WinrateTrendChart } from '@/app/(home)/players/[id]/_components/winrate
import { TimeZoneProvider } from '@/components/timezone-provider' import { TimeZoneProvider } from '@/components/timezone-provider'
import { Avatar, AvatarFallback, AvatarImage } from '@/components/ui/avatar' import { Avatar, AvatarFallback, AvatarImage } from '@/components/ui/avatar'
import { Badge } from '@/components/ui/badge' import { Badge } from '@/components/ui/badge'
import { Button } from '@/components/ui/button'
import { import {
Select, Select,
SelectContent, SelectContent,
@@ -26,7 +25,6 @@ import {
} from '@/components/ui/select' } from '@/components/ui/select'
import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs' import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs'
import { cn } from '@/lib/utils' import { cn } from '@/lib/utils'
import { auth } from '@/server/auth'
import { RANKED_CHANNEL, VANILLA_CHANNEL } from '@/shared/constants' import { RANKED_CHANNEL, VANILLA_CHANNEL } from '@/shared/constants'
import { api } from '@/trpc/react' import { api } from '@/trpc/react'
import { import {
@@ -44,20 +42,26 @@ import {
UserIcon, UserIcon,
Youtube, Youtube,
} from 'lucide-react' } from 'lucide-react'
import { useSession } from 'next-auth/react' import { useFormatter, useTimeZone } from 'next-intl'
import Link from 'next/link'
import { useParams } from 'next/navigation' import { useParams } from 'next/navigation'
import { isNonNullish } from 'remeda' import { isNonNullish } from 'remeda'
const numberFormatter = new Intl.NumberFormat('en-US', { const numberFormatter = new Intl.NumberFormat('en-US', {
signDisplay: 'exceptZero', signDisplay: 'exceptZero',
}) })
const dateFormatter = new Intl.DateTimeFormat('en-US', {
dateStyle: 'long',
})
export function UserInfo() { export function UserInfo() {
return (
<TimeZoneProvider>
<UserInfoComponent />
</TimeZoneProvider>
)
}
function UserInfoComponent() {
const [filter, setFilter] = useState('all') const [filter, setFilter] = useState('all')
const format = useFormatter()
const timeZone = useTimeZone()
const [leaderboardFilter, setLeaderboardFilter] = useState('all') const [leaderboardFilter, setLeaderboardFilter] = useState('all')
const { id } = useParams() const { id } = useParams()
@@ -206,7 +210,13 @@ export function UserInfo() {
<p className='pt-2 text-gray-500 text-sm dark:text-zinc-400'> <p className='pt-2 text-gray-500 text-sm dark:text-zinc-400'>
{firstGame ? ( {firstGame ? (
<>First game: {dateFormatter.format(firstGame.gameTime)}</> <>
First game:{' '}
{format.dateTime(firstGame.gameTime, {
dateStyle: 'long',
timeZone,
})}
</>
) : ( ) : (
<>No games played yet</> <>No games played yet</>
)} )}
@@ -442,9 +452,7 @@ export function UserInfo() {
<TabsContent value='matches' className='m-0'> <TabsContent value='matches' className='m-0'>
<div className='overflow-hidden rounded-lg border'> <div className='overflow-hidden rounded-lg border'>
<div className='overflow-x-auto'> <div className='overflow-x-auto'>
<TimeZoneProvider> <GamesTable games={filteredGames} />
<GamesTable games={filteredGames} />
</TimeZoneProvider>
</div> </div>
</div> </div>
</TabsContent> </TabsContent>