Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | import React from "react"; import { useDrop } from "react-dnd"; import { StyledListDropzone, StyledListWithDropzoneWrapper, } from "ui/lists/style"; export const createFlatListOuterDropTarget = <T,>( acceptTypes: string[], onDrop: (item: T) => void, ) => { const Outer = React.forwardRef< HTMLDivElement, React.HTMLAttributes<HTMLDivElement> >((props, ref) => { const [{ isOver }, drop] = useDrop({ accept: acceptTypes, drop: (item: T, monitor) => { Iif (monitor.didDrop()) return; onDrop(item); }, collect: (monitor) => ({ isOver: monitor.isOver({ shallow: true }), }), }); return ( <StyledListWithDropzoneWrapper {...props} ref={ref}> {props.children} <StyledListDropzone ref={drop} $isOver={isOver} /> </StyledListWithDropzoneWrapper> ); }); return Outer; }; |