From 5526a577b32e611983052d2c84a89211748eeef4 Mon Sep 17 00:00:00 2001 From: Pedro Pupo Sa da Costa Date: Thu, 8 Feb 2024 00:55:45 +0000 Subject: [PATCH] feat: fix all type errors --- .../questions/editor/[questionId].page.tsx | 14 +- .../questions/hooks/use-question-editor.tsx | 3 +- .../question-editor-diff-tool.tsx | 20 +-- .../question-editor-explanation.tsx | 32 +++-- .../question-editor-related-questions.tsx | 127 ++++++++---------- .../question-editor-variant.tsx | 8 +- 6 files changed, 101 insertions(+), 103 deletions(-) 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 ( -