Spaces:
Sleeping
Sleeping
File size: 1,096 Bytes
f85b485 6f7ef5c f85b485 6f7ef5c f85b485 6f7ef5c aa120c6 6f7ef5c b53bf4f f85b485 6f7ef5c aa120c6 6f7ef5c | 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 | import { useState } from 'react';
import Item from './Item';
const ItemCollection = ({ items = [], drag, imgArr = [], onDelete, allowDrop, drop }) => {
const [isDraggingOver, setIsDraggingOver] = useState(false);
const handleDragOver = (ev) => {
allowDrop(ev);
setIsDraggingOver(true);
};
const handleDragLeave = () => {
setIsDraggingOver(false);
};
return (
<div
className={`items-not-ranked ${isDraggingOver ? 'drag-over' : ''}`}
onDrop={(ev) => { drop(ev); setIsDraggingOver(false); }}
onDragOver={handleDragOver}
onDragLeave={handleDragLeave}
>
{
Array.isArray(items) ? items.map((item) => (item.ranking === 0)
? <Item key={`item-${item.id}`} item={item} drag={drag}
itemImgObj={{ image: `/api/item/uploads/${item.image_path}` }}
onDelete={onDelete} />
: null)
: null
}
</div>
)
}
export default ItemCollection; |