import React, { FC, ReactChildren, useCallback, ChangeEventHandler, DragEventHandler } from 'react'; import { SortableContainer, SortableElement } from 'react-sortable-hoc'; import * as styles from './styles.scss'; import { ImageUpload } from '~/components/upload/ImageUpload'; import { IFile } from '~/redux/types'; import { IUploadStatus } from '~/redux/uploads/reducer'; import { ImageUploadButton } from '~/components/editors/ImageUploadButton'; interface IProps { items: IFile[]; locked: IUploadStatus[]; onFileMove: (o: number, n: number) => void; onUpload?: ChangeEventHandler; onDrop: DragEventHandler; }; const SortableItem = SortableElement(({ children }) =>
{children}
); const SortableList = SortableContainer(({ items, locked, onUpload, onDrop }: { items: IFile[]; locked: IUploadStatus[]; onUpload: ChangeEventHandler; onDrop: DragEventHandler }) => { return (
{ items.map((file, index) => ( )) } { locked.map((item, index) => ( )) } ); }); const ImageGrid: FC = ({ items, locked, onFileMove, onUpload, onDrop, }) => { const onMove = useCallback(({ oldIndex, newIndex }) => onFileMove(oldIndex, newIndex), [onFileMove]); return ( ) } export { ImageGrid };