Merge branch 'main' into caro/badges-stats
This commit is contained in:
@@ -22,12 +22,21 @@ const TeamListItem = React.memo(({ team }: TeamListItemProps) => {
|
||||
[team.players]
|
||||
);
|
||||
|
||||
const teamNameSize = useMemo(() => {
|
||||
const nameLength = team.name.length;
|
||||
if (nameLength > 20) return 'xs';
|
||||
if (nameLength > 15) return 'sm';
|
||||
return 'md';
|
||||
}, [team.name]);
|
||||
|
||||
return (
|
||||
<Group justify="space-between" w="100%">
|
||||
<Text fw={500}>{`${team.name}`}</Text>
|
||||
<Stack ml="auto" gap={0}>
|
||||
{playerNames.map((name) => (
|
||||
<Text size="xs" c="dimmed" ta="right">
|
||||
<Group justify="space-between" w="100%" wrap="nowrap">
|
||||
<Text fw={500} size={teamNameSize} style={{ flexShrink: 1, minWidth: 0, overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap' }}>
|
||||
{`${team.name}`}
|
||||
</Text>
|
||||
<Stack ml="auto" gap={0} style={{ flexShrink: 0 }}>
|
||||
{playerNames.map((name, idx) => (
|
||||
<Text key={idx} size="xs" c="dimmed" ta="right">
|
||||
{name}
|
||||
</Text>
|
||||
))}
|
||||
@@ -46,10 +55,10 @@ const TeamList = ({ teams, loading = false, onTeamClick }: TeamListProps) => {
|
||||
const navigate = useNavigate();
|
||||
|
||||
const handleClick = useCallback(
|
||||
(teamId: string) => {
|
||||
(teamId: string, priv: boolean) => {
|
||||
if (onTeamClick) {
|
||||
onTeamClick(teamId);
|
||||
} else {
|
||||
} else if (!priv) {
|
||||
navigate({ to: `/teams/${teamId}` });
|
||||
}
|
||||
},
|
||||
@@ -91,7 +100,7 @@ const TeamList = ({ teams, loading = false, onTeamClick }: TeamListProps) => {
|
||||
/>
|
||||
}
|
||||
style={{ cursor: "pointer" }}
|
||||
onClick={() => handleClick(team.id)}
|
||||
onClick={() => handleClick(team.id, team.private)}
|
||||
styles={{
|
||||
itemWrapper: { width: "100%" },
|
||||
itemLabel: { width: "100%" },
|
||||
|
||||
@@ -19,6 +19,7 @@ export interface Team {
|
||||
updated: string;
|
||||
players: PlayerInfo[];
|
||||
tournaments: TournamentInfo[];
|
||||
private: boolean;
|
||||
}
|
||||
|
||||
export interface TeamInfo {
|
||||
@@ -28,6 +29,7 @@ export interface TeamInfo {
|
||||
accent_color: string;
|
||||
logo?: string;
|
||||
players: PlayerInfo[];
|
||||
private: boolean;
|
||||
}
|
||||
|
||||
export const teamInputSchema = z
|
||||
|
||||
Reference in New Issue
Block a user