mirror of
https://github.com/ershisan99/www.git
synced 2025-12-17 05:19:23 +00:00
92 lines
2.8 KiB
TypeScript
92 lines
2.8 KiB
TypeScript
import { Button } from '@/components/ui/button'
|
|
import {
|
|
DropdownMenu,
|
|
DropdownMenuContent,
|
|
DropdownMenuItem,
|
|
DropdownMenuTrigger,
|
|
} from '@/components/ui/dropdown-menu'
|
|
import { SiTwitch } from '@icons-pack/react-simple-icons'
|
|
import { Twitch } from 'lucide-react'
|
|
import Link from 'next/link'
|
|
import type { Player } from '../types'
|
|
import { PlayerAvatar } from './player-avatar'
|
|
|
|
type NextMatchInfoCardProps = {
|
|
player1: Player
|
|
player2: Player
|
|
week: number | string
|
|
bestOf: number
|
|
}
|
|
|
|
export function NextMatchInfoCard({
|
|
player1,
|
|
player2,
|
|
week,
|
|
bestOf,
|
|
}: NextMatchInfoCardProps) {
|
|
return (
|
|
<div className='mt-10 overflow-hidden rounded-xl border bg-card/60 shadow-lg backdrop-blur-sm'>
|
|
<div className='flex items-center justify-between gap-4 px-6 py-4'>
|
|
<div className={'flex flex-col gap-1'}>
|
|
<div className='text-center text-muted-foreground text-sm'>
|
|
{typeof week === 'string' ? week : `Week ${week}`}
|
|
</div>
|
|
<div className={'font-bold text-muted-foreground text-sm'}>
|
|
Best of {bestOf}
|
|
</div>
|
|
</div>
|
|
|
|
<div>
|
|
<h3 className='flex items-center gap-2 font-bold text-xl md:text-2xl'>
|
|
<div className={'flex items-center gap-2'}>
|
|
<PlayerAvatar
|
|
className={'size-16'}
|
|
playerName={player1.name}
|
|
img={player1.picture}
|
|
/>
|
|
{player1.name}
|
|
</div>
|
|
<span className='text-red-500'>vs</span>
|
|
<div className={'flex items-center gap-2'}>
|
|
{player2.name}
|
|
<PlayerAvatar
|
|
className={'size-16'}
|
|
playerName={player2.name}
|
|
img={player2.picture}
|
|
/>
|
|
</div>
|
|
</h3>
|
|
</div>
|
|
<DropdownMenu>
|
|
<DropdownMenuTrigger asChild>
|
|
<Button className='w-full gap-2 bg-red-600 text-white hover:bg-red-700 md:w-auto'>
|
|
<SiTwitch className='h-4 w-4' />
|
|
Watch Live
|
|
</Button>
|
|
</DropdownMenuTrigger>
|
|
<DropdownMenuContent>
|
|
<DropdownMenuItem asChild>
|
|
<Link
|
|
href={`https://twitch.tv/${player1.socials.twitch}`}
|
|
target='_blank'
|
|
rel='noopener noreferrer'
|
|
>
|
|
{player1.name}
|
|
</Link>
|
|
</DropdownMenuItem>
|
|
<DropdownMenuItem asChild>
|
|
<Link
|
|
href={`https://twitch.tv/${player2.socials.twitch}`}
|
|
target='_blank'
|
|
rel='noopener noreferrer'
|
|
>
|
|
{player2.name}
|
|
</Link>
|
|
</DropdownMenuItem>
|
|
</DropdownMenuContent>
|
|
</DropdownMenu>
|
|
</div>
|
|
</div>
|
|
)
|
|
}
|