diff --git a/web/app/(commonLayout)/app/(appDetailLayout)/[appId]/overview/card-view.tsx b/web/app/(commonLayout)/app/(appDetailLayout)/[appId]/overview/card-view.tsx index 7e592729a5..57f3ef6881 100644 --- a/web/app/(commonLayout)/app/(appDetailLayout)/[appId]/overview/card-view.tsx +++ b/web/app/(commonLayout)/app/(appDetailLayout)/[appId]/overview/card-view.tsx @@ -37,18 +37,22 @@ const CardView: FC = ({ appId, isInPanel, className }) => { const appDetail = useAppStore(state => state.appDetail) const setAppDetail = useAppStore(state => state.setAppDetail) + const isWorkflowApp = appDetail?.mode === AppModeEnum.WORKFLOW const showMCPCard = isInPanel - const showTriggerCard = isInPanel && appDetail?.mode === AppModeEnum.WORKFLOW - const { data: currentWorkflow } = useAppWorkflow(appDetail?.mode === AppModeEnum.WORKFLOW ? appDetail.id : '') - const hasTriggerNode = useMemo(() => { - if (appDetail?.mode !== AppModeEnum.WORKFLOW) + const showTriggerCard = isInPanel && isWorkflowApp + const { data: currentWorkflow } = useAppWorkflow(isWorkflowApp ? appDetail.id : '') + const hasTriggerNode = useMemo(() => { + if (!isWorkflowApp) return false - const nodes = currentWorkflow?.graph?.nodes || [] + if (!currentWorkflow) + return null + const nodes = currentWorkflow.graph?.nodes || [] return nodes.some((node) => { const nodeType = node.data?.type as BlockEnum | undefined return !!nodeType && isTriggerNode(nodeType) }) - }, [appDetail?.mode, currentWorkflow]) + }, [isWorkflowApp, currentWorkflow]) + const shouldRenderAppCards = !isWorkflowApp || hasTriggerNode === false const updateAppDetail = async () => { try { @@ -123,7 +127,7 @@ const CardView: FC = ({ appId, isInPanel, className }) => { return (
{ - !hasTriggerNode && ( + shouldRenderAppCards && ( <>