import type { FC } from 'react' import { memo, useCallback, } from 'react' import { useTranslation } from 'react-i18next' import { useStore } from '../store' import { useIsChatMode } from '../hooks' import RunAndHistory from './run-and-history' import EditingTitle from './editing-title' import RunningTitle from './running-title' import Publish from './publish' import { Grid01 } from '@/app/components/base/icons/src/vender/line/layout' import Button from '@/app/components/base/button' import { ArrowNarrowLeft } from '@/app/components/base/icons/src/vender/line/arrows' import { useStore as useAppStore } from '@/app/components/app/store' import { Mode } from '@/app/components/workflow/types' const Header: FC = () => { const { t } = useTranslation() const appDetail = useAppStore(state => state.appDetail) const isChatMode = useIsChatMode() const mode = useStore(state => state.mode) const runTaskId = useStore(state => state.runTaskId) const handleShowFeatures = useCallback(() => { useStore.setState({ showFeaturesPanel: true }) }, []) return (
{appDetail?.name}
{ mode === Mode.Editing && !runTaskId && } { (mode === Mode.Running || runTaskId) && }
{ (mode === Mode.Running || runTaskId) && ( ) }
{ isChatMode && ( ) }
) } export default memo(Header)