diff --git a/src/components/Exercises/Writing.tsx b/src/components/Exercises/Writing.tsx index 34c13576..ee4481b8 100644 --- a/src/components/Exercises/Writing.tsx +++ b/src/components/Exercises/Writing.tsx @@ -1,7 +1,7 @@ /* eslint-disable @next/next/no-img-element */ import {WritingExercise} from "@/interfaces/exam"; import {CommonProps} from "."; -import {Fragment, useEffect, useState} from "react"; +import React, {Fragment, useEffect, useRef, useState} from "react"; import {toast} from "react-toastify"; import Button from "../Low/Button"; import {Dialog, Transition} from "@headlessui/react"; @@ -25,6 +25,20 @@ export default function Writing({ const hasExamEnded = useExamStore((state) => state.hasExamEnded); + useEffect(() => { + const listener = (e: KeyboardEvent) => { + if ((e.ctrlKey || e.metaKey) && e.key === "v") { + e.preventDefault(); + } + }; + + document.addEventListener("keydown", listener); + + return () => { + document.removeEventListener("keydown", listener); + }; + }, []); + useEffect(() => { if (hasExamEnded) onNext({exercise: id, solutions: [{id, solution: inputText}], score: {correct: 1, total: 1, missing: 0}, type}); // eslint-disable-next-line react-hooks/exhaustive-deps @@ -80,11 +94,11 @@ export default function Writing({