update text for importing study via login or link

This commit is contained in:
2026-07-11 21:00:22 +02:00
parent f9d02efe49
commit f139449d9a
4 changed files with 14 additions and 7 deletions
-2
View File
@@ -10,6 +10,4 @@
- react query on for study and chapter load, to allow caching
- https://specification.website/checklist/
- Custom headers do not work - the subtitle is appearing above every thing on first page, and the game starts 2nd page
- react query to cache the study and chapters
+2
View File
@@ -28,6 +28,8 @@ const LichessStudyLinkInput = ({ setSelectedStudyId }: IProps) => {
return;
}
console.log(result.data);
setSelectedStudyId(result.data);
toast.success("Study loaded — pick a chapter");
};
+8 -4
View File
@@ -2,11 +2,11 @@ import {
type Dispatch,
useActionState,
useEffect,
useRef,
// useRef,
useState,
} from "react";
import { toast } from "react-toastify";
import { useClickOutside } from "#/hooks/useClickOutside.ts";
// import { useClickOutside } from "#/hooks/useClickOutside.ts";
import { useLichess } from "#/hooks/useLichess.ts";
import type { IUserStudyChapter } from "#/interfaces.ts";
import type { GameAction } from "#/reducers/gameReducer.ts";
@@ -31,7 +31,7 @@ const initialChapterState: ChapterState = {
const SelectStudyChapter = ({ selectedStudyId, gameDispatch }: IProps) => {
const [isOpen, setIsOpen] = useState(false);
const [search, setSearch] = useState("");
const dropdownRef = useRef<HTMLDivElement>(null);
// const dropdownRef = useRef<HTMLDivElement>(null);
const { getLichessStudyChapters, loadLichessStudyChapter } = useLichess();
@@ -47,6 +47,9 @@ const SelectStudyChapter = ({ selectedStudyId, gameDispatch }: IProps) => {
const result = await getLichessStudyChapters({
studyId: selectedStudyId,
});
console.log(result);
if (result.ok) {
return {
status: "success",
@@ -54,6 +57,7 @@ const SelectStudyChapter = ({ selectedStudyId, gameDispatch }: IProps) => {
error: null,
} satisfies ChapterState;
}
return {
status: "error",
chapters: [],
@@ -67,7 +71,7 @@ const SelectStudyChapter = ({ selectedStudyId, gameDispatch }: IProps) => {
chapter.name.toLowerCase().includes(search.toLowerCase()),
);
useClickOutside({ isOpen, setIsOpen, setSearch, ref: dropdownRef });
// useClickOutside({ isOpen, setIsOpen, setSearch, ref: dropdownRef });
useEffect(() => {
if (isPending || chapterState.status === "success") {
+3
View File
@@ -65,7 +65,10 @@ const Chessboard = () => {
/>
) : null}
{user ? (
<div className="flex flex-col">
<p className="text-center">or</p>
<LichessStudyLinkInput setSelectedStudyId={setSelectedStudyId} />
</div>
) : null}
</Section>