Skip to content

Commit d655516

Browse files
committed
update panel behavior
1 parent 65e8a9d commit d655516

File tree

6 files changed

+25
-43
lines changed

6 files changed

+25
-43
lines changed

src/frontend_react/src/components/content/PlanChat.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ const PlanChat: React.FC<PlanChatProps> = ({
3939
const messagesContainerRef = useRef<HTMLDivElement>(null);
4040
const inputContainerRef = useRef<HTMLDivElement>(null);
4141

42-
const sendMessage = async () => { };
4342

4443
const scrollToBottom = () => { };
4544
if (!planData) return <Spinner size="large" />;

src/frontend_react/src/components/content/PlanPanelRight.tsx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ const PlanPanelRight: React.FC<TaskDetailsProps> = ({
1313
loading,
1414
submittingChatDisableInput,
1515
OnApproveStep,
16-
OnRejectStep,
1716
processingSubtaskId
1817
}) => {
1918
if (!planData) return null;
@@ -30,7 +29,6 @@ const PlanPanelRight: React.FC<TaskDetailsProps> = ({
3029
<TaskDetails
3130
planData={planData}
3231
OnApproveStep={OnApproveStep}
33-
OnRejectStep={OnRejectStep}
3432
submittingChatDisableInput={submittingChatDisableInput}
3533
processingSubtaskId={processingSubtaskId}
3634
loading={loading}

src/frontend_react/src/components/content/TaskDetails.tsx

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,9 @@ const TaskDetails: React.FC<TaskDetailsProps> = ({
2828
planData,
2929
loading,
3030
OnApproveStep,
31-
OnRejectStep,
3231
}) => {
3332
const [steps, setSteps] = useState(planData.steps || []);
34-
const [completedCCount, setCompletedCount] = useState(
33+
const [completedCount, setCompletedCount] = useState(
3534
planData?.plan.completed || 0
3635
);
3736
const [total, setTotal] = useState(planData?.plan.total_steps || 1);
@@ -74,11 +73,11 @@ const TaskDetails: React.FC<TaskDetailsProps> = ({
7473
// Update local state to reflect changes immediately
7574

7675
setSteps(updatedSteps);
77-
setCompletedCount(completedCCount + 1); // Increment completed count
78-
setProgress((completedCCount + 1) / total); // Update progress
76+
setCompletedCount(completedCount + 1); // Increment completed count
77+
setProgress((completedCount + 1) / total); // Update progress
7978
// Then call the main approval function
8079
// This could be your existing OnApproveStep function that handles API calls, etc.
81-
await OnApproveStep(updatedStep);
80+
await OnApproveStep(updatedStep, total, completedCount + 1, true);
8281

8382

8483
} catch (error) {
@@ -103,11 +102,11 @@ const TaskDetails: React.FC<TaskDetailsProps> = ({
103102

104103
// Update local state to reflect changes immediately
105104
setSteps(updatedSteps);
106-
setCompletedCount(completedCCount + 1); // Increment completed count
107-
setProgress((completedCCount + 1) / total); // Update progress
105+
setCompletedCount(completedCount + 1); // Increment completed count
106+
setProgress((completedCount + 1) / total); // Update progress
108107
// Then call the main rejection function
109108
// This could be your existing OnRejectStep function that handles API calls, etc.
110-
await OnRejectStep(updatedStep);
109+
await OnApproveStep(updatedStep, total, completedCount + 1, false);
111110

112111
} catch (error) {
113112
console.error('Error in pre-rejection step:', error);
@@ -149,7 +148,7 @@ const TaskDetails: React.FC<TaskDetailsProps> = ({
149148
<Body1Strong>{planData.plan.initial_goal}</Body1Strong>
150149
<br />
151150
<Text size={200}>
152-
{completedCCount} of {total} completed
151+
{completedCount} of {total} completed
153152
</Text>
154153
</div>
155154
</div>
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
export interface PlanPanelLefProps {
2-
2+
reloadTasks?: boolean;
33
onNewTaskButton: () => void;
44
}

src/frontend_react/src/models/taskDetails.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,5 @@ export interface TaskDetailsProps {
2525
loading: boolean;
2626
submittingChatDisableInput: boolean;
2727
processingSubtaskId: string | null;
28-
OnApproveStep: (step: Step) => void;
29-
OnRejectStep: (step: Step) => void;
28+
OnApproveStep: (step: Step, total: number, completed: number, approve: boolean) => void;
3029
}

src/frontend_react/src/pages/PlanPage.tsx

Lines changed: 15 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ const PlanPage: React.FC = () => {
5555
const [processingSubtaskId, setProcessingSubtaskId] = useState<string | null>(
5656
null
5757
);
58-
58+
const [reloadLeftList, setReloadLeftList] = useState(true);
5959

6060
const [loadingMessage, setLoadingMessage] = useState(loadingMessages[0]);
6161

@@ -99,12 +99,13 @@ const PlanPage: React.FC = () => {
9999

100100
const handleOnchatSubmit = useCallback(
101101
async (chatInput: string) => {
102-
setInput("");
102+
103103
console.log("handleOnchatSubmit called with input:", chatInput);
104104
if (!chatInput.trim()) {
105105
showToast("Please enter a clarification.", "error");
106106
return;
107107
}
108+
setInput("");
108109
if (!planData?.plan) return;
109110
setSubmitting(true);
110111
showToast("Submitting clarification...", "progress");
@@ -129,17 +130,23 @@ const PlanPage: React.FC = () => {
129130
);
130131

131132
const handleApproveStep = useCallback(
132-
async (step: Step) => {
133+
async (step: Step, total: number, completed: number, approve: boolean) => {
133134
setProcessingSubtaskId(step.id);
134-
showToast("Submitting approval...", "progress");
135+
const toastMessage = approve ? "Approving step..." : "Rejecting step...";
136+
showToast(toastMessage, "progress");
135137
setSubmitting(true);
136138
try {
137-
await PlanDataService.stepStatus(step, true);
138-
showToast("Step approved successfully.", "success");
139+
await PlanDataService.stepStatus(step, approve);
140+
showToast(`Step ${approve ? "approved" : "rejected"} successfully.`, "success");
141+
if (total === completed) {
142+
setReloadLeftList(true);
143+
} else {
144+
setReloadLeftList(false);
145+
}
139146
await loadPlanData(false);
140147
} catch (error) {
141-
showToast("Failed to approve step.", "error");
142-
console.error("Failed to reject step:", error);
148+
showToast(`Failed to ${approve ? "approve" : "reject"} step.`, "error");
149+
console.error(`Failed to ${approve ? "approve" : "reject"} step:`, error);
143150
} finally {
144151
setProcessingSubtaskId(null);
145152
setSubmitting(false);
@@ -148,25 +155,6 @@ const PlanPage: React.FC = () => {
148155
[loadPlanData]
149156
);
150157

151-
const handleRejectStep = useCallback(
152-
async (step: Step) => {
153-
setProcessingSubtaskId(step.id);
154-
showToast("Submitting rejection...", "progress");
155-
setSubmitting(true);
156-
try {
157-
await PlanDataService.stepStatus(step, false);
158-
showToast("Step rejected successfully.", "success");
159-
await loadPlanData(false);
160-
} catch (error) {
161-
showToast("Failed to reject step.", "error");
162-
console.error("Failed to reject step:", error);
163-
} finally {
164-
setProcessingSubtaskId(null);
165-
setSubmitting(false);
166-
}
167-
},
168-
[loadPlanData]
169-
);
170158

171159
useEffect(() => {
172160
loadPlanData();
@@ -225,7 +213,6 @@ const PlanPage: React.FC = () => {
225213
<PlanPanelRight
226214
planData={planData}
227215
OnApproveStep={handleApproveStep}
228-
OnRejectStep={handleRejectStep}
229216
submittingChatDisableInput={submittingChatDisableInput}
230217
processingSubtaskId={processingSubtaskId}
231218
loading={loading}

0 commit comments

Comments
 (0)