import { ChoiceItem, DraggableStep, DraggableStepType } from 'models' import { createContext, Dispatch, ReactNode, SetStateAction, useContext, useState, } from 'react' const dndContext = createContext<{ draggedStepType?: DraggableStepType setDraggedStepType: Dispatch> draggedStep?: DraggableStep setDraggedStep: Dispatch> draggedChoiceItem?: ChoiceItem setDraggedChoiceItem: Dispatch> mouseOverBlockId?: string setMouseOverBlockId: Dispatch> // eslint-disable-next-line @typescript-eslint/ban-ts-comment //@ts-ignore }>({}) export const DndContext = ({ children }: { children: ReactNode }) => { const [draggedStep, setDraggedStep] = useState() const [draggedStepType, setDraggedStepType] = useState< DraggableStepType | undefined >() const [draggedChoiceItem, setDraggedChoiceItem] = useState< ChoiceItem | undefined >() const [mouseOverBlockId, setMouseOverBlockId] = useState() return ( {children} ) } export const useDnd = () => useContext(dndContext)