import { usePageDataMultiple } from '@/lib/page/usePageData'; import { useInject } from '@/lib/di/hooks/useInject'; import { DRIVER_SERVICE_TOKEN, TEAM_SERVICE_TOKEN } from '@/lib/di/tokens'; export function useDriverProfilePageData(driverId: string) { const driverService = useInject(DRIVER_SERVICE_TOKEN); const teamService = useInject(TEAM_SERVICE_TOKEN); return usePageDataMultiple({ driverProfile: { queryKey: ['driverProfile', driverId], queryFn: () => driverService.getDriverProfile(driverId), enabled: !!driverId, }, teamMemberships: { queryKey: ['teamMemberships', driverId], queryFn: async () => { if (!driverId) return []; const allTeams = await teamService.getAllTeams(); let teamMemberships: Array<{ team: { id: string; name: string }; role: string; joinedAt: Date; }> = []; for (const team of allTeams) { const teamMembers = await teamService.getTeamMembers(team.id, driverId, ''); const membership = teamMembers?.find(member => member.driverId === driverId); if (membership) { teamMemberships.push({ team: { id: team.id, name: team.name, }, role: membership.role, joinedAt: new Date(membership.joinedAt), }); } } return teamMemberships; }, enabled: !!driverId, }, }); }