fix : load game throwing outside trycatch

This commit is contained in:
GuillaumeSD
2025-05-25 18:50:37 +02:00
parent ea28844d93
commit c02782d295
3 changed files with 14 additions and 11 deletions

View File

@@ -60,8 +60,9 @@ const getCapturedPiecesComponents = (
key={pieceSymbol}
spacing={`-${1.2 * PIECE_SCALE}rem`}
>
{new Array(pieceCount).fill(
{new Array(pieceCount).fill(0).map((_, index) => (
<Box
key={`${pieceSymbol}-${index}`}
width={`${2 * PIECE_SCALE}rem`}
height={`${2 * PIECE_SCALE}rem`}
sx={{
@@ -69,7 +70,7 @@ const getCapturedPiecesComponents = (
backgroundRepeat: "no-repeat",
}}
/>
)}
))}
</Stack>
);
};

View File

@@ -4,7 +4,7 @@ import NewGameDialog from "./loadGameDialog";
import { Chess } from "chess.js";
interface Props {
setGame?: (game: Chess) => void;
setGame?: (game: Chess) => Promise<void>;
label?: string;
size?: "small" | "medium" | "large";
}

View File

@@ -29,7 +29,7 @@ import { boardOrientationAtom } from "../analysis/states";
interface Props {
open: boolean;
onClose: () => void;
setGame?: (game: Chess) => void;
setGame?: (game: Chess) => Promise<void>;
}
export default function NewGameDialog({ open, onClose, setGame }: Props) {
@@ -43,7 +43,7 @@ export default function NewGameDialog({ open, onClose, setGame }: Props) {
const setBoardOrientation = useSetAtom(boardOrientationAtom);
const { addGame } = useGameDatabase();
const handleAddGame = (pgn: string, boardOrientation?: boolean) => {
const handleAddGame = async (pgn: string, boardOrientation?: boolean) => {
if (!pgn) return;
try {
@@ -51,9 +51,9 @@ export default function NewGameDialog({ open, onClose, setGame }: Props) {
setSentryContext("loadedGame", { pgn });
if (setGame) {
setGame(gameToAdd);
await setGame(gameToAdd);
} else {
addGame(gameToAdd);
await addGame(gameToAdd);
}
setBoardOrientation(boardOrientation ?? true);
@@ -92,10 +92,12 @@ export default function NewGameDialog({ open, onClose, setGame }: Props) {
onClose={handleClose}
maxWidth="md"
fullWidth
PaperProps={{
sx: {
position: "fixed",
top: 0,
slotProps={{
paper: {
sx: {
position: "fixed",
top: 0,
},
},
}}
>