diff --git a/apps/next-app/pages/modules/[questionBank]/questions/editor/[questionId].page.tsx b/apps/next-app/pages/modules/[questionBank]/questions/editor/[questionId].page.tsx index 8d54a5676..1e56c8b26 100644 --- a/apps/next-app/pages/modules/[questionBank]/questions/editor/[questionId].page.tsx +++ b/apps/next-app/pages/modules/[questionBank]/questions/editor/[questionId].page.tsx @@ -81,14 +81,14 @@ const Page: NextPage = ({ questionBank, questionId }) => { Annexes Related - + - + = ({ questionBank, questionId }) => { sx={{ height: "100%" }} /> - + = ({ questionBank, questionId }) => { sx={{ height: "100%" }} /> + + + diff --git a/libs/react/containers/src/questions/hooks/use-question-editor.tsx b/libs/react/containers/src/questions/hooks/use-question-editor.tsx index 89eb59488..43d6d6fcc 100644 --- a/libs/react/containers/src/questions/hooks/use-question-editor.tsx +++ b/libs/react/containers/src/questions/hooks/use-question-editor.tsx @@ -263,7 +263,7 @@ export const useQuestionEditor = create()( ...new Set([ questionAid, questionBid, - ...(get()[questionBank].afterState[questionBid] + ...(get()[questionBank].afterState[questionAid] ?.relatedQuestions ?? []), ...(get()[questionBank].afterState[questionBid] ?.relatedQuestions ?? []), @@ -275,6 +275,7 @@ export const useQuestionEditor = create()( const question = state[questionBank].afterState[id]; if (!question) return; question.relatedQuestions = questionIds.filter((i) => i !== id); + console.log(question.relatedQuestions); }); }); }, diff --git a/libs/react/containers/src/questions/question-editor-diff-tool/question-editor-diff-tool.tsx b/libs/react/containers/src/questions/question-editor-diff-tool/question-editor-diff-tool.tsx index 77550eabd..891c83b57 100644 --- a/libs/react/containers/src/questions/question-editor-diff-tool/question-editor-diff-tool.tsx +++ b/libs/react/containers/src/questions/question-editor-diff-tool/question-editor-diff-tool.tsx @@ -31,17 +31,12 @@ const SearchListItem = memo<{ questionId: QuestionId; questionBank: QuestionBankName; }>(({ questionId, questionBank }) => { - const { - initialState, - currentState, - markQuestionAsDeleted, - undoMarkQuestionAsDeleted, - } = useQuestionEditor((s) => ({ - initialState: s[questionBank].beforeState[questionId], - currentState: s[questionBank].afterState[questionId], - markQuestionAsDeleted: s.markQuestionAsDeleted, - undoMarkQuestionAsDeleted: s.undoMarkQuestionAsDeleted, - })); + const { initialState, currentState, markQuestionAsDeleted } = + useQuestionEditor((s) => ({ + initialState: s[questionBank].beforeState[questionId], + currentState: s[questionBank].afterState[questionId], + markQuestionAsDeleted: s.markQuestionAsDeleted, + })); const initial = { preview: getQuestionPreview(initialState.variant), @@ -175,9 +170,6 @@ const SearchListItem = memo<{ size="sm" variant="plain" color="success" - onClick={() => - undoMarkQuestionAsDeleted({ questionBank, questionId }) - } children={} /> diff --git a/libs/react/containers/src/questions/question-editor-explanation/question-editor-explanation.tsx b/libs/react/containers/src/questions/question-editor-explanation/question-editor-explanation.tsx index 1d87e457e..72a640771 100644 --- a/libs/react/containers/src/questions/question-editor-explanation/question-editor-explanation.tsx +++ b/libs/react/containers/src/questions/question-editor-explanation/question-editor-explanation.tsx @@ -1,5 +1,6 @@ import { useState, useTransition } from "react"; -import { Textarea } from "@mui/joy"; +import { default as Editor } from "@monaco-editor/react"; +import { useColorScheme } from "@mui/joy"; import { container } from "../../wraper"; import { useQuestionEditor } from "../hooks/use-question-editor"; import type { QuestionBankName } from "@chair-flight/core/question-bank"; @@ -20,7 +21,8 @@ type Data = AppRouterOutput["containers"]["questions"]["getQuestionEditorExplanation"]; export const QuestionEditorExplanation = container( - ({ questionId, questionBank, sx }) => { + ({ questionId, questionBank }) => { + const { mode } = useColorScheme(); const { explanation, setQuestionExplanation } = useQuestionEditor((s) => ({ explanation: s[questionBank].afterState[questionId]?.explanation ?? "", setQuestionExplanation: s.setQuestionExplanation, @@ -29,16 +31,26 @@ export const QuestionEditorExplanation = container( const [thisExplanation, setThisExplanation] = useState(explanation); const [, startTransition] = useTransition(); + const updateExplanation = (mdInput: string | undefined = "") => { + setThisExplanation(mdInput); + startTransition(() => + setQuestionExplanation({ + questionBank, + questionId, + explanation: mdInput, + }), + ); + }; + return ( -