import type { ViewHistoryProps } from './view-history' import { cn } from '@langgenius/dify-ui/cn' import { memo } from 'react' import { useTranslation } from 'react-i18next' import { useNodesReadOnly, useWorkflowStartRun } from '../hooks' import { useHooksStore } from '../hooks-store' import Checklist from './checklist' import RunMode from './run-mode' import ViewHistory from './view-history' const PreviewMode = memo(({ disabled = false }: { disabled?: boolean }) => { const { t } = useTranslation() const { handleWorkflowStartRunInChatflow } = useWorkflowStartRun() const canRun = useHooksStore((s) => s.accessControl.canRun) const isDisabled = disabled || !canRun return ( ) }) export type RunAndHistoryProps = { showRunButton?: boolean runButtonText?: string isRunning?: boolean showPreviewButton?: boolean viewHistoryProps?: ViewHistoryProps components?: { RunMode?: React.ComponentType<{ text?: string disabled?: boolean }> } } const RunAndHistory = ({ showRunButton, runButtonText, showPreviewButton, viewHistoryProps, components, }: RunAndHistoryProps) => { const { nodesReadOnly } = useNodesReadOnly() const canRun = useHooksStore((s) => s.accessControl.canRun) const { RunMode: CustomRunMode } = components || {} return (