import { noop } from 'lodash' import { useEffect, useState } from 'react' import { Button, Input, Modal } from 'ui' import { FormItemLayout } from 'ui-patterns/form/FormItemLayout/FormItemLayout' import { StorageItemWithColumn } from '../Storage.types' interface MoveItemsModalProps { bucketName: string visible: boolean selectedItemsToMove: StorageItemWithColumn[] onSelectCancel: () => void onSelectMove: (path: string) => void } export const MoveItemsModal = ({ bucketName = '', visible = false, selectedItemsToMove = [], onSelectCancel = noop, onSelectMove = noop, }: MoveItemsModalProps) => { const [moving, setMoving] = useState(false) const [newPath, setNewPath] = useState('') useEffect(() => { setMoving(false) setNewPath('') }, [visible]) const multipleFiles = selectedItemsToMove.length > 1 const title = multipleFiles ? `Moving ${selectedItemsToMove.length} items within ${bucketName}` : selectedItemsToMove.length === 1 ? `Moving ${selectedItemsToMove[0]?.name} within ${bucketName}` : `` const description = `Enter the path to where you'd like to move the file${ multipleFiles ? 's' : '' } to.` const onConfirmMove = (event: any) => { if (event) { event.preventDefault() } setMoving(true) const formattedPath = newPath[0] === '/' ? newPath.slice(1) : newPath onSelectMove(formattedPath) } return ( } >
setNewPath(event.target.value)} />