From b671a85505614f048a6a99967b6ab65b11b33184 Mon Sep 17 00:00:00 2001 From: Nastya Date: Mon, 7 Jul 2025 03:28:51 +0300 Subject: [PATCH] =?UTF-8?q?=D0=BE=D0=B1=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=BF=D1=83=D1=81=D1=82=D1=8B=D1=88=D0=B5=D0=BA?= =?UTF-8?q?=20=D0=B2=20=D0=B2=D0=BE=D0=BF=D1=80=D0=BE=D1=81=D0=B0=D1=85=20?= =?UTF-8?q?=D0=90=D0=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/api/hooks.ts | 11 ++++++++-- lib/api/quizRelase.ts | 4 +++- lib/model/api/getQuizData.ts | 20 +++++++++++++++++-- lib/utils/defineDomain.ts | 1 + lib/utils/hooks/FlowControlLogic/useAIQuiz.ts | 2 ++ 5 files changed, 33 insertions(+), 5 deletions(-) diff --git a/lib/api/hooks.ts b/lib/api/hooks.ts index 46f124d..41341f6 100644 --- a/lib/api/hooks.ts +++ b/lib/api/hooks.ts @@ -2,7 +2,7 @@ import useSWR from "swr"; import { getAndParceData } from "./quizRelase"; import { useEffect, useState } from "react"; import { initDataManager, statusOfQuiz } from "@/utils/hooks/useQuestionFlowControl"; -import { addQuestions, setQuizData, useQuizStore } from "@/stores/useQuizStore"; +import { addQuestions, changeNextLoading, setQuizData, useQuizStore } from "@/stores/useQuizStore"; /* У хука есть три режмиа работы: "line" | "branch" | "ai" @@ -74,10 +74,17 @@ export function useQuizData(quizId: string, preview: boolean = false) { limit: 1, needConfig: false, }); + console.log( + "AI RESPONSE AI RESPONSE AI RESPONSE AI RESPONSE AI RESPONSE AI RESPONSE AI RESPONSE AI RESPONSE AI RESPONSE AI RESPONSE AI RESPONSE AI RESPONSE AI RESPONSE AI RESPONSE AI RESPONSE AI RESPONSE AI RESPONSE AI RESPONSE AI RESPONSE AI RESPONSE AI RESPONSE AI RESPONSE AI RESPONSE AI RESPONSE AI RESPONSE AI RESPONSE AI RESPONSE AI RESPONSE AI RESPONSE AI RESPONSE " + ); + console.log(data); addQuestions(data.questions); + changeNextLoading(false); return data; - } catch (_) { + } catch (p) { + console.log(p); setPage(questions.length); + changeNextLoading(false); } } }, diff --git a/lib/api/quizRelase.ts b/lib/api/quizRelase.ts index b71883b..1101644 100644 --- a/lib/api/quizRelase.ts +++ b/lib/api/quizRelase.ts @@ -168,8 +168,10 @@ export async function getAndParceData(props: GetDataProps) { } //Парсим строки в строках + console.log("до парса_______________________"); const quizSettings = replaceSpacesToEmptyLines(parseQuizData(quizDataResponse)); - + console.log("после парса_______________________"); + console.log(quizSettings); //Единоразово стрингифаим ВСЁ распаршенное и удаляем лишние пробелы const res = JSON.parse( JSON.stringify({ data: quizSettings }) diff --git a/lib/model/api/getQuizData.ts b/lib/model/api/getQuizData.ts index c701641..5ebf629 100644 --- a/lib/model/api/getQuizData.ts +++ b/lib/model/api/getQuizData.ts @@ -27,6 +27,7 @@ export interface GetQuizDataResponse { } export function parseQuizData(quizDataResponse: GetQuizDataResponse): Omit { + console.log(quizDataResponse); const readyData = { cnt: quizDataResponse.cnt, show_badge: quizDataResponse.show_badge, @@ -35,8 +36,22 @@ export function parseQuizData(quizDataResponse: GetQuizDataResponse): Omit { - const content = JSON.parse(item.c); - + const content = item.c + ? JSON.parse(item.c) + : { + hint: { text: "", video: "" }, + rule: { children: [], main: [], parentId: "", default: "" }, + back: "", + originalBack: "", + autofill: false, + placeholder: "", + innerNameCheck: false, + innerName: "", + required: false, + answerType: "single", + onlyNumbers: false, + }; + if (item.c) content.id = Math.floor(Math.random() * 9999999999) + 1; return { description: item.desc, id: item.id, @@ -51,6 +66,7 @@ export function parseQuizData(quizDataResponse: GetQuizDataResponse): Omit { if (currentQuestion.type === "result") showResult(); if (currentQuestion) changeNextLoading(false); + console.log("questions"); + console.log(questions); }, [currentQuestion, questions]); //Показать визуалом юзеру результат