fix(workflow): reset onboarding auto-open flag across flows

This commit is contained in:
lyzno1
2025-10-21 11:19:26 +08:00
parent f02d575379
commit 075173e67d
7 changed files with 108 additions and 22 deletions

View File

@ -14,6 +14,7 @@ export const useAutoOnboarding = () => {
notInitialWorkflow,
setShowOnboarding,
setHasShownOnboarding,
setShouldAutoOpenStartNodeSelector,
} = workflowStore.getState()
// Skip if already showing onboarding or it's the initial workflow creation
@ -30,13 +31,24 @@ export const useAutoOnboarding = () => {
if (isCompletelyEmpty && !hasShownOnboarding) {
setShowOnboarding?.(true)
setHasShownOnboarding?.(true)
setShouldAutoOpenStartNodeSelector?.(true)
}
}, [store, workflowStore])
const handleOnboardingClose = useCallback(() => {
const { setShowOnboarding, setHasShownOnboarding } = workflowStore.getState()
const {
setShowOnboarding,
setHasShownOnboarding,
setShouldAutoOpenStartNodeSelector,
hasSelectedStartNode,
setHasSelectedStartNode,
} = workflowStore.getState()
setShowOnboarding?.(false)
setHasShownOnboarding?.(true)
if (hasSelectedStartNode)
setHasSelectedStartNode?.(false)
else
setShouldAutoOpenStartNodeSelector?.(false)
}, [workflowStore])
// Check on mount and when nodes change

View File

@ -77,6 +77,7 @@ export const useWorkflowInit = () => {
workflowStore.setState({
notInitialWorkflow: true,
showOnboarding: !isAdvancedChat,
shouldAutoOpenStartNodeSelector: !isAdvancedChat,
hasShownOnboarding: false,
})
const nodesData = isAdvancedChat ? nodesTemplate : []