add quiz not activated message

This commit is contained in:
nflnkr 2024-04-08 14:00:02 +03:00
parent c718bd1624
commit 30981928dd
4 changed files with 16 additions and 7 deletions

@ -55,7 +55,7 @@ export const publicationMakeRequest = ({ url, body }: any) => {
export async function getData(quizId: string): Promise<{
data: GetQuizDataResponse | null;
isRecentlyCompleted: boolean;
error?: string;
error?: any;
}> {
try {
const { data, headers } = await axios<GetQuizDataResponse>(
@ -93,7 +93,7 @@ export async function getData(quizId: string): Promise<{
} catch (nativeError) {
const error = nativeError as AxiosError;
return { data: null, isRecentlyCompleted: false, error: error.message };
return { data: null, isRecentlyCompleted: false, error: error };
}
}
@ -102,7 +102,7 @@ export async function getQuizData(quizId: string) {
const quizDataResponse = response.data;
if (response.error) {
throw new Error(response.error);
throw response.error;
}
if (!quizDataResponse) {
throw new Error("Quiz not found");

@ -57,8 +57,16 @@ export default function QuizAnswerer({ quizSettings, quizId, preview = false, ch
};
}, []);
if (isLoading) return <LoadingSkeleton />;
if (error) return <ApologyPage error={error} />;
if (isLoading) return (
<ThemeProvider theme={lightTheme}>
<LoadingSkeleton />
</ThemeProvider>
);
if (error) return (
<ThemeProvider theme={lightTheme}>
<ApologyPage error={error} />
</ThemeProvider>
);
quizSettings ??= data;
if (!quizSettings) throw new Error("Quiz data is null");

@ -5,7 +5,8 @@ type Props = Partial<FallbackProps>;
export const ApologyPage = ({ error }: Props) => {
let message = "Что-то пошло не так";
if (error.response.data === "quiz is inactive") message = "Квиз не активирован";
if (error.message === "No questions found") message = "Нет созданных вопросов";
if (error.message === "Quiz already completed") message = "Вы уже прошли этот опрос";

@ -1,6 +1,6 @@
{
"name": "@frontend/squzanswerer",
"version": "1.0.19",
"version": "1.0.20",
"type": "module",
"main": "./dist-package/index.js",
"module": "./dist-package/index.js",