diff --git a/packages/bruno-app/src/components/Help/index.js b/packages/bruno-app/src/components/Help/index.js index ce259712a..f8ff625a5 100644 --- a/packages/bruno-app/src/components/Help/index.js +++ b/packages/bruno-app/src/components/Help/index.js @@ -8,7 +8,37 @@ import React, { useState } from 'react'; import HelpIcon from 'components/Icons/Help'; import StyledWrapper from './StyledWrapper'; -const Help = ({ children, width = 200 }) => { +const getPlacementStyles = (placement) => { + switch (placement) { + case 'top': + return { + bottom: 'calc(100% + 8px)', + left: '50%', + transform: 'translateX(-50%)' + }; + case 'bottom': + return { + top: 'calc(100% + 8px)', + left: '50%', + transform: 'translateX(-50%)' + }; + case 'left': + return { + top: '50%', + right: 'calc(100% + 8px)', + transform: 'translateY(-50%)' + }; + case 'right': + default: + return { + top: '50%', + left: 'calc(100% + 8px)', + transform: 'translateY(-50%)' + }; + } +}; + +const Help = ({ children, width = 200, placement = 'right' }) => { const [showTooltip, setShowTooltip] = useState(false); return ( @@ -24,9 +54,7 @@ const Help = ({ children, width = 200 }) => { diff --git a/packages/bruno-app/src/components/SaveTransientRequest/index.js b/packages/bruno-app/src/components/SaveTransientRequest/index.js index 16ff359d7..1660a3318 100644 --- a/packages/bruno-app/src/components/SaveTransientRequest/index.js +++ b/packages/bruno-app/src/components/SaveTransientRequest/index.js @@ -3,7 +3,9 @@ import { useSelector, useDispatch } from 'react-redux'; import Modal from 'components/Modal'; import SearchInput from 'components/SearchInput'; import Button from 'ui/Button'; -import { IconFolder, IconChevronRight, IconCheck, IconX, IconEye, IconEyeOff } from '@tabler/icons'; +import { IconFolder, IconChevronRight, IconCheck, IconX, IconEye, IconEyeOff, IconEdit, IconArrowBackUp } from '@tabler/icons'; +import PathDisplay from 'components/PathDisplay/index'; +import Help from 'components/Help'; import filter from 'lodash/filter'; import toast from 'react-hot-toast'; import StyledWrapper from './StyledWrapper'; @@ -203,11 +205,6 @@ const SaveTransientRequest = ({ item: itemProp, collection: collectionProp, isOp } }; - const handleDirectoryNameChange = (value) => { - setNewFolderDirectoryName(value); - setIsEditingFolderFilename(true); - }; - const handleCreateNewFolder = async () => { const trimmedFolderName = newFolderName.trim(); @@ -382,28 +379,63 @@ const SaveTransientRequest = ({ item: itemProp, collection: collectionProp, isOp {showFilesystemName && (
- -
- - handleDirectoryNameChange(e.target.value)} - onKeyDown={(e) => { - if (e.key === 'Enter') { - e.preventDefault(); - e.stopPropagation(); - handleCreateNewFolder(); - } else if (e.key === 'Escape') { - e.stopPropagation(); - handleCancelNewFolder(); - } - }} - /> +
+ + {isEditingFolderFilename ? ( + setIsEditingFolderFilename(false)} + /> + ) : ( + setIsEditingFolderFilename(true)} + /> + )}
+ {isEditingFolderFilename ? ( +
+ setNewFolderDirectoryName(e.target.value)} + onKeyDown={(e) => { + if (e.key === 'Enter') { + e.preventDefault(); + e.stopPropagation(); + handleCreateNewFolder(); + } else if (e.key === 'Escape') { + e.stopPropagation(); + handleCancelNewFolder(); + } + }} + /> +
+ ) : ( +
+ +
+ )}
)}