diff --git a/src/components/editors/ImageGrid/index.tsx b/src/components/editors/ImageGrid/index.tsx
index 2c976763..0ead0f6c 100644
--- a/src/components/editors/ImageGrid/index.tsx
+++ b/src/components/editors/ImageGrid/index.tsx
@@ -1,15 +1,12 @@
import React, { FC, useCallback } from 'react';
-import { SortableContainer, SortableElement, SortEvent, SortEnd } from 'react-sortable-hoc';
+import { SortEnd } from 'react-sortable-hoc';
import * as styles from './styles.scss';
-import { ImageUpload } from '~/components/upload/ImageUpload';
import { IFile, INode } from '~/redux/types';
import { IUploadStatus } from '~/redux/uploads/reducer';
-import { getURL } from '~/utils/dom';
import assocPath from 'ramda/es/assocPath';
import { moveArrItem } from '~/utils/fn';
-import omit from 'ramda/es/omit';
-import remove from 'ramda/es/remove';
import reject from 'ramda/es/reject';
+import { SortableImageGrid } from '~/components/editors/SortableImageGrid';
interface IProps {
data: INode;
@@ -17,38 +14,6 @@ interface IProps {
locked: IUploadStatus[];
}
-const SortableImageGridItem = SortableElement(({ children }) => (
-
{children}
-));
-
-const SortableImageGrid = SortableContainer(
- ({
- items,
- locked,
- onDrop,
- }: {
- items: IFile[];
- locked: IUploadStatus[];
- onDrop: (file_id: IFile['id']) => void;
- }) => (
-
- {items
- .filter(file => file && file.id)
- .map((file, index) => (
-
-
-
- ))}
-
- {locked.map((item, index) => (
-
-
-
- ))}
-
- )
-);
-
const ImageGrid: FC = ({ data, setData, locked }) => {
const onMove = useCallback(
({ oldIndex, newIndex }: SortEnd) => {
diff --git a/src/components/editors/ImageGrid/styles.scss b/src/components/editors/ImageGrid/styles.scss
index 18c1d269..7ab40804 100644
--- a/src/components/editors/ImageGrid/styles.scss
+++ b/src/components/editors/ImageGrid/styles.scss
@@ -1,30 +1,4 @@
-.grid {
- min-height: 200px;
- padding-bottom: 62px;
- box-sizing: border-box;
-
- display: grid;
- grid-column-gap: $gap;
- grid-row-gap: $gap;
- grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
-
- // display: flex;
- // flex-wrap: wrap;
- @media (max-width: 600px) {
- grid-template-columns: repeat(auto-fill, minmax(30vw, 1fr));
- }
-}
-
-.item {
- // flex: 0 4 25%;
- // width: 25%;
- // float: left;
- // padding: $gap / 2;
- z-index: 1;
- box-sizing: border-box;
-}
-
.helper {
opacity: 0.5;
- z-index: 10;
+ z-index: 10 !important;
}
diff --git a/src/components/editors/SortableImageGrid/index.tsx b/src/components/editors/SortableImageGrid/index.tsx
new file mode 100644
index 00000000..26fdd309
--- /dev/null
+++ b/src/components/editors/SortableImageGrid/index.tsx
@@ -0,0 +1,38 @@
+import React from 'react';
+import { SortableContainer } from 'react-sortable-hoc';
+import { ImageUpload } from '~/components/upload/ImageUpload';
+import * as styles from './styles.scss';
+import { SortableImageGridItem } from '~/components/editors/SortableImageGridItem';
+import { IFile } from '~/redux/types';
+import { IUploadStatus } from '~/redux/uploads/reducer';
+import { getURL } from '~/utils/dom';
+
+const SortableImageGrid = SortableContainer(
+ ({
+ items,
+ locked,
+ onDrop,
+ }: {
+ items: IFile[];
+ locked: IUploadStatus[];
+ onDrop: (file_id: IFile['id']) => void;
+ }) => (
+
+ {items
+ .filter(file => file && file.id)
+ .map((file, index) => (
+
+
+
+ ))}
+
+ {locked.map((item, index) => (
+
+
+
+ ))}
+
+ )
+);
+
+export { SortableImageGrid };
diff --git a/src/components/editors/SortableImageGrid/styles.scss b/src/components/editors/SortableImageGrid/styles.scss
new file mode 100644
index 00000000..c525238b
--- /dev/null
+++ b/src/components/editors/SortableImageGrid/styles.scss
@@ -0,0 +1,14 @@
+.grid {
+ min-height: 200px;
+ padding-bottom: 62px;
+ box-sizing: border-box;
+
+ display: grid;
+ grid-column-gap: $gap;
+ grid-row-gap: $gap;
+ grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
+
+ @media (max-width: 600px) {
+ grid-template-columns: repeat(auto-fill, minmax(30vw, 1fr));
+ }
+}
diff --git a/src/components/editors/SortableImageGridItem/index.tsx b/src/components/editors/SortableImageGridItem/index.tsx
new file mode 100644
index 00000000..6fb94e6e
--- /dev/null
+++ b/src/components/editors/SortableImageGridItem/index.tsx
@@ -0,0 +1,10 @@
+import React from 'react';
+import { SortableElement } from 'react-sortable-hoc';
+
+import * as styles from './styles.scss';
+
+const SortableImageGridItem = SortableElement(({ children }) => (
+ {children}
+));
+
+export { SortableImageGridItem };
diff --git a/src/components/editors/SortableImageGridItem/styles.scss b/src/components/editors/SortableImageGridItem/styles.scss
new file mode 100644
index 00000000..81fd01cb
--- /dev/null
+++ b/src/components/editors/SortableImageGridItem/styles.scss
@@ -0,0 +1,4 @@
+.item {
+ z-index: 1;
+ box-sizing: border-box;
+}