Skip to content

Commit b39c7f4

Browse files
feat: integrate coral toast system into HomePage
1 parent 5a1f7b9 commit b39c7f4

File tree

1 file changed

+15
-34
lines changed

1 file changed

+15
-34
lines changed

src/frontend/src/pages/HomePage.tsx

Lines changed: 15 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,7 @@ import React, { useEffect, useState, useCallback } from 'react';
22
import { useNavigate } from 'react-router-dom';
33
import {
44
Button,
5-
Spinner,
6-
Toast,
7-
ToastTitle,
8-
ToastBody,
9-
useToastController,
10-
Toaster
5+
Spinner
116
} from '@fluentui/react-components';
127
import {
138
Add20Regular,
@@ -25,14 +20,15 @@ import ContentToolbar from '@/coral/components/Content/ContentToolbar';
2520
import { TaskService } from '../services/TaskService';
2621
import { TeamConfig } from '../models/Team';
2722
import { TeamService } from '../services/TeamService';
23+
import InlineToaster, { useInlineToaster } from "../components/toast/InlineToaster";
2824

2925
/**
3026
* HomePage component - displays task lists and provides navigation
3127
* Accessible via the route "/"
3228
*/
3329
const HomePage: React.FC = () => {
3430
const navigate = useNavigate();
35-
const { dispatchToast } = useToastController("toast");
31+
const { showToast, dismissToast } = useInlineToaster();
3632
const [selectedTeam, setSelectedTeam] = useState<TeamConfig | null>(null);
3733
const [isLoadingTeam, setIsLoadingTeam] = useState(true);
3834

@@ -91,27 +87,17 @@ const HomePage: React.FC = () => {
9187
const handleTeamSelect = useCallback((team: TeamConfig | null) => {
9288
setSelectedTeam(team);
9389
if (team) {
94-
dispatchToast(
95-
<Toast>
96-
<ToastTitle>Team Selected</ToastTitle>
97-
<ToastBody>
98-
{team.name} team has been selected with {team.agents.length} agents
99-
</ToastBody>
100-
</Toast>,
101-
{ intent: "success" }
90+
showToast(
91+
`${team.name} team has been selected with ${team.agents.length} agents`,
92+
"success"
10293
);
10394
} else {
104-
dispatchToast(
105-
<Toast>
106-
<ToastTitle>Team Deselected</ToastTitle>
107-
<ToastBody>
108-
No team is currently selected
109-
</ToastBody>
110-
</Toast>,
111-
{ intent: "info" }
95+
showToast(
96+
"No team is currently selected",
97+
"info"
11298
);
11399
}
114-
}, [dispatchToast]);
100+
}, [showToast]);
115101

116102
/**
117103
* Handle team upload completion - refresh team list and keep Business Operations Team as default
@@ -128,25 +114,20 @@ const HomePage: React.FC = () => {
128114
setSelectedTeam(defaultTeam);
129115
console.log('Default team after upload:', defaultTeam.name);
130116
console.log('Business Operations Team remains default');
131-
dispatchToast(
132-
<Toast>
133-
<ToastTitle>Team Uploaded Successfully!</ToastTitle>
134-
<ToastBody>
135-
Team uploaded. {defaultTeam.name} remains your default team.
136-
</ToastBody>
137-
</Toast>,
138-
{ intent: "success" }
117+
showToast(
118+
`Team uploaded successfully! ${defaultTeam.name} remains your default team.`,
119+
"success"
139120
);
140121
}
141122
} catch (error) {
142123
console.error('Error refreshing teams after upload:', error);
143124
}
144-
}, [dispatchToast]);
125+
}, [showToast]);
145126

146127

147128
return (
148129
<>
149-
<Toaster toasterId="toast" />
130+
<InlineToaster />
150131
<CoralShellColumn>
151132
<CoralShellRow>
152133
<PlanPanelLeft

0 commit comments

Comments
 (0)