'use client'; import styles from '@components/Chessboard.module.css'; import * as React from 'react'; import * as Utilities from '@common/utilities'; const FILE = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H']; const RANK = [8, 7, 6, 5, 4, 3, 2, 1]; const getPieceSymbol = (piece: string) => { const mapping: Record = { K: '♔', Q: '♕', R: '♖', B: '♗', N: '♘', P: '♙', k: '♚', q: '♛', r: '♜', b: '♝', n: '♞', p: '♟', }; return mapping[piece] || ''; }; interface ChessboardProps { board: string[][]; } const Chessboard: React.FC = ({ board }) => { return ( {FILE.map((file) => ( ))} {RANK.map((rank, rowIndex) => ( {FILE.map((_, colIndex) => { const isDark = (rowIndex + colIndex) % 2 === 0; const squareClass = isDark ? styles.dark : styles.light; return ( ); })} ))}
{file}
{rank} {getPieceSymbol(board[rowIndex][colIndex])}
); }; export default Chessboard;