From 39deb69c3408ac4d0e41c271f4819dbedbdebb18 Mon Sep 17 00:00:00 2001 From: alexsparkes Date: Thu, 28 Apr 2022 23:22:58 +0100 Subject: [PATCH] feat: info tooltip --- .../helpers/tooltip/infoTooltip.jsx | 42 ++++++------ src/components/helpers/tooltip/tooltip.scss | 50 ++++++++++++++ .../main/marketplace/sections/Create.jsx | 66 +++++++++++-------- .../modals/main/settings/Header.jsx | 15 +++-- .../modals/main/settings/sections/Navbar.jsx | 2 + 5 files changed, 121 insertions(+), 54 deletions(-) diff --git a/src/components/helpers/tooltip/infoTooltip.jsx b/src/components/helpers/tooltip/infoTooltip.jsx index d2021c07..979427bc 100644 --- a/src/components/helpers/tooltip/infoTooltip.jsx +++ b/src/components/helpers/tooltip/infoTooltip.jsx @@ -1,43 +1,39 @@ import { useState } from 'react'; import { useFloating, flip, offset, shift } from '@floating-ui/react-dom'; +import { MdClose, MdInfo, MdOpenInNew } from 'react-icons/md'; import './tooltip.scss'; +import Tooltip from './/Tooltip'; -export default function InfoTooltip({ - children, - title, - style, - placement, - subtitle, - linkText, - linkURL, -}) { - const [showTooltip, setShowTooltip] = useState(true); +export default function InfoTooltip({ children, title, style, placement, subtitle }) { + const [showTooltip, setShowTooltip] = useState(false); const { x, y, reference, floating, strategy } = useFloating({ - placement: placement || 'bottom-end', - middleware: [flip(), offset(15), shift()], + placement: placement || 'top-start', + middleware: [flip(), offset(10), shift()], }); return ( -
- {children} +
+ setShowTooltip(true)} /> {showTooltip && (
- {title} - - {subtitle}{' '} - - {linkText} - - - +
+ {title} + +
setShowTooltip(false)}> + +
+
+
+ {subtitle} + Open Knowledgebase
)}
diff --git a/src/components/helpers/tooltip/tooltip.scss b/src/components/helpers/tooltip/tooltip.scss index 4f67bae3..fd06b321 100644 --- a/src/components/helpers/tooltip/tooltip.scss +++ b/src/components/helpers/tooltip/tooltip.scss @@ -77,3 +77,53 @@ height: 8px; transform: rotate(45deg); } + +.infoTooltip { + position: relative; + display: grid; +} + +.infoTooltipTitle { + min-width: 200px; + text-align: center; + position: absolute; + z-index: 1; + cursor: initial; + user-select: none; + opacity: 1; + text-align: left; + padding: 25px; + display: flex; + justify-content: center; + flex-flow: column; + gap: 10px; + @include themed() { + background-color: t($modal-background); + border-radius: t($borderRadius); + box-shadow: 0 0 0 1px t($modal-sidebarActive); + } + .tooltipHeader { + display: flex; + flex-flow: row; + align-items: center; + gap: 25px; + } + .link { + display: flex; + gap: 10px; + align-items: center; + } + .close { + font-size: 20px; + padding: 15px; + place-items: center; + display: grid; + cursor: pointer; + &:hover { + @include themed() { + background: t($modal-sidebar); + border-radius: t($borderRadius); + } + } + } +} \ No newline at end of file diff --git a/src/components/modals/main/marketplace/sections/Create.jsx b/src/components/modals/main/marketplace/sections/Create.jsx index 87f1a008..4ff4e512 100644 --- a/src/components/modals/main/marketplace/sections/Create.jsx +++ b/src/components/modals/main/marketplace/sections/Create.jsx @@ -16,6 +16,7 @@ import SettingsItem from '../../../main/settings/SettingsItem'; import { saveFile } from 'modules/helpers/settings/modals'; import Tooltip from '../../../../helpers/tooltip/Tooltip'; +import InfoTooltip from '../../../../helpers/tooltip/InfoTooltip'; import FileUpload from '../../settings/FileUpload'; @@ -48,7 +49,7 @@ export default class Create extends PureComponent { return this.setState({ currentTab: tab, addonMetadata: { - type + type, }, }); } else { @@ -128,8 +129,7 @@ export default class Create extends PureComponent { { name: this.state.addonMetadata.name, description: this.state.addonMetadata.description, - type: - this.state.addonMetadata.type, + type: this.state.addonMetadata.type, version: this.state.addonMetadata.version, author: this.state.addonMetadata.author, icon_url: this.state.addonMetadata.icon_url, @@ -224,14 +224,33 @@ export default class Create extends PureComponent { onInput={(e) => setMetadata(e.target.value, 'name')} /> - + {/* setMetadata(e.target.value, 'version')} /> - + */} +
+
+ {getMessage('modals.main.marketplace.product.version')} + + + +
+
+ setMetadata(e.target.value, 'version')} + /> +
+
- - -
-
-
this.importQuotes()} - className="toggle lightTheme" - style={{ width: '60%', margin: '10px 0 10px 0' }} - > - - {getMessage('modals.main.addons.create.settings.current')} -
+ + +
+
+
this.importQuotes()} + className="toggle lightTheme" + style={{ width: '60%', margin: '10px 0 10px 0' }} + > + + {getMessage('modals.main.addons.create.settings.current')}
- +
+