fix: unwrap nested team data in hooks instead of components

- useMyTeams and useTeamsByUserId now unwrap {team: {...}} structure
- Simplified dashboard and user profile components

🤖 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-30 14:13:11 +07:00
co-authored by Claude
parent 45c75b3283
commit 23b6677323
3 changed files with 60 additions and 58 deletions
+10 -4
View File
@@ -434,8 +434,11 @@ export const useMyTeams = () => {
return useQuery({
queryKey: teamKeys.myTeams(),
queryFn: async () => {
const response = await hackathonApi.get<HackathonApiResponse<Team[]>>('/teams/my');
return { data: response.data.data || [] };
const response = await hackathonApi.get<HackathonApiResponse<any[]>>('/teams/my');
const rawData = response.data.data || [];
// Unwrap nested team data if present (API returns [{team: {...}}] or [{id, name, ...}])
const teams = rawData.map((item: any) => item.team || item);
return { data: teams };
},
enabled: !!session?.user?.id,
});
@@ -555,8 +558,11 @@ export const useTeamsByUserId = (userId: string) => {
return useQuery({
queryKey: ['teams-by-user', userId],
queryFn: async () => {
const response = await hackathonApi.get<HackathonApiResponse<Team[]>>(`/users/${userId}/teams`);
return { data: response.data.data || [] };
const response = await hackathonApi.get<HackathonApiResponse<any[]>>(`/users/${userId}/teams`);
const rawData = response.data.data || [];
// Unwrap nested team data if present (API returns [{team: {...}}] or [{id, name, ...}])
const teams = rawData.map((item: any) => item.team || item);
return { data: teams };
},
enabled: !!userId,
});