skeletons, tournament stats, polish, bug fixes
This commit is contained in:
@@ -1,9 +1,10 @@
|
||||
import { Text, Group, Stack, Paper, Indicator, Box } from "@mantine/core";
|
||||
import { Text, Group, Stack, Paper, Indicator, Box, Tooltip } from "@mantine/core";
|
||||
import { CrownIcon } from "@phosphor-icons/react";
|
||||
import { useNavigate } from "@tanstack/react-router";
|
||||
import { Match } from "../types";
|
||||
import Avatar from "@/components/avatar";
|
||||
import EmojiBar from "@/features/reactions/components/emoji-bar";
|
||||
import { Suspense } from "react";
|
||||
|
||||
interface MatchCardProps {
|
||||
match: Match;
|
||||
@@ -88,15 +89,28 @@ const MatchCard = ({ match }: MatchCardProps) => {
|
||||
</Box>
|
||||
)}
|
||||
</Box>
|
||||
<Text
|
||||
size="sm"
|
||||
fw={600}
|
||||
lineClamp={1}
|
||||
style={{ minWidth: 0, flex: 1 }}
|
||||
<Tooltip
|
||||
label={match.home?.name!}
|
||||
disabled={!match.home?.name}
|
||||
events={{ hover: true, focus: true, touch: true }}
|
||||
>
|
||||
{match.home?.name!}
|
||||
</Text>
|
||||
<Text
|
||||
size="sm"
|
||||
fw={600}
|
||||
lineClamp={1}
|
||||
style={{ minWidth: 0, flex: 1, cursor: 'pointer' }}
|
||||
>
|
||||
{match.home?.name!}
|
||||
</Text>
|
||||
</Tooltip>
|
||||
</Group>
|
||||
<Stack gap={1}>
|
||||
{match.home?.players.map((p) => (
|
||||
<Text key={`match-card-p-${p.id}`} size="xs" fw={600} c="dimmed" ta="right">
|
||||
{p.first_name} {p.last_name}
|
||||
</Text>
|
||||
))}
|
||||
</Stack>
|
||||
<Text
|
||||
size="xl"
|
||||
fw={700}
|
||||
@@ -105,13 +119,6 @@ const MatchCard = ({ match }: MatchCardProps) => {
|
||||
>
|
||||
{match.home_cups}
|
||||
</Text>
|
||||
<Stack gap={1}>
|
||||
{match.home?.players.map((p) => (
|
||||
<Text key={`match-card-p-${p.id}`} size="xs" fw={600} c="dimmed" ta="right">
|
||||
{p.first_name} {p.last_name}
|
||||
</Text>
|
||||
))}
|
||||
</Stack>
|
||||
</Group>
|
||||
|
||||
<Group justify="space-between" align="center">
|
||||
@@ -144,15 +151,28 @@ const MatchCard = ({ match }: MatchCardProps) => {
|
||||
</Box>
|
||||
)}
|
||||
</Box>
|
||||
<Text
|
||||
size="sm"
|
||||
fw={600}
|
||||
lineClamp={1}
|
||||
style={{ minWidth: 0, flex: 1 }}
|
||||
<Tooltip
|
||||
label={match.away?.name}
|
||||
disabled={!match.away?.name}
|
||||
events={{ hover: true, focus: true, touch: true }}
|
||||
>
|
||||
{match.away?.name}
|
||||
</Text>
|
||||
<Text
|
||||
size="sm"
|
||||
fw={600}
|
||||
lineClamp={1}
|
||||
style={{ minWidth: 0, flex: 1, cursor: 'pointer' }}
|
||||
>
|
||||
{match.away?.name}
|
||||
</Text>
|
||||
</Tooltip>
|
||||
</Group>
|
||||
<Stack gap={1}>
|
||||
{match.away?.players.map((p) => (
|
||||
<Text key={`match-card-p-${p.id}`} size="xs" fw={600} c="dimmed" ta="right">
|
||||
{p.first_name} {p.last_name}
|
||||
</Text>
|
||||
))}
|
||||
</Stack>
|
||||
<Text
|
||||
size="xl"
|
||||
fw={700}
|
||||
@@ -161,13 +181,6 @@ const MatchCard = ({ match }: MatchCardProps) => {
|
||||
>
|
||||
{match.away_cups}
|
||||
</Text>
|
||||
<Stack gap={1}>
|
||||
{match.away?.players.map((p) => (
|
||||
<Text key={`match-card-p-${p.id}`} size="xs" fw={600} c="dimmed" ta="right">
|
||||
{p.first_name} {p.last_name}
|
||||
</Text>
|
||||
))}
|
||||
</Stack>
|
||||
</Group>
|
||||
</Stack>
|
||||
</Paper>
|
||||
@@ -187,7 +200,9 @@ const MatchCard = ({ match }: MatchCardProps) => {
|
||||
border: "1px solid var(--mantine-color-default-border)",
|
||||
}}
|
||||
>
|
||||
<EmojiBar matchId={match.id} />
|
||||
<Suspense>
|
||||
<EmojiBar matchId={match.id} />
|
||||
</Suspense>
|
||||
</Paper>
|
||||
</Box>
|
||||
</Indicator>
|
||||
|
||||
Reference in New Issue
Block a user