import { useEffect, useState } from "react"; import { Box, Skeleton } from "@mui/material"; import { StartPageViewPublication } from "./StartPageViewPublication"; import { Question } from "./Question"; import { ApologyPage } from "./ApologyPage" import { useQuestionsStore } from "@root/quizData/store" import { relaseApi } from "@api/quizRelase" import type { AnyTypedQuizQuestion } from "@model/questionTypes/shared"; import { useGetSettings } from "../../utils/hooks/useGetSettings"; export const ViewPage = () => { const { settings, cnt, items } = useQuestionsStore() const [visualStartPage, setVisualStartPage] = useState(); useEffect(() => { async function get() { const data = await relaseApi.get("c1ee11d2-ed5a-47d1-b500-bda6fd442114") //@ts-ignore const settings = data.settings console.log(data) const parseData = { settings: { fp: settings.fp, rep: settings.rep, name: settings.name, cfg: JSON.parse(settings?.cfg), lim: settings.lim, due: settings.due, delay: settings.delay, pausable: settings.pausable }, //@ts-ignore items: data.items.map((item) => { const content = JSON.parse(item.c) return { description: item.desc, id: item.id, page: item.p, required: item.req, title: item.title, type: item.typ, content } }), //@ts-ignore cnt: data.cnt } console.log(parseData) useQuestionsStore.setState(parseData) } get() },[]) useEffect(() => { if (Object.values(settings).length > 0) { console.log(settings) const link = document.querySelector('link[rel="icon"]'); if (link && settings?.cfg.startpage.favIcon) { link.setAttribute("href", settings?.cfg.startpage.favIcon); } setVisualStartPage(!settings?.cfg.noStartPage);} }, [settings]); console.log(items) const filteredQuestions = ( items.filter(({ type }) => type) as AnyTypedQuizQuestion[] ).sort((previousItem, item) => previousItem.page - item.page); console.log(filteredQuestions) if (visualStartPage === undefined) return ; if (cnt === 0) return return ( { visualStartPage ? : } ); };