From 58a8fdb25edc974641b739babd724d78de3c3e86 Mon Sep 17 00:00:00 2001 From: Nastya Date: Tue, 22 Apr 2025 22:29:34 +0300 Subject: [PATCH] hide ai --- lib/api/hooks.ts | 4 ++-- lib/api/quizRelase.ts | 11 +++++++---- lib/components/ViewPublicationPage/Footer.tsx | 2 +- lib/model/api/getQuizData.ts | 2 ++ lib/model/settingsData.ts | 1 + lib/utils/hooks/useQuestionFlowControl.ts | 3 ++- 6 files changed, 15 insertions(+), 8 deletions(-) diff --git a/lib/api/hooks.ts b/lib/api/hooks.ts index e54c8c1..d530210 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, preview: boolean = false) { - return useSWR(preview ? null : ["quizData", quizId], (params) => getQuizData(params[1]), { +export function useQuizData(quizId: string, preview: boolean = false, isAi: boolean = false) { + return useSWR(preview ? null : ["quizData", quizId], (params) => getQuizData(params[1], isAi), { revalidateOnFocus: false, revalidateOnReconnect: false, shouldRetryOnError: false, diff --git a/lib/api/quizRelase.ts b/lib/api/quizRelase.ts index e8ba0ca..860e47b 100644 --- a/lib/api/quizRelase.ts +++ b/lib/api/quizRelase.ts @@ -72,7 +72,10 @@ export const publicationMakeRequest = ({ url, body }: PublicationMakeRequestPara }); }; -export async function getData(quizId: string): Promise<{ +export async function getData( + quizId: string, + isAi: boolean +): Promise<{ data: GetQuizDataResponse | null; isRecentlyCompleted: boolean; error?: AxiosError; @@ -92,7 +95,7 @@ export async function getData(quizId: string): Promise<{ }, data: { quiz_id: quizId, - limit: 100, + limit: isAi ? 1 : 100, page: 0, need_config: true, }, @@ -118,10 +121,10 @@ export async function getData(quizId: string): Promise<{ } } -export async function getQuizData(quizId: string) { +export async function getQuizData(quizId: string, isAi: boolean) { if (!quizId) throw new Error("No quiz id"); - const response = await getData(quizId); + const response = await getData(quizId, isAi); const quizDataResponse = response.data; if (response.error) { diff --git a/lib/components/ViewPublicationPage/Footer.tsx b/lib/components/ViewPublicationPage/Footer.tsx index f9c41e3..c2be2c6 100644 --- a/lib/components/ViewPublicationPage/Footer.tsx +++ b/lib/components/ViewPublicationPage/Footer.tsx @@ -38,7 +38,7 @@ export const Footer = ({ stepNumber, nextButton, prevButton }: FooterProps) => { gap: "10px", }} > - {stepNumber !== null && ( + {stepNumber !== null && settings.status !== "ai" && ( Вопрос {stepNumber} из {questionsAmount} diff --git a/lib/model/api/getQuizData.ts b/lib/model/api/getQuizData.ts index 21f685c..384ef1b 100644 --- a/lib/model/api/getQuizData.ts +++ b/lib/model/api/getQuizData.ts @@ -12,6 +12,7 @@ export interface GetQuizDataResponse { due: number; delay: number; pausable: boolean; + status: "start" | "stop" | "ai"; }; items: { id: number; @@ -49,6 +50,7 @@ export function parseQuizData(quizDataResponse: GetQuizDataResponse): Omit