diff --git a/app/components/base/tooltip/index.tsx b/app/components/base/tooltip/index.tsx index 610f17b..e047a65 100644 --- a/app/components/base/tooltip/index.tsx +++ b/app/components/base/tooltip/index.tsx @@ -1,9 +1,8 @@ 'use client' import classNames from 'classnames' import type { FC } from 'react' -import React from 'react' -import { Tooltip as ReactTooltip } from 'react-tooltip' // fixed version to 5.8.3 https://github.com/ReactTooltip/react-tooltip/issues/972 -import 'react-tooltip/dist/react-tooltip.css' +import React, { useState } from 'react' +import { PortalToFollowElem, PortalToFollowElemContent, PortalToFollowElemTrigger } from '@/app/components/base/portal-to-follow-elem' type TooltipProps = { selector: string @@ -15,6 +14,10 @@ type TooltipProps = { children: React.ReactNode } +const arrow = ( + +) + const Tooltip: FC = ({ selector, content, @@ -24,22 +27,31 @@ const Tooltip: FC = ({ className, clickable, }) => { + const [open, setOpen] = useState(false) + const triggerMethod = clickable ? 'click' : 'hover' + return ( -
- {React.cloneElement(children as React.ReactElement, { - 'data-tooltip-id': selector, - }) - } - + triggerMethod === 'click' && setOpen(v => !v)} + onMouseEnter={() => triggerMethod === 'hover' && setOpen(true)} + onMouseLeave={() => triggerMethod === 'hover' && setOpen(false)} > - {htmlContent && htmlContent} - -
+ {children} + + +
+ {htmlContent ?? content} + {arrow} +
+
+ ) } diff --git a/app/components/welcome/index.tsx b/app/components/welcome/index.tsx index b795261..9925259 100644 --- a/app/components/welcome/index.tsx +++ b/app/components/welcome/index.tsx @@ -37,7 +37,6 @@ const Welcome: FC = ({ savedInputs, onInputsChange, }) => { - console.log(promptConfig) const { t } = useTranslation() const hasVar = promptConfig.prompt_variables.length > 0 const [isFold, setIsFold] = useState(true)