2024-08-13 14:44:10 +08:00
|
|
|
import { memo } from 'react'
|
|
|
|
import Button from '@/app/components/base/button'
|
|
|
|
import { BubbleX } from '@/app/components/base/icons/src/vender/line/others'
|
|
|
|
import { useStore } from '@/app/components/workflow/store'
|
2025-07-31 21:19:34 +08:00
|
|
|
import useTheme from '@/hooks/use-theme'
|
|
|
|
import cn from '@/utils/classnames'
|
2024-08-13 14:44:10 +08:00
|
|
|
|
|
|
|
const ChatVariableButton = ({ disabled }: { disabled: boolean }) => {
|
2025-07-31 21:19:34 +08:00
|
|
|
const { theme } = useTheme()
|
2024-08-13 14:44:10 +08:00
|
|
|
const setShowChatVariablePanel = useStore(s => s.setShowChatVariablePanel)
|
|
|
|
const setShowEnvPanel = useStore(s => s.setShowEnvPanel)
|
|
|
|
const setShowDebugAndPreviewPanel = useStore(s => s.setShowDebugAndPreviewPanel)
|
|
|
|
|
|
|
|
const handleClick = () => {
|
|
|
|
setShowChatVariablePanel(true)
|
|
|
|
setShowEnvPanel(false)
|
|
|
|
setShowDebugAndPreviewPanel(false)
|
|
|
|
}
|
|
|
|
|
|
|
|
return (
|
2025-07-31 21:19:34 +08:00
|
|
|
<Button
|
|
|
|
className={cn(
|
|
|
|
'p-2',
|
|
|
|
theme === 'dark' && 'rounded-lg border border-black/5 bg-white/10 backdrop-blur-sm',
|
|
|
|
)}
|
|
|
|
disabled={disabled}
|
|
|
|
onClick={handleClick}
|
|
|
|
>
|
2025-03-21 17:41:03 +08:00
|
|
|
<BubbleX className='h-4 w-4 text-components-button-secondary-text' />
|
2024-08-13 14:44:10 +08:00
|
|
|
</Button>
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
export default memo(ChatVariableButton)
|