import { Button, Flex } from "antd";
import { CheckOutlined } from "@ant-design/icons";
import HeaderBar from "core/components/Header";
import { useLocation, useNavigate, useParams } from "react-router-dom";
import { Constants } from "core/utils/utils";
import React, { useEffect } from "react";
import MyErrorResult from "shared/components/MyResult";
import MyEmpty from "shared/components/MyEmpty";
import { useGetLessonContentsQuery } from "core/services/lessons";
import MyMiddleCard from "shared/components/MyMiddleCard";
import { Converter } from "../converter";
import Questions from "../Questions";
import {
addWebSocketReconnectListener,
removeWebSocketReconnectListener,
} from "core/services/websocketService";
import { useDispatch, useSelector } from "react-redux";
import {
lessonPageContents,
setLessonPageContents,
setLessonPageCurrentLessonId,
} from "./lessonPageSlice";
import MyCenteredSpin from "shared/components/MyCenteredSpin";
const LessonContents: React.FC = () => {
const dispatch = useDispatch();
const { lessonId } = useParams();
const lessonContents = useSelector(lessonPageContents);
const { data, error, isLoading, refetch } = useGetLessonContentsQuery(
lessonId as string,
{
refetchOnMountOrArgChange: true,
}
);
useEffect(() => {
dispatch(setLessonPageCurrentLessonId(lessonId as string));
addWebSocketReconnectListener(refetch);
return () => removeWebSocketReconnectListener(refetch);
}, []);
useEffect(() => {
if (!data) return;
dispatch(setLessonPageContents(data));
}, [data]);
if (isLoading) return