mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2026-01-01 01:30:51 +08:00
feat(MessageMenubar): Automatically hide tooltip when secondary popups appear
- Introduced state management for tooltips related to regenerate and delete actions in the MessageMenubar component. - Updated Tooltip components to control visibility based on user interactions.
This commit is contained in:
parent
0c2cffba4c
commit
e4e34aacac
@ -54,6 +54,8 @@ const MessageMenubar: FC<Props> = (props) => {
|
|||||||
const { t } = useTranslation()
|
const { t } = useTranslation()
|
||||||
const [copied, setCopied] = useState(false)
|
const [copied, setCopied] = useState(false)
|
||||||
const [isTranslating, setIsTranslating] = useState(false)
|
const [isTranslating, setIsTranslating] = useState(false)
|
||||||
|
const [showRegenerateTooltip, setShowRegenerateTooltip] = useState(false)
|
||||||
|
const [showDeleteTooltip, setShowDeleteTooltip] = useState(false)
|
||||||
const assistantModel = assistant?.model
|
const assistantModel = assistant?.model
|
||||||
const {
|
const {
|
||||||
loading,
|
loading,
|
||||||
@ -290,10 +292,14 @@ const MessageMenubar: FC<Props> = (props) => {
|
|||||||
<Popconfirm
|
<Popconfirm
|
||||||
title={t('message.regenerate.confirm')}
|
title={t('message.regenerate.confirm')}
|
||||||
okButtonProps={{ danger: true }}
|
okButtonProps={{ danger: true }}
|
||||||
destroyTooltipOnHide
|
|
||||||
icon={<QuestionCircleOutlined style={{ color: 'red' }} />}
|
icon={<QuestionCircleOutlined style={{ color: 'red' }} />}
|
||||||
onConfirm={onRegenerate}>
|
onConfirm={onRegenerate}
|
||||||
<Tooltip title={t('common.regenerate')} mouseEnterDelay={0.8}>
|
onOpenChange={(open) => open && setShowRegenerateTooltip(false)}>
|
||||||
|
<Tooltip
|
||||||
|
title={t('common.regenerate')}
|
||||||
|
mouseEnterDelay={0.8}
|
||||||
|
open={showRegenerateTooltip}
|
||||||
|
onOpenChange={setShowRegenerateTooltip}>
|
||||||
<ActionButton className="message-action-button">
|
<ActionButton className="message-action-button">
|
||||||
<SyncOutlined />
|
<SyncOutlined />
|
||||||
</ActionButton>
|
</ActionButton>
|
||||||
@ -345,9 +351,14 @@ const MessageMenubar: FC<Props> = (props) => {
|
|||||||
title={t('message.message.delete.content')}
|
title={t('message.message.delete.content')}
|
||||||
okButtonProps={{ danger: true }}
|
okButtonProps={{ danger: true }}
|
||||||
icon={<QuestionCircleOutlined style={{ color: 'red' }} />}
|
icon={<QuestionCircleOutlined style={{ color: 'red' }} />}
|
||||||
|
onOpenChange={(open) => open && setShowDeleteTooltip(false)}
|
||||||
onConfirm={() => deleteMessage(message)}>
|
onConfirm={() => deleteMessage(message)}>
|
||||||
<ActionButton className="message-action-button" onClick={(e) => e.stopPropagation()}>
|
<ActionButton className="message-action-button" onClick={(e) => e.stopPropagation()}>
|
||||||
<Tooltip title={t('common.delete')} mouseEnterDelay={1}>
|
<Tooltip
|
||||||
|
title={t('common.delete')}
|
||||||
|
mouseEnterDelay={1}
|
||||||
|
open={showDeleteTooltip}
|
||||||
|
onOpenChange={setShowDeleteTooltip}>
|
||||||
<DeleteOutlined />
|
<DeleteOutlined />
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
</ActionButton>
|
</ActionButton>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user