'use client' import type { FC } from 'react' import React, { useEffect, useMemo, useState } from 'react' import ResultPanel from './result-panel' import Loading from '@/app/components/base/loading' import { fetchRunDetail } from '@/service/log' import type { WorkflowRunDetailResponse } from '@/models/log' import { useStore as useAppStore } from '@/app/components/app/store' type ResultProps = { runID: string } const Result: FC = ({ runID }) => { const { appDetail } = useAppStore() const [loading, setLoading] = useState(true) const [runDetail, setRunDetail] = useState() const executor = useMemo(() => { if (runDetail?.created_by_role === 'account') return runDetail.created_by_account?.name || '' if (runDetail?.created_by_role === 'end_user') return runDetail.created_by_end_user?.session_id || '' return 'N/A' }, [runDetail]) useEffect(() => { // fetch data if (appDetail && runID) { setLoading(true) fetchRunDetail({ appID: appDetail?.id, runID, }).then((res: WorkflowRunDetailResponse) => { setLoading(false) setRunDetail(res) }) } }, [appDetail, runID]) if (loading || !runDetail) { return (
) } return ( ) } export default Result