import { Box } from "@mui/material"; import { DragDropContext, Droppable } from "react-beautiful-dnd"; import DraggableListItem from "./DraggableListItem"; import type { DropResult } from "react-beautiful-dnd"; import { useCurrentQuiz } from "@root/quizes/hooks"; import { useQuestionArray } from "@root/questions/hooks"; import useSWR from "swr"; import { questionApi } from "@api/question"; import { setQuestions } from "@root/questions/actions"; import { isAxiosError } from "axios"; import { devlog } from "@frontend/kitui"; import { enqueueSnackbar } from "notistack"; export const DraggableList = () => { const { quiz } = useCurrentQuiz(); useSWR(["questions", quiz?.id], ([, id]) => questionApi.getList({ quiz_id: id }), { onSuccess: setQuestions, onError: error => { const message = isAxiosError(error) ? (error.response?.data ?? "") : ""; devlog("Error getting question list", error); enqueueSnackbar(`Не удалось получить вопросы. ${message}`); } }); const questions = useQuestionArray(); const onDragEnd = ({ destination, source }: DropResult) => { // TODO // if (destination) { // const newItems = reorder( // listQuestions[quizId], // source.index, // destination.index // ); // updateQuestionsListDragAndDrop(quizId, newItems); // } }; return ( {(provided, snapshot) => ( {questions.map((question, index) => ( ))} {provided.placeholder} )} ); };