fix workflow view switch refresh

This commit is contained in:
yyh
2026-01-22 13:14:01 +08:00
parent 62ec464d91
commit ee35f72861
7 changed files with 123 additions and 44 deletions

View File

@ -61,18 +61,18 @@ const HeaderInNormal = ({
setShowChatVariablePanel(false)
setShowGlobalVariablePanel(false)
closeAllInputFieldPanels()
}, [workflowStore, handleBackupDraft, selectedNode, handleNodeSelect, setShowWorkflowVersionHistoryPanel, setShowEnvPanel, setShowDebugAndPreviewPanel, setShowVariableInspectPanel, setShowChatVariablePanel, setShowGlobalVariablePanel])
}, [workflowStore, handleBackupDraft, selectedNode, handleNodeSelect, setShowWorkflowVersionHistoryPanel, setShowEnvPanel, setShowDebugAndPreviewPanel, setShowVariableInspectPanel, setShowChatVariablePanel, setShowGlobalVariablePanel, closeAllInputFieldPanels])
return (
<div className="flex w-full items-center justify-between">
<div className="relative top-[30px]">
<div className="flex items-center gap-2">
{components?.left}
<EditingTitle />
</div>
<div>
<ScrollToSelectedNodeButton />
</div>
<div className="flex items-center gap-2">
{components?.left}
<Divider type="vertical" className="mx-auto h-3.5" />
<RunAndHistory {...runAndHistoryProps} />
<div className="shrink-0 cursor-pointer rounded-lg border-[0.5px] border-components-button-secondary-border bg-components-button-secondary-bg shadow-xs backdrop-blur-[10px]">

View File

@ -1,3 +1,4 @@
import type { ReactNode } from 'react'
import type { HeaderInNormalProps } from './header-in-normal'
import type { HeaderInRestoringProps } from './header-in-restoring'
import type { HeaderInHistoryProps } from './header-in-view-history'
@ -16,6 +17,26 @@ const HeaderInRestoring = dynamic(() => import('./header-in-restoring'), {
ssr: false,
})
type HeaderShellProps = {
children: ReactNode
}
export const HeaderShell = ({ children }: HeaderShellProps) => {
const pathname = usePathname()
const inWorkflowCanvas = pathname.endsWith('/workflow')
const isPipelineCanvas = pathname.endsWith('/pipeline')
const maximizeCanvas = useStore(s => s.maximizeCanvas)
return (
<div
className="absolute left-0 top-7 z-10 flex h-0 w-full items-center justify-between bg-mask-top2bottom-gray-50-to-transparent px-3"
>
{(inWorkflowCanvas || isPipelineCanvas) && maximizeCanvas && <div className="h-14 w-[52px]" />}
{children}
</div>
)
}
export type HeaderProps = {
normal?: HeaderInNormalProps
viewHistory?: HeaderInHistoryProps
@ -26,21 +47,14 @@ const Header = ({
viewHistory: viewHistoryProps,
restoring: restoringProps,
}: HeaderProps) => {
const pathname = usePathname()
const inWorkflowCanvas = pathname.endsWith('/workflow')
const isPipelineCanvas = pathname.endsWith('/pipeline')
const {
normal,
restoring,
viewHistory,
} = useWorkflowMode()
const maximizeCanvas = useStore(s => s.maximizeCanvas)
return (
<div
className="absolute left-0 top-7 z-10 flex h-0 w-full items-center justify-between bg-mask-top2bottom-gray-50-to-transparent px-3"
>
{(inWorkflowCanvas || isPipelineCanvas) && maximizeCanvas && <div className="h-14 w-[52px]" />}
<HeaderShell>
{
normal && (
<HeaderInNormal
@ -62,7 +76,7 @@ const Header = ({
/>
)
}
</div>
</HeaderShell>
)
}