Стартовая страница анализирует брать ли для превью запрос или переданные параметры
This commit is contained in:
parent
a4179a46f4
commit
7a10673d8a
@ -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,
|
||||
|
@ -43,7 +43,7 @@ function QuizAnswererInner({
|
||||
const [quizViewStore] = useState(createQuizViewStore);
|
||||
const [rootContainerWidth, setRootContainerWidth] = useState<number>(() => window.innerWidth);
|
||||
const rootContainerRef = useRef<HTMLDivElement>(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 <LoadingSkeleton />;
|
||||
if (error) return <ApologyPage error={error} />;
|
||||
if (!data) return <LoadingSkeleton />;
|
||||
// if (!data) return <LoadingSkeleton />;
|
||||
|
||||
quizSettings ??= data;
|
||||
if (!quizSettings) throw new Error("Quiz data is null");
|
||||
if (!quizSettings) return <ApologyPage error={new Error("Quiz data is null")} />;
|
||||
|
||||
if (quizSettings.questions.length === 0) return <ApologyPage error={new Error("No questions found")} />;
|
||||
if (!quizId) return <ApologyPage error={new Error("No quiz id")} />;
|
||||
|
@ -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 (
|
||||
|
@ -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() {
|
||||
|
Loading…
Reference in New Issue
Block a user