| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 | 
							- import type { FC } from 'react'
 - import { memo } from 'react'
 - import { useNodes } from 'reactflow'
 - import cn from 'classnames'
 - import { useShallow } from 'zustand/react/shallow'
 - import type { CommonNodeType } from '../types'
 - import { Panel as NodePanel } from '../nodes'
 - import { useStore } from '../store'
 - import {
 -   useIsChatMode,
 -   useWorkflow,
 - } from '../hooks'
 - import DebugAndPreview from './debug-and-preview'
 - import Record from './record'
 - import WorkflowPreview from './workflow-preview'
 - import ChatRecord from './chat-record'
 - import { useStore as useAppStore } from '@/app/components/app/store'
 - import MessageLogModal from '@/app/components/base/message-log-modal'
 - 
 - const Panel: FC = () => {
 -   const nodes = useNodes<CommonNodeType>()
 -   const isChatMode = useIsChatMode()
 -   const selectedNode = nodes.find(node => node.data.selected)
 -   const historyWorkflowData = useStore(s => s.historyWorkflowData)
 -   const showDebugAndPreviewPanel = useStore(s => s.showDebugAndPreviewPanel)
 -   const isRestoring = useStore(s => s.isRestoring)
 -   const {
 -     enableShortcuts,
 -     disableShortcuts,
 -   } = useWorkflow()
 -   const { currentLogItem, setCurrentLogItem, showMessageLogModal, setShowMessageLogModal, currentLogModalActiveTab } = useAppStore(useShallow(state => ({
 -     currentLogItem: state.currentLogItem,
 -     setCurrentLogItem: state.setCurrentLogItem,
 -     showMessageLogModal: state.showMessageLogModal,
 -     setShowMessageLogModal: state.setShowMessageLogModal,
 -     currentLogModalActiveTab: state.currentLogModalActiveTab,
 -   })))
 - 
 -   return (
 -     <div
 -       tabIndex={-1}
 -       className={cn(
 -         'absolute top-14 right-0 bottom-2 flex z-10 outline-none',
 -       )}
 -       onFocus={disableShortcuts}
 -       onBlur={enableShortcuts}
 -       key={`${isRestoring}`}
 -     >
 -       {
 -         showMessageLogModal && (
 -           <MessageLogModal
 -             fixedWidth
 -             width={400}
 -             currentLogItem={currentLogItem}
 -             onCancel={() => {
 -               setCurrentLogItem()
 -               setShowMessageLogModal(false)
 -             }}
 -             defaultTab={currentLogModalActiveTab}
 -           />
 -         )
 -       }
 -       {
 -         !!selectedNode && (
 -           <NodePanel {...selectedNode!} />
 -         )
 -       }
 -       {
 -         historyWorkflowData && !isChatMode && (
 -           <Record />
 -         )
 -       }
 -       {
 -         historyWorkflowData && isChatMode && (
 -           <ChatRecord />
 -         )
 -       }
 -       {
 -         showDebugAndPreviewPanel && isChatMode && (
 -           <DebugAndPreview />
 -         )
 -       }
 -       {
 -         showDebugAndPreviewPanel && !isChatMode && (
 -           <WorkflowPreview />
 -         )
 -       }
 -     </div>
 -   )
 - }
 - 
 - export default memo(Panel)
 
 
  |