fix: copy quiz

This commit is contained in:
IlyaDoronin 2024-05-07 16:57:12 +03:00
parent 92eafcfaa3
commit c30966a1ba
2 changed files with 10 additions and 7 deletions

@ -13,6 +13,7 @@ import {
resetEditConfig, resetEditConfig,
updateQuiz, updateQuiz,
} from "@root/quizes/actions"; } from "@root/quizes/actions";
import { mutate } from "swr";
import { useQuizes } from "@root/quizes/hooks"; import { useQuizes } from "@root/quizes/hooks";
import SectionWrapper from "@ui_kit/SectionWrapper"; import SectionWrapper from "@ui_kit/SectionWrapper";
import React from "react"; import React from "react";
@ -32,19 +33,16 @@ export default function MyQuizzesFull({
outerContainerSx: sx, outerContainerSx: sx,
children, children,
}: Props) { }: Props) {
const { quizes, isValidating } = useQuizes(); const { quizes } = useQuizes();
const navigate = useNavigate(); const navigate = useNavigate();
const theme = useTheme(); const theme = useTheme();
const isMobile = useMediaQuery(theme.breakpoints.down(500)); const isMobile = useMediaQuery(theme.breakpoints.down(500));
const onClickCopy = (value: string) => { const onClickCopy = (value: string) => {
copyQuiz(value); copyQuiz(value);
mutate("quizes");
}; };
if (isValidating) {
return <HeaderFull isRequest={false} />;
}
return ( return (
<> <>
<HeaderFull isRequest={false} /> <HeaderFull isRequest={false} />

@ -250,11 +250,16 @@ export const copyQuiz = async (quizId: string) =>
try { try {
const { updated } = await quizApi.copy(quiz.backendId); const { updated } = await quizApi.copy(quiz.backendId);
let newQuiz = { ...quiz, id: updated }; let newQuiz: Quiz = {
...quiz,
id: String(updated),
session_count: 0,
passed_count: 0,
};
setProducedState( setProducedState(
(state) => { (state) => {
state.quizes.unshift(quiz); state.quizes.unshift(newQuiz);
}, },
{ {
type: "addQuiz", type: "addQuiz",