fix: filter join requests to only show pending status

- Add .eq('status', 'pending') filter to useTeamJoinRequests hook
- Add toast notifications for approve/reject actions on members page
- Parse Supabase error messages to show user-friendly error text

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Maulana Sodiqin
2025-11-26 11:03:34 +07:00
co-authored by Claude
parent cbb880a053
commit eb0628ac3e
2 changed files with 16 additions and 1 deletions
+11 -1
View File
@@ -442,7 +442,17 @@ export const useRespondToJoinRequest = (teamId: string) => {
.update({ status: 'pending' })
.eq('id', requestId);
throw new Error('Failed to add member to team: ' + memberError.message);
// Parse Supabase error for user-friendly message
let errorMsg = memberError.message;
if (errorMsg.includes('Team already has 5 members') || errorMsg.includes('Team cannot have more than 5 members')) {
errorMsg = 'Team is full! Maximum 5 members allowed.';
} else if (errorMsg.includes('already in a team') || errorMsg.includes('User is already in a team')) {
errorMsg = 'This user is already in another team.';
} else if (errorMsg.includes('Bulk insert')) {
errorMsg = 'Invalid operation detected.';
}
throw new Error(errorMsg);
}
return { success: true, action: 'accepted' };