From df196f5d2505b584d5b0d643acfe5b463129b157 Mon Sep 17 00:00:00 2001 From: Anoop M D Date: Fri, 14 Mar 2025 23:16:00 +0530 Subject: [PATCH] feat: add Help tooltip component and help info for collection location --- .../src/components/Help/StyledWrapper.js | 11 +++++ .../bruno-app/src/components/Help/index.js | 40 +++++++++++++++++++ .../src/components/Icons/Help/index.js | 20 ++++++++++ .../Sidebar/CreateCollection/index.js | 11 ++++- packages/bruno-app/src/themes/dark.js | 6 +++ packages/bruno-app/src/themes/light.js | 6 +++ 6 files changed, 93 insertions(+), 1 deletion(-) create mode 100644 packages/bruno-app/src/components/Help/StyledWrapper.js create mode 100644 packages/bruno-app/src/components/Help/index.js create mode 100644 packages/bruno-app/src/components/Icons/Help/index.js diff --git a/packages/bruno-app/src/components/Help/StyledWrapper.js b/packages/bruno-app/src/components/Help/StyledWrapper.js new file mode 100644 index 000000000..f4a69fe40 --- /dev/null +++ b/packages/bruno-app/src/components/Help/StyledWrapper.js @@ -0,0 +1,11 @@ +import styled from 'styled-components'; + +const Wrapper = styled.div` + font-weight: 400; + font-size: 0.75rem; + background-color: ${props => props.theme.infoTip.bg}; + border: 1px solid ${props => props.theme.infoTip.border}; + box-shadow: ${props => props.theme.infoTip.boxShadow}; +`; + +export default Wrapper; diff --git a/packages/bruno-app/src/components/Help/index.js b/packages/bruno-app/src/components/Help/index.js new file mode 100644 index 000000000..6d3f40f87 --- /dev/null +++ b/packages/bruno-app/src/components/Help/index.js @@ -0,0 +1,40 @@ +/** + * The InfoTip components needs to be nuked + * This component will be the future replacement + * We should allow icon and placement props to be passed in + */ + +import React, { useState } from 'react'; +import HelpIcon from 'components/Icons/Help'; +import StyledWrapper from './StyledWrapper'; + +const Help = ({ children, width = 200 }) => { + const [showTooltip, setShowTooltip] = useState(false); + + return ( +
+ setShowTooltip(true)} + onMouseLeave={() => setShowTooltip(false)} + > + + + {showTooltip && ( + + {children} + + )} +
+ ); +}; + +export default Help; \ No newline at end of file diff --git a/packages/bruno-app/src/components/Icons/Help/index.js b/packages/bruno-app/src/components/Icons/Help/index.js new file mode 100644 index 000000000..95c8710af --- /dev/null +++ b/packages/bruno-app/src/components/Icons/Help/index.js @@ -0,0 +1,20 @@ +import React from 'react'; + +const HelpIcon = ({ size = 14 }) => { + return ( + + + + + ) +} + +export default HelpIcon; \ No newline at end of file diff --git a/packages/bruno-app/src/components/Sidebar/CreateCollection/index.js b/packages/bruno-app/src/components/Sidebar/CreateCollection/index.js index 019195c6c..a1b48843f 100644 --- a/packages/bruno-app/src/components/Sidebar/CreateCollection/index.js +++ b/packages/bruno-app/src/components/Sidebar/CreateCollection/index.js @@ -10,6 +10,7 @@ import { sanitizeName, validateName, validateNameError } from 'utils/common/rege import PathDisplay from 'components/PathDisplay/index'; import { useState } from 'react'; import { IconArrowBackUp } from '@tabler/icons'; +import Help from 'components/Help'; const CreateCollection = ({ onClose }) => { const inputRef = useRef(); @@ -97,8 +98,16 @@ const CreateCollection = ({ onClose }) => {
{formik.errors.collectionName}
) : null} -