Skip to content

Commit be3c7f7

Browse files
committed
specify names in Coaching Relationship toasts
1 parent 1a22466 commit be3c7f7

File tree

2 files changed

+40
-18
lines changed

2 files changed

+40
-18
lines changed

src/components/ui/members/add-member-dialog.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,11 +86,11 @@ export function AddMemberDialog({
8686
});
8787
setPasswordError("");
8888
onMemberAdded();
89-
toast.success("Member created successfully");
89+
toast.success(`New Member ${formData.firstName} ${formData.lastName} added successfully`);
9090
onOpenChange(false);
9191
} catch (error) {
9292
console.error("Error creating user:", error);
93-
toast.error("Error creating member");
93+
toast.error("There was an error adding the member");
9494
}
9595
};
9696

src/components/ui/members/member-card.tsx

Lines changed: 38 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import { MoreHorizontal, Trash2 } from "lucide-react";
1414
import {
1515
Dialog,
1616
DialogContent,
17+
DialogDescription,
1718
DialogHeader,
1819
DialogFooter,
1920
DialogTitle,
@@ -43,6 +44,12 @@ interface MemberCardProps {
4344
users: User[];
4445
}
4546

47+
interface Member {
48+
id: Id;
49+
first_name: string;
50+
last_name: string;
51+
}
52+
4653
export function MemberCard({
4754
firstName,
4855
lastName,
@@ -82,38 +89,50 @@ export function MemberCard({
8289
onRefresh();
8390
};
8491

92+
const handleAssignMember = (val: string) => {
93+
const user = users.find((m) => m.id === val);
94+
if (!user) return;
95+
const member: Member = {
96+
id: user.id,
97+
first_name: user.first_name,
98+
last_name: user.last_name,
99+
};
100+
setAssignedMember(member);
101+
};
102+
85103
// Placeholder – actual UI flows will be implemented later
86104
const [assignDialogOpen, setAssignDialogOpen] = useState(false);
87105
const [assignMode, setAssignMode] = useState<"coach" | "coachee">("coach");
88-
const [selectedMemberId, setSelectedMemberId] = useState<Id | null>(null);
89-
const [assignedMemberId, setAssignedMemberId] = useState<Id | null>(null);
106+
const [selectedMember, setSelectedMember] = useState<Member | null>(null);
107+
const [assignedMember, setAssignedMember] = useState<Member | null>(null);
90108

91109
const handleCreateCoachingRelationship = () => {
92-
if (!selectedMemberId || !assignedMemberId) return;
110+
if (!selectedMember || !assignedMember) return;
93111

94112
if (assignMode === "coach") {
95-
console.log("Assign", selectedMemberId, "as coach for", userId);
113+
console.log("Assign", selectedMember.id, "as coach for", userId);
96114
createRelationship(currentOrganizationId, {
97-
coach_id: assignedMemberId,
98-
coachee_id: selectedMemberId,
115+
coach_id: assignedMember.id,
116+
coachee_id: selectedMember.id,
99117
});
100118
} else {
101-
console.log("Assign", selectedMemberId, "as coachee for", userId);
119+
console.log("Assign", selectedMember.id, "as coachee for", userId);
102120
createRelationship(currentOrganizationId, {
103-
coach_id: selectedMemberId,
104-
coachee_id: assignedMemberId,
121+
coach_id: selectedMember.id,
122+
coachee_id: assignedMember.id,
105123
});
106124
}
107125

108126
if (createError) {
109-
toast.error("Error creating Coaching Relationship");
127+
toast.error(`Error assigning ${assignMode}`);
110128
return;
111129
}
112130

113-
toast.success("Coaching Relationship created successfully");
131+
toast.success(`Successfully assigned ${assignedMember.first_name} ${assignedMember.last_name} as ${assignMode} for ${selectedMember.first_name} ${selectedMember.last_name}`);
114132
onRefresh();
115133
setAssignDialogOpen(false);
116-
setSelectedMemberId(null);
134+
setSelectedMember(null);
135+
setAssignedMember(null);
117136
};
118137

119138
return (
@@ -137,7 +156,7 @@ export function MemberCard({
137156
onClick={() => {
138157
setAssignMode("coach");
139158
setAssignDialogOpen(true);
140-
setSelectedMemberId(userId);
159+
setSelectedMember({id: userId, first_name: firstName, last_name: lastName});
141160
}}
142161
>
143162
Assign Coach
@@ -146,7 +165,7 @@ export function MemberCard({
146165
onClick={() => {
147166
setAssignMode("coachee");
148167
setAssignDialogOpen(true);
149-
setSelectedMemberId(userId);
168+
setSelectedMember({id: userId, first_name: firstName, last_name: lastName});
150169
}}
151170
>
152171
Assign Coachee
@@ -174,10 +193,13 @@ export function MemberCard({
174193
<DialogTitle>
175194
{assignMode === "coach" ? "Assign Coach" : "Assign Coachee"}
176195
</DialogTitle>
196+
<DialogDescription>
197+
Select a member to be their {assignMode === "coach" ? "coach" : "coachee"}
198+
</DialogDescription>
177199
</DialogHeader>
178200
<Select
179-
onValueChange={(val) => setAssignedMemberId(val as Id)}
180-
value={assignedMemberId ?? undefined}
201+
onValueChange={(val) => handleAssignMember(val)}
202+
value={assignedMember?.id?.toString()}
181203
>
182204
<SelectTrigger className="w-full">
183205
<SelectValue placeholder="Select a member" />

0 commit comments

Comments
 (0)