diff --git a/src/client/components/ComicDetail.tsx b/src/client/components/ComicDetail.tsx index 1290e7d..d521dac 100644 --- a/src/client/components/ComicDetail.tsx +++ b/src/client/components/ComicDetail.tsx @@ -21,24 +21,24 @@ import dayjs from "dayjs"; const prettyBytes = require("pretty-bytes"); // https://codesandbox.io/s/dndkit-sortable-image-grid-py6ve?file=/src/Grid.jsx import { - closestCenter, DndContext, - DragOverlay, - KeyboardSensor, - PointerSensor, + closestCenter, + MouseSensor, TouchSensor, + DragOverlay, useSensor, useSensors, } from "@dnd-kit/core"; import { arrayMove, SortableContext, - sortableKeyboardCoordinates, - verticalListSortingStrategy, + rectSortingStrategy, } from "@dnd-kit/sortable"; -import { SortableItem } from "./SortableItem"; -import { Item } from "./Item"; +import { Grid } from "./Grid"; +import { SortableCover } from "./SortableCover"; +import { Cover } from "./Cover"; +import photos from "./photos.json"; import { useDispatch, useSelector } from "react-redux"; import { @@ -62,15 +62,9 @@ export const ComicDetail = ({}: ComicDetailProps): ReactElement => { const [visible, setVisible] = useState(false); const [slidingPanelContentId, setSlidingPanelContentId] = useState(""); + const [items, setItems] = useState(photos); const [activeId, setActiveId] = useState(null); - const [items, setItems] = useState(["1", "2", "3"]); - const sensors = useSensors( - useSensor(PointerSensor), - useSensor(KeyboardSensor, { - coordinateGetter: sortableKeyboardCoordinates, - }), - useSensor(TouchSensor), - ); + const sensors = useSensors(useSensor(MouseSensor), useSensor(TouchSensor)); const comicVineSearchResults = useSelector( (state: RootState) => state.comicInfo.searchResults, @@ -165,9 +159,7 @@ export const ComicDetail = ({}: ComicDetailProps): ReactElement => { }; function handleDragStart(event) { - const { active } = event; - - setActiveId(active.id); + setActiveId(event.active.id); } function handleDragEnd(event) { @@ -181,7 +173,11 @@ export const ComicDetail = ({}: ComicDetailProps): ReactElement => { return arrayMove(items, oldIndex, newIndex); }); } + console.log(items); + setActiveId(null); + } + function handleDragCancel() { setActiveId(null); } @@ -266,7 +262,31 @@ export const ComicDetail = ({}: ComicDetailProps): ReactElement => { id: 2, icon: , name: "Archive Operations", - content:
, + content: ( +