mirror of
https://github.com/langgenius/dify.git
synced 2026-05-06 10:28:10 +08:00
fix: card view render (#28189)
This commit is contained in:
@ -37,18 +37,22 @@ const CardView: FC<ICardViewProps> = ({ appId, isInPanel, className }) => {
|
|||||||
const appDetail = useAppStore(state => state.appDetail)
|
const appDetail = useAppStore(state => state.appDetail)
|
||||||
const setAppDetail = useAppStore(state => state.setAppDetail)
|
const setAppDetail = useAppStore(state => state.setAppDetail)
|
||||||
|
|
||||||
|
const isWorkflowApp = appDetail?.mode === AppModeEnum.WORKFLOW
|
||||||
const showMCPCard = isInPanel
|
const showMCPCard = isInPanel
|
||||||
const showTriggerCard = isInPanel && appDetail?.mode === AppModeEnum.WORKFLOW
|
const showTriggerCard = isInPanel && isWorkflowApp
|
||||||
const { data: currentWorkflow } = useAppWorkflow(appDetail?.mode === AppModeEnum.WORKFLOW ? appDetail.id : '')
|
const { data: currentWorkflow } = useAppWorkflow(isWorkflowApp ? appDetail.id : '')
|
||||||
const hasTriggerNode = useMemo(() => {
|
const hasTriggerNode = useMemo<boolean | null>(() => {
|
||||||
if (appDetail?.mode !== AppModeEnum.WORKFLOW)
|
if (!isWorkflowApp)
|
||||||
return false
|
return false
|
||||||
const nodes = currentWorkflow?.graph?.nodes || []
|
if (!currentWorkflow)
|
||||||
|
return null
|
||||||
|
const nodes = currentWorkflow.graph?.nodes || []
|
||||||
return nodes.some((node) => {
|
return nodes.some((node) => {
|
||||||
const nodeType = node.data?.type as BlockEnum | undefined
|
const nodeType = node.data?.type as BlockEnum | undefined
|
||||||
return !!nodeType && isTriggerNode(nodeType)
|
return !!nodeType && isTriggerNode(nodeType)
|
||||||
})
|
})
|
||||||
}, [appDetail?.mode, currentWorkflow])
|
}, [isWorkflowApp, currentWorkflow])
|
||||||
|
const shouldRenderAppCards = !isWorkflowApp || hasTriggerNode === false
|
||||||
|
|
||||||
const updateAppDetail = async () => {
|
const updateAppDetail = async () => {
|
||||||
try {
|
try {
|
||||||
@ -123,7 +127,7 @@ const CardView: FC<ICardViewProps> = ({ appId, isInPanel, className }) => {
|
|||||||
return (
|
return (
|
||||||
<div className={className || 'mb-6 grid w-full grid-cols-1 gap-6 xl:grid-cols-2'}>
|
<div className={className || 'mb-6 grid w-full grid-cols-1 gap-6 xl:grid-cols-2'}>
|
||||||
{
|
{
|
||||||
!hasTriggerNode && (
|
shouldRenderAppCards && (
|
||||||
<>
|
<>
|
||||||
<AppCard
|
<AppCard
|
||||||
appInfo={appDetail}
|
appInfo={appDetail}
|
||||||
|
|||||||
Reference in New Issue
Block a user