Skip to content

Commit 53ac647

Browse files
authored
Merge pull request #507 from microsoft/macae-v3-fr-dev-92
Refactor plan panel left reload logic and props
2 parents bc3ee74 + dfdb99e commit 53ac647

File tree

4 files changed

+19
-19
lines changed

4 files changed

+19
-19
lines changed

src/backend/v3/api/router.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -274,6 +274,12 @@ async def process_request(
274274
team_id = None
275275
if user_current_team:
276276
team_id = user_current_team.team_id
277+
team = await memory_store.get_team_by_id(team_id=team_id)
278+
if not team:
279+
raise HTTPException(
280+
status_code=404,
281+
detail=f"Team configuration '{team_id}' not found or access denied",
282+
)
277283
plan = Plan(
278284
id=plan_id,
279285
plan_id=plan_id,

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)