react-chess-game-fix
Version:
react-chess-game is a React component bridging chess.js with react-chessboard to offer a full-featured, ready-to-integrate chess board experience.
24 lines (22 loc) • 556 B
text/typescript
import { useEffect } from "react";
import { useChessGameContext } from "./useChessGameContext";
import { type Sound } from "../assets/sounds";
export const useBoardSounds = (sounds: Record<Sound, HTMLAudioElement>) => {
const {
info: { lastMove, isCheckmate },
} = useChessGameContext();
useEffect(() => {
if (isCheckmate) {
sounds.gameOver.play();
return;
}
if (lastMove?.captured) {
sounds.capture.play();
return;
}
if (lastMove) {
sounds.move.play();
return;
}
}, [lastMove]);
};