import { apiInterceptors, getFlows } from '@/client/api'; import { IFlow } from '@/types/flow'; import { Select } from 'antd'; import { t } from 'i18next'; import Link from 'next/link'; import { useEffect, useState } from 'react'; import PreviewFlow from '../flow/preview-flow'; interface IProps { onFlowsChange: (data: any) => void; teamContext: any; } export default function DagLayout(props: IProps) { const { onFlowsChange, teamContext } = props; const [flows, setFlows] = useState(); const [flowsOptions, setFlowsOptions] = useState(); const [curFlow, setCurFlow] = useState(); const fetchFlows = async () => { const [_, data] = await apiInterceptors(getFlows({})); if (data) { setFlowsOptions(data?.items?.map((item: IFlow) => ({ label: item.name, value: item.name }))); setFlows(data.items); onFlowsChange(data?.items[0]); } }; const handleFlowsChange = (value: string) => { setCurFlow(flows?.find(item => value === item.name)); onFlowsChange(flows?.find(item => value === item.name)); }; useEffect(() => { fetchFlows(); }, []); useEffect(() => { setCurFlow(flows?.find(item => teamContext?.name === item.name) || flows?.[0]); }, [teamContext, flows]); return (
Flows: