more optimizations

This commit is contained in:
yohlo
2025-08-27 11:04:04 -05:00
parent e5f3bbe095
commit b7de2e7af3
7 changed files with 49 additions and 23 deletions

View File

@@ -1,6 +1,6 @@
import { ActionIcon, Card, Text } from '@mantine/core';
import { PlayIcon } from '@phosphor-icons/react';
import React from 'react';
import React, { useCallback, useMemo } from 'react';
import { MatchSlot } from './match-slot';
import { Match } from '../types';
@@ -15,6 +15,14 @@ export const MatchCard: React.FC<MatchCardProps> = ({
getParentMatchOrder,
onAnnounce
}) => {
const showAnnounce = useMemo(() =>
onAnnounce && match.home.team && match.away.team,
[onAnnounce, match.home.team, match.away.team]);
const handleAnnounce = useCallback(() =>
onAnnounce?.(match.home.team, match.away.team), [match.home.team, match.away.team]);
return (
<Card
withBorder
@@ -44,16 +52,14 @@ export const MatchCard: React.FC<MatchCardProps> = ({
</Text>
)}
{onAnnounce && match.home?.team && match.away?.team && (
{showAnnounce && (
<ActionIcon
pos="absolute"
variant="filled"
color="green"
top={-20}
right={-12}
onClick={() => {
onAnnounce(match.home.team, match.away.team);
}}
onClick={handleAnnounce}
bd="none"
style={{ boxShadow: 'none' }}
size="xs"