diff --git a/lib/api/hooks.ts b/lib/api/hooks.ts index 633b773..e54c8c1 100644 --- a/lib/api/hooks.ts +++ b/lib/api/hooks.ts @@ -1,8 +1,8 @@ import useSWR from "swr"; import { getQuizData } from "./quizRelase"; -export function useQuizData(quizId: string) { - return useSWR(["quizData", quizId], (params) => getQuizData(params[1]), { +export function useQuizData(quizId: string, preview: boolean = false) { + return useSWR(preview ? null : ["quizData", quizId], (params) => getQuizData(params[1]), { revalidateOnFocus: false, revalidateOnReconnect: false, shouldRetryOnError: false, diff --git a/lib/components/QuizAnswerer.tsx b/lib/components/QuizAnswerer.tsx index d632a8b..4328b76 100644 --- a/lib/components/QuizAnswerer.tsx +++ b/lib/components/QuizAnswerer.tsx @@ -43,7 +43,7 @@ function QuizAnswererInner({ const [quizViewStore] = useState(createQuizViewStore); const [rootContainerWidth, setRootContainerWidth] = useState(() => window.innerWidth); const rootContainerRef = useRef(null); - const { data, error, isLoading } = useQuizData(quizId); + const { data, error, isLoading } = useQuizData(quizId, preview); const vkMetrics = useVkMetricsGoals(quizSettings?.settings.cfg.vkMetricsNumber); const yandexMetrics = useYandexMetricsGoals(quizSettings?.settings.cfg.yandexMetricsNumber); @@ -74,10 +74,10 @@ function QuizAnswererInner({ if (isLoading) return ; if (error) return ; - if (!data) return ; + // if (!data) return ; quizSettings ??= data; - if (!quizSettings) throw new Error("Quiz data is null"); + if (!quizSettings) return ; if (quizSettings.questions.length === 0) return ; if (!quizId) return ; diff --git a/lib/components/ViewPublicationPage/ApologyPage.tsx b/lib/components/ViewPublicationPage/ApologyPage.tsx index a7c3e6b..8633053 100644 --- a/lib/components/ViewPublicationPage/ApologyPage.tsx +++ b/lib/components/ViewPublicationPage/ApologyPage.tsx @@ -10,6 +10,7 @@ export const ApologyPage = ({ error }: Props) => { if (error.message === "No questions found") message = "Нет созданных вопросов"; if (error.message === "Quiz already completed") message = "Вы уже прошли этот опрос"; if (error.message === "No quiz id") message = "Отсутствует id квиза"; + if (error.message === "Quiz data is null") message = "Не были переданы параметры квиза"; if (error.response?.data === "Invalid request data") message = "Такого квиза не существует"; return ( diff --git a/lib/components/ViewPublicationPage/ViewPublicationPage.tsx b/lib/components/ViewPublicationPage/ViewPublicationPage.tsx index b4c22cd..8bf9e27 100644 --- a/lib/components/ViewPublicationPage/ViewPublicationPage.tsx +++ b/lib/components/ViewPublicationPage/ViewPublicationPage.tsx @@ -34,8 +34,8 @@ export default function ViewPublicationPage() { showResultAfterContactForm, setQuestion, } = useQuestionFlowControl(); - useYandexMetrics(settings?.cfg?.yandexMetricsNumber); - useVKMetrics(settings?.cfg?.vkMetricsNumber); + // useYandexMetrics(settings?.cfg?.yandexMetricsNumber); + // useVKMetrics(settings?.cfg?.vkMetricsNumber); useEffect( function setFaviconAndTitle() {