'use client'; import { useState, useEffect, useRef } from 'react'; import { StandardGameCard, TarokkaGameCard } from '@/types'; import tarokkaCards from '@/constants/tarokkaCards'; const cardBack = tarokkaCards.find((card) => card.back)!; type CardProps = { card: StandardGameCard | TarokkaGameCard; position: { text: string }; flipAction: () => void; }; export default function Card({ card: { aria, flipped, url }, position, flipAction }: CardProps) { const [showTooltip, setShowTooltip] = useState(false); const [tooltipPos, setTooltipPos] = useState({ x: 0, y: 0 }); const longPressTimeout = useRef(null); const delayTimeout = useRef(null); const handleMouseMove = (e: React.MouseEvent) => { setTooltipPos({ x: e.clientX, y: e.clientY }); }; const handleMouseEnter = () => { delayTimeout.current = setTimeout(() => { setShowTooltip(true); }, 1000); }; const handleMouseLeave = () => { clearTimeout(delayTimeout.current!); setShowTooltip(false); }; const handleTouchStart = () => { longPressTimeout.current = setTimeout(() => { setShowTooltip(true); }, 1000); }; const handleTouchEnd = () => { clearTimeout(longPressTimeout.current!); setShowTooltip(false); }; return ( <>
Card Back
{aria}
{position.text}
); }