@@ -29,14 +29,15 @@ import PlanPanelLeft from '@/components/content/PlanPanelLeft';
2929import ContentToolbar from '@/coral/components/Content/ContentToolbar' ;
3030import PlanChat from '@/components/content/PlanChat' ;
3131import PlanPanelRight from '@/components/content/PlanPanelRight' ;
32-
32+ import InlineToaster , { useInlineToaster } from "../components/toast/InlineToaster" ;
3333/**
3434 * Page component for displaying a specific plan
3535 * Accessible via the route /plan/{plan_id}
3636 */
3737const PlanPage : React . FC = ( ) => {
3838 const { planId } = useParams < { planId : string } > ( ) ;
3939 const navigate = useNavigate ( ) ;
40+ const { showToast } = useInlineToaster ( ) ;
4041
4142 // State for plan data
4243 const [ planData , setPlanData ] = useState < ProcessedPlanData | any > ( null ) ;
@@ -64,45 +65,69 @@ const PlanPage: React.FC = () => {
6465 }
6566 } , [ planId ] ) ;
6667
68+ const loadPlanData2 = useCallback ( async ( ) => {
69+ if ( ! planId ) return ;
70+
71+ try {
72+
73+ setError ( null ) ;
74+
75+ const data = await PlanDataService . fetchPlanData ( planId ) ;
76+ console . log ( 'Fetched plan data:' , data ) ;
77+ setPlanData ( data ) ;
78+ } catch ( err ) {
79+ console . error ( 'Failed to load plan data:' , err ) ;
80+ setError ( err instanceof Error ? err : new Error ( 'Failed to load plan data' ) ) ;
81+ } finally {
82+
83+ }
84+ } , [ planId ] ) ;
85+
6786 // Accept chat input and submit clarification
6887 const handleOnchatSubmit = useCallback (
6988 async ( chatInput : string ) => {
7089 if ( ! planData ?. plan ) return ;
90+ showToast ( "Submitting clarification..." , "info" , { dismissible : false } ) ;
7191 try {
7292 await PlanDataService . submitClarification (
7393 planData . plan . id , // plan_id
7494 planData . plan . session_id , // session_id
7595 chatInput // human_clarification
7696 ) ;
77- await loadPlanData ( ) ;
97+ await loadPlanData2 ( ) ;
7898 } catch ( error ) {
7999 console . error ( 'Failed to submit clarification:' , error ) ;
80100 }
81101 } ,
82- [ planData , loadPlanData ]
102+ [ planData , loadPlanData2 ]
83103 ) ;
84104
85105 // Move handlers here to fix dependency order
86106 const handleApproveStep = useCallback ( async ( step : Step ) => {
87107 setProcessingSubtaskId ( step . id ) ;
108+ showToast ( "Submitting approval..." , "info" , { dismissible : false } ) ;
88109 try {
89110 await PlanDataService . approveStep ( step ) ;
90- await loadPlanData ( ) ;
111+ await loadPlanData2 ( ) ;
91112 } catch ( error ) {
92113 console . error ( 'Failed to reject step:' , error ) ;
93114 } finally {
94115 setProcessingSubtaskId ( null ) ;
95116 }
96- } , [ loadPlanData ] ) ;
117+ } , [ loadPlanData2 ] ) ;
97118
98119 const handleRejectStep = useCallback ( async ( step : Step ) => {
120+ setProcessingSubtaskId ( step . id ) ;
121+ showToast ( "Submitting rejection..." , "info" , { dismissible : false } ) ;
99122 try {
100123 await PlanDataService . rejectStep ( step ) ;
101- await loadPlanData ( ) ;
124+ await loadPlanData2 ( ) ;
102125 } catch ( error ) {
103126 console . error ( 'Failed to reject step:' , error ) ;
127+ } finally {
128+ setProcessingSubtaskId ( null ) ;
104129 }
105- } , [ loadPlanData ] ) ;
130+ } , [ loadPlanData2 ] ) ;
106131
107132 // Load plan data on mount and when planId changes
108133 useEffect ( ( ) => {
0 commit comments