Skip to content

Commit 1f75a29

Browse files
committed
Refactor plan panel left reload logic and props
Simplifies reload logic in PlanPanelLeft by removing unused imports and effect, and ensures plans reload on team selection. Updates PlanPanelLefProps to require reloadTasks. Adjusts HomePage to trigger left panel reload on team selection and improves logging for better traceability.
1 parent bc3ee74 commit 1f75a29

File tree

3 files changed

+13
-19
lines changed

3 files changed

+13
-19
lines changed

src/frontend/src/components/content/PlanPanelLeft.tsx

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,13 @@ import PanelLeft from "@/coral/components/Panels/PanelLeft";
22
import PanelLeftToolbar from "@/coral/components/Panels/PanelLeftToolbar";
33
import {
44
Body1Strong,
5-
Button,
6-
Subtitle1,
7-
Subtitle2,
85
Toast,
96
ToastBody,
107
ToastTitle,
118
Tooltip,
129
useToastController,
1310
} from "@fluentui/react-components";
1411
import {
15-
Add20Regular,
1612
ChatAdd20Regular,
1713
ErrorCircle20Regular,
1814
} from "@fluentui/react-icons";
@@ -22,7 +18,6 @@ import { useNavigate, useParams } from "react-router-dom";
2218
import { Plan, PlanPanelLefProps, Task, UserInfo } from "@/models";
2319
import { apiService } from "@/api";
2420
import { TaskService } from "@/services";
25-
import MsftColor from "@/coral/imports/MsftColor";
2621
import ContosoLogo from "../../coral/imports/ContosoLogo";
2722
import "../../styles/PlanPanelLeft.css";
2823
import PanelFooter from "@/coral/components/Panels/PanelFooter";
@@ -60,9 +55,10 @@ const PlanPanelLeft: React.FC<PlanPanelLefProps> = ({
6055

6156
const loadPlansData = useCallback(async (forceRefresh = false) => {
6257
try {
58+
console.log("Loading plans, forceRefresh:", forceRefresh);
6359
setPlansLoading(true);
6460
setPlansError(null);
65-
const plansData = await apiService.getPlans(undefined, !forceRefresh);
61+
const plansData = await apiService.getPlans(undefined, forceRefresh);
6662
setPlans(plansData);
6763
} catch (error) {
6864
console.log("Failed to load plans:", error);
@@ -74,12 +70,7 @@ const PlanPanelLeft: React.FC<PlanPanelLefProps> = ({
7470
}
7571
}, []);
7672

77-
useEffect(() => {
78-
if (reloadTasks) {
79-
loadPlansData();
80-
restReload?.();
81-
}
82-
}, [reloadTasks, loadPlansData, restReload]);
73+
8374
// Fetch plans
8475

8576

@@ -131,6 +122,7 @@ const PlanPanelLeft: React.FC<PlanPanelLefProps> = ({
131122
const handleTeamSelect = useCallback(
132123
(team: TeamConfig | null) => {
133124
// Use parent's team select handler if provided, otherwise use local state
125+
loadPlansData();
134126
if (onTeamSelect) {
135127
onTeamSelect(team);
136128
} else {
@@ -160,7 +152,7 @@ const PlanPanelLeft: React.FC<PlanPanelLefProps> = ({
160152
}
161153
}
162154
},
163-
[onTeamSelect, dispatchToast]
155+
[onTeamSelect, dispatchToast, loadPlansData]
164156
);
165157

166158
return (

src/frontend/src/models/planPanelLeft.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { TeamConfig } from './Team';
22

33
export interface PlanPanelLefProps {
4-
reloadTasks?: boolean;
4+
reloadTasks: boolean;
55
onNewTaskButton: () => void;
66
restReload?: () => void;
77
onTeamSelect?: (team: TeamConfig | null) => void;

src/frontend/src/pages/HomePage.tsx

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -98,15 +98,17 @@ const HomePage: React.FC = () => {
9898
*/
9999
const handleTeamSelect = useCallback(async (team: TeamConfig | null) => {
100100
setSelectedTeam(team);
101+
setReloadLeftList(true);
102+
console.log('handleTeamSelect called with team:', true);
101103
if (team) {
102104

103105
try {
104106
// TODO REFRACTOR THIS CODE
105107
setIsLoadingTeam(true);
106108
const initResponse = await TeamService.initializeTeam(true);
107-
setReloadLeftList(true)
109+
108110
if (initResponse.data?.status === 'Request started successfully' && initResponse.data?.team_id) {
109-
console.log('Team initialization completed:', initResponse.data?.team_id);
111+
console.log('handleTeamSelect:', initResponse.data?.team_id);
110112

111113
// Now fetch the actual team details using the team_id
112114
const teams = await TeamService.getUserTeams();
@@ -115,9 +117,9 @@ const HomePage: React.FC = () => {
115117
if (initializedTeam) {
116118
setSelectedTeam(initializedTeam);
117119
TeamService.storageTeam(initializedTeam);
118-
119-
console.log('Team loaded successfully:', initializedTeam.name);
120-
console.log('Team agents:', initializedTeam.agents?.length || 0);
120+
setReloadLeftList(true)
121+
console.log('Team loaded successfully handleTeamSelect:', initializedTeam.name);
122+
console.log('Team agents handleTeamSelect:', initializedTeam.agents?.length || 0);
121123

122124
showToast(
123125
`${initializedTeam.name} team initialized successfully with ${initializedTeam.agents?.length || 0} agents`,

0 commit comments

Comments
 (0)