@@ -22,17 +22,11 @@ import '../styles/PlanPage.css';
2222import CoralShellColumn from '../coral/components/Layout/CoralShellColumn' ;
2323import CoralShellRow from '../coral/components/Layout/CoralShellRow' ;
2424import Content from '../coral/components/Content/Content' ;
25- import PanelLeft from '../coral/components/Panels/PanelLeft' ;
26- import PanelLeftToolbar from '../coral/components/Panels/PanelLeftToolbar' ;
27- import TaskList from '../components/content/TaskList' ;
2825import { NewTaskService } from '../services/NewTaskService' ;
2926import { PlanDataService } from '../services/PlanDataService' ;
30- import { PlanWithSteps , Task , AgentType , Step , ProcessedPlanData } from '@/models' ;
31- import { apiService } from '@/api' ;
27+ import { Step , ProcessedPlanData } from '@/models' ;
3228import PlanPanelLeft from '@/components/content/PlanPanelLeft' ;
3329import ContentToolbar from '@/coral/components/Content/ContentToolbar' ;
34- import Chat from '@/coral/modules/Chat' ;
35- import TaskDetails from '@/components/content/TaskDetails' ;
3630import PlanChat from '@/components/content/PlanChat' ;
3731import PlanPanelRight from '@/components/content/PlanPanelRight' ;
3832
@@ -48,17 +42,7 @@ const PlanPage: React.FC = () => {
4842 const [ planData , setPlanData ] = useState < ProcessedPlanData | any > ( null ) ;
4943 const [ loading , setLoading ] = useState < boolean > ( true ) ;
5044 const [ error , setError ] = useState < Error | null > ( null ) ;
51- const handleOnchatSubmit = useCallback ( ( ) => {
52- NewTaskService . handleNewTaskFromHome ( ) ;
53- } , [ ] ) ;
5445
55- const handleApproveStep = useCallback ( ( step : Step ) => {
56- console . log ( 'Approving step:' , step ) ;
57- } , [ ] ) ;
58-
59- const handleRejectStep = useCallback ( ( step : Step ) => {
60- console . log ( 'Rejecting step:' , step ) ;
61- } , [ ] ) ;
6246 /**
6347 * Fetch plan data when component mounts or planId changes
6448 */
@@ -80,6 +64,43 @@ const PlanPage: React.FC = () => {
8064 }
8165 } , [ planId ] ) ;
8266
67+ // Accept chat input and submit clarification
68+ const handleOnchatSubmit = useCallback (
69+ async ( chatInput : string ) => {
70+ if ( ! planData ?. plan ) return ;
71+ try {
72+ await PlanDataService . submitClarification (
73+ planData . plan . id , // plan_id
74+ planData . plan . session_id , // session_id
75+ chatInput // human_clarification
76+ ) ;
77+ await loadPlanData ( ) ;
78+ } catch ( error ) {
79+ console . error ( 'Failed to submit clarification:' , error ) ;
80+ }
81+ } ,
82+ [ planData , loadPlanData ]
83+ ) ;
84+
85+ // Move handlers here to fix dependency order
86+ const handleApproveStep = useCallback ( async ( step : Step ) => {
87+ try {
88+ await PlanDataService . approveStep ( step ) ;
89+ await loadPlanData ( ) ;
90+ } catch ( error ) {
91+ console . error ( 'Failed to approve step:' , error ) ;
92+ }
93+ } , [ loadPlanData ] ) ;
94+
95+ const handleRejectStep = useCallback ( async ( step : Step ) => {
96+ try {
97+ await PlanDataService . rejectStep ( step ) ;
98+ await loadPlanData ( ) ;
99+ } catch ( error ) {
100+ console . error ( 'Failed to reject step:' , error ) ;
101+ }
102+ } , [ loadPlanData ] ) ;
103+
83104 // Load plan data on mount and when planId changes
84105 useEffect ( ( ) => {
85106 loadPlanData ( ) ;
0 commit comments