import React, { Suspense, useContext, useEffect, useMemo } from "react"; import { HolderOutlined } from "@ant-design/icons"; import type { DragEndEvent } from "@dnd-kit/core"; import { DndContext } from "@dnd-kit/core"; import type { SyntheticListenerMap } from "@dnd-kit/core/dist/hooks/utilities"; import { restrictToVerticalAxis } from "@dnd-kit/modifiers"; import { arrayMove, SortableContext, useSortable, verticalListSortingStrategy, } from "@dnd-kit/sortable"; import { CSS } from "@dnd-kit/utilities"; import { Button, Table } from "antd"; import { useParams } from "react-router-dom"; import { ParamsEnum } from "../../../enums/params"; import { useGetAllLesson, useUpdateLessonOrder } from "../../../api/lesson"; const NotFoundLottie = React.lazy( () => import("../../../Components/Lottie/NotFound/NotFoundLottie"), ); const LoadingLottie = React.lazy( () => import("../../../Components/Lottie/Loading/LoadingLottie"), ); import { useTranslation } from "react-i18next"; import { useColumns } from "./useTableColumns"; import { useFilterState } from "../../../Components/Utils/Filter/FilterState"; interface DataType { id: string; // Unique identifier for each row order: number; name: string; age: number; address: string; } interface RowContextProps { setActivatorNodeRef?: (element: HTMLElement | null) => void; listeners?: SyntheticListenerMap; } const RowContext = React.createContext({}); export const DragHandleLesson: React.FC = () => { const { setActivatorNodeRef, listeners } = useContext(RowContext); return (