import { MatchSentenceExerciseOption, MatchSentenceExerciseSentence } from "@/interfaces/exam"; import { useDraggable, useDroppable } from "@dnd-kit/core"; import clsx from "clsx"; interface DroppableQuestionAreaProps { question: MatchSentenceExerciseSentence; answer?: string } const DroppableQuestionArea: React.FC = ({ question, answer }) => { const { isOver, setNodeRef } = useDroppable({ id: `droppable_sentence_${question.id}` }); return (
{question.sentence}
{answer && `Paragraph ${answer}`}
); } const DraggableOptionArea: React.FC<{ option: MatchSentenceExerciseOption }> = ({ option }) => { const { attributes, listeners, setNodeRef, transform } = useDraggable({ id: `draggable_option_${option.id}`, }); const style = transform ? { transform: `translate3d(${transform.x}px, ${transform.y}px, 0)`, zIndex: 99, } : undefined; return (
); } export { DroppableQuestionArea, DraggableOptionArea, }