import Sheet from "@/components/sheet/sheet"; import { useAuth } from "@/contexts/auth-context"; import { Flex, Title, ActionIcon } from "@mantine/core"; import { PencilIcon } from "@phosphor-icons/react"; import { useMemo } from "react"; import NameUpdateForm from "./name-form"; import Avatar from "@/components/avatar"; import { useSheet } from "@/hooks/use-sheet"; import { Player } from "../../types"; interface HeaderProps { player: Player; } const Header = ({ player }: HeaderProps) => { const sheet = useSheet(); const { user: authUser } = useAuth(); const owner = useMemo(() => authUser?.id === player.id, [authUser?.id, player.id]); const name = useMemo(() => `${player.first_name} ${player.last_name}`, [player.first_name, player.last_name]); const fontSize = useMemo(() => { const baseSize = 24; const maxLength = 20; if (name.length <= maxLength) { return `${baseSize}px`; } const scaleFactor = Math.max(0.6, maxLength / name.length); return `${Math.floor(baseSize * scaleFactor)}px`; }, [name]); return ( <> {name} ) }; export default Header;