import { createContext, useContext, ReactNode } from "react"; interface PuzzleAnimationContextType { /** 触发碎片动画,传递碎片ID */ triggerPuzzleAnimation: (pieceId: number) => void; } const PuzzleAnimationContext = createContext( null ); export const PuzzleAnimationProvider = ({ children, triggerPuzzleAnimation, }: { children: ReactNode; triggerPuzzleAnimation: (pieceId: number) => void; }) => { return ( {children} ); }; export const usePuzzleAnimation = () => { const context = useContext(PuzzleAnimationContext); if (!context) { throw new Error( "usePuzzleAnimation must be used within PuzzleAnimationProvider" ); } return context; };