mirror of
https://github.com/TheRealOwenRees/chess-scribe-website.git
synced 2026-07-23 01:46:57 +00:00
update pgnviewer on lichess chapter load
This commit is contained in:
@@ -1,9 +1,10 @@
|
|||||||
import { useRef, useState } from "react";
|
import { useRef, useState, type Dispatch } from "react";
|
||||||
import { type IUserStudyChapter, useLichess } from "#/hooks/useLichess.ts";
|
import { type IUserStudyChapter, useLichess } from "#/hooks/useLichess.ts";
|
||||||
|
import type { GameAction } from "#/reducers/gameReducer.ts";
|
||||||
|
|
||||||
interface IProps {
|
interface IProps {
|
||||||
selectedStudyId: string;
|
selectedStudyId: string;
|
||||||
gameDispatch: any;
|
gameDispatch: Dispatch<GameAction>;
|
||||||
}
|
}
|
||||||
|
|
||||||
const SelectStudyChapter = ({ selectedStudyId, gameDispatch }: IProps) => {
|
const SelectStudyChapter = ({ selectedStudyId, gameDispatch }: IProps) => {
|
||||||
@@ -23,7 +24,7 @@ const SelectStudyChapter = ({ selectedStudyId, gameDispatch }: IProps) => {
|
|||||||
const handleChapterClick = async (chapter: IUserStudyChapter) => {
|
const handleChapterClick = async (chapter: IUserStudyChapter) => {
|
||||||
const { headers, pgn } = await loadLichessStudyChapter({ chapter });
|
const { headers, pgn } = await loadLichessStudyChapter({ chapter });
|
||||||
|
|
||||||
gameDispatch({ type: "SET_PGN", payload: headers, pgn });
|
gameDispatch({ type: "SET_GAME", payload: { pgn, headers } });
|
||||||
|
|
||||||
setIsOpen(false);
|
setIsOpen(false);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ import { useNavigate } from "@tanstack/react-router";
|
|||||||
import { useServerFn } from "@tanstack/react-start";
|
import { useServerFn } from "@tanstack/react-start";
|
||||||
import { useEffect, useState } from "react";
|
import { useEffect, useState } from "react";
|
||||||
import { useLichessUser } from "#/context/LichessUserContext.tsx";
|
import { useLichessUser } from "#/context/LichessUserContext.tsx";
|
||||||
import { useChessGame } from "#/hooks/useChessGame.ts";
|
|
||||||
import {
|
import {
|
||||||
getSession,
|
getSession,
|
||||||
getStudyChapters,
|
getStudyChapters,
|
||||||
@@ -138,7 +137,6 @@ export const useLichess = () => {
|
|||||||
author: "",
|
author: "",
|
||||||
};
|
};
|
||||||
|
|
||||||
console.log(headers, pgn);
|
|
||||||
return { headers, pgn };
|
return { headers, pgn };
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import type { IGameState, IHeader, IPosition } from "#/interfaces.ts";
|
import type { IGameState, IHeader, IPosition } from "#/interfaces.ts";
|
||||||
|
|
||||||
type GameAction =
|
export type GameAction =
|
||||||
| { type: "SET_GAME"; payload: { pgn: string; headers: IHeader } }
|
| { type: "SET_GAME"; payload: { pgn: string; headers: IHeader } }
|
||||||
| { type: "CLEAR_GAME" }
|
| { type: "CLEAR_GAME" }
|
||||||
| { type: "SET_HEADERS"; payload: IHeader }
|
| { type: "SET_HEADERS"; payload: IHeader }
|
||||||
|
|||||||
Reference in New Issue
Block a user