diff --git a/src/App.tsx b/src/App.tsx
index d1323fc0..a3b69afd 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -19,6 +19,7 @@ import EditPage from "./pages/startPage/EditPage";
import { clearAuthToken, getMessageFromFetchError, useUserFetcher } from "@frontend/kitui";
import { clearUserData, setUser, useUserStore } from "@root/user";
import { enqueueSnackbar } from "notistack";
+import PrivateRoute from "@ui_kit/PrivateRoute";
dayjs.locale("ru");
@@ -34,8 +35,8 @@ const routeslink = [
export default function App() {
const userId = useUserStore((state) => state.userId);
- const location = useLocation()
- const navigate = useNavigate()
+ const location = useLocation();
+ const navigate = useNavigate();
useUserFetcher({
url: `https://hub.pena.digital/user/${userId}`,
@@ -50,8 +51,8 @@ export default function App() {
}
},
});
- if (location.state?.redirectTo)
- return
+ if (location.state?.redirectTo)
+ return ;
return (
<>
@@ -62,19 +63,19 @@ export default function App() {
} />
)}
-
- {routeslink.map((e, i) => (
- } />
- ))}
- } />
- } />
} />
- } />
- } />/>
-
- } />
+ } />
+ } />
+ }>
+ {routeslink.map((e, i) => (
+ } />
+ ))}
+ } />
+ } />
+ } />
+
>
);
-}
+}
\ No newline at end of file
diff --git a/src/pages/Questions/AnswerDraggableList/AnswerItem.tsx b/src/pages/Questions/AnswerDraggableList/AnswerItem.tsx
index 467132ab..8eca8d32 100644
--- a/src/pages/Questions/AnswerDraggableList/AnswerItem.tsx
+++ b/src/pages/Questions/AnswerDraggableList/AnswerItem.tsx
@@ -77,7 +77,7 @@ export const AnswerItem = ({
placeholder={"Добавьте ответ"}
multiline={largeCheck}
onChange={({ target }) => {
- setQuestionVariantAnswer(target.value);
+ setQuestionVariantAnswer(target.value || " ");
}}
onKeyDown={(event: KeyboardEvent) => {
if (event.code === "Enter" && !largeCheck) {
@@ -124,7 +124,7 @@ export const AnswerItem = ({
style={{ margin: "10px" }}
placeholder="Подсказка для этого ответа"
value={variant.hints}
- onChange={e => setQuestionVariantAnswer(e.target.value)}
+ onChange={e => setQuestionVariantAnswer(e.target.value || " ")}
onKeyDown={(
event: KeyboardEvent
) => event.stopPropagation()}
diff --git a/src/pages/Questions/BranchingMap/CsComponent.tsx b/src/pages/Questions/BranchingMap/CsComponent.tsx
index f38ab54c..04817d41 100644
--- a/src/pages/Questions/BranchingMap/CsComponent.tsx
+++ b/src/pages/Questions/BranchingMap/CsComponent.tsx
@@ -7,7 +7,8 @@ import { useCurrentQuiz } from "@root/quizes/hooks";
import { updateRootContentId } from "@root/quizes/actions"
import { AnyTypedQuizQuestion } from "@model/questionTypes/shared"
import { useQuestionsStore } from "@root/questions/store";
-import { deleteQuestion, updateQuestion, updateOpenedModalSettingsId, getQuestionByContentId, clearRuleForAll } from "@root/questions/actions";
+import { deleteQuestion, updateQuestion, getQuestionByContentId, clearRuleForAll } from "@root/questions/actions";
+import { updateOpenedModalSettingsId, } from "@root/uiTools/actions";
import { cleardragQuestionContentId } from "@root/uiTools/actions";
import { withErrorBoundary } from "react-error-boundary";
@@ -660,6 +661,7 @@ let gearsPopper = null
gearElement.style.zIndex = "1"
gearsContainer.current?.appendChild(gearElement);
gearElement.addEventListener("mouseup", (e) => {
+ console.log("up")
updateOpenedModalSettingsId(item.id())
});
@@ -811,7 +813,7 @@ let gearsPopper = null
}}
autoungrabify={true}
/>
-
diff --git a/src/pages/ViewPublicationPage/index.tsx b/src/pages/ViewPublicationPage/index.tsx
index 6642dce5..bfb86530 100644
--- a/src/pages/ViewPublicationPage/index.tsx
+++ b/src/pages/ViewPublicationPage/index.tsx
@@ -25,17 +25,17 @@ export const ViewPage = () => {
useEffect(() => {
const getData = async () => {
- const quizes = await quizApi.getList()
- setQuizes(quizes)
+ const quizes = await quizApi.getList()
+ setQuizes(quizes)
- const questions = await questionApi.getList({ quiz_id: editQuizId })
- setQuestions(questions)
+ const questions = await questionApi.getList({ quiz_id: editQuizId })
+ setQuestions(questions)
}
getData()
-}, [])
-useEffect(() => {
+ }, [])
+ useEffect(() => {
setVisualStartPage(quiz?.config.noStartPage)
-}, [questions])
+ }, [questions])
const [visualStartPage, setVisualStartPage] = useState();
@@ -56,8 +56,8 @@ useEffect(() => {
if (visualStartPage === undefined) return <>>
return (
- {visualStartPage ? (
-
+ {!visualStartPage ? (
+
) : (
)}
diff --git a/src/pages/createQuize/QuizCard.tsx b/src/pages/createQuize/QuizCard.tsx
index 352470a5..f0d4c7ff 100755
--- a/src/pages/createQuize/QuizCard.tsx
+++ b/src/pages/createQuize/QuizCard.tsx
@@ -156,7 +156,7 @@ export default function QuizCard({
anchorOrigin={{ vertical: "top", horizontal: "right" }}
>
setSubMenuOpen(false)}>
- {}}
>
Копировать
-
+ */}
q.id === questionId);
if (!question) return;
if (question.type === null || question.type === "result") {
- deleteFn(questionId);
+ queueMicrotask(() => deleteFn(questionId));
return;
}
@@ -479,7 +479,6 @@ export const getQuestionByContentId = (questionContentId: string | null) => {
}) || null;
};
-export const updateOpenedModalSettingsId = (id?: string) => useUiTools.setState({ openedModalSettingsId: id ? id : null });
export const clearRuleForAll = () => {
diff --git a/src/stores/uiTools/actions.ts b/src/stores/uiTools/actions.ts
index 38959abd..03c2a534 100644
--- a/src/stores/uiTools/actions.ts
+++ b/src/stores/uiTools/actions.ts
@@ -28,4 +28,7 @@ export const clearDesireToOpenABranchingModal = () => {
export const updateEditSomeQuestion = (contentId?: string) => {
useUiTools.setState({ editSomeQuestion: contentId === undefined ? null : contentId });
-};
\ No newline at end of file
+};
+
+
+export const updateOpenedModalSettingsId = (id?: string) => useUiTools.setState({ openedModalSettingsId: id ? id : null });
\ No newline at end of file
diff --git a/src/ui_kit/PrivateRoute.tsx b/src/ui_kit/PrivateRoute.tsx
new file mode 100644
index 00000000..b42f735a
--- /dev/null
+++ b/src/ui_kit/PrivateRoute.tsx
@@ -0,0 +1,9 @@
+import { useUserStore } from "@root/user";
+import { Navigate, Outlet } from "react-router-dom"
+
+
+export default function PrivateRoute() {
+ const user = useUserStore(state => state.user)
+
+ return user ? :
+}