This commit is contained in:
2025-12-10 18:28:32 +01:00
parent 6d61be9c51
commit 1303a14493
108 changed files with 3366 additions and 1559 deletions

View File

@@ -38,11 +38,11 @@ import {
getDriverRepository,
getDriverStats,
getAllDriverRankings,
getGetDriverTeamQuery,
getGetDriverTeamUseCase,
getSocialRepository,
getImageService,
getGetAllTeamsQuery,
getGetTeamMembersQuery,
getGetAllTeamsUseCase,
getGetTeamMembersUseCase,
} from '@/lib/di-container';
import { Driver, EntityMappers, type DriverDTO, type Team } from '@gridpilot/racing';
import CreateDriverForm from '@/components/drivers/CreateDriverForm';
@@ -381,18 +381,23 @@ export default function ProfilePage() {
setDriver(driverData);
// Load primary team data
const teamQuery = getGetDriverTeamQuery();
const teamResult = await teamQuery.execute({ driverId: currentDriverId });
setTeamData(teamResult);
const teamUseCase = getGetDriverTeamUseCase();
await teamUseCase.execute({ driverId: currentDriverId });
const teamViewModel = teamUseCase.presenter.getViewModel();
setTeamData(teamViewModel.result);
// Load ALL team memberships
const allTeamsQuery = getGetAllTeamsQuery();
const allTeams = await allTeamsQuery.execute();
const membershipsQuery = getGetTeamMembersQuery();
const allTeamsUseCase = getGetAllTeamsUseCase();
await allTeamsUseCase.execute();
const allTeamsViewModel = allTeamsUseCase.presenter.getViewModel();
const allTeams = allTeamsViewModel.teams;
const membershipsUseCase = getGetTeamMembersUseCase();
const memberships: TeamMembershipInfo[] = [];
for (const team of allTeams) {
const members = await membershipsQuery.execute({ teamId: team.id });
await membershipsUseCase.execute({ teamId: team.id });
const membersViewModel = membershipsUseCase.presenter.getViewModel();
const members = membersViewModel.members;
const membership = members.find((m) => m.driverId === currentDriverId);
if (membership) {
memberships.push({

View File

@@ -7,7 +7,7 @@ import Button from '@/components/ui/Button';
import Breadcrumbs from '@/components/layout/Breadcrumbs';
import PendingSponsorshipRequests, { type PendingRequestDTO } from '@/components/sponsors/PendingSponsorshipRequests';
import {
getGetPendingSponsorshipRequestsQuery,
getGetPendingSponsorshipRequestsUseCase,
getAcceptSponsorshipRequestUseCase,
getRejectSponsorshipRequestUseCase,
getDriverRepository,
@@ -46,7 +46,7 @@ export default function SponsorshipRequestsPage() {
const teamRepo = getTeamRepository();
const leagueMembershipRepo = getLeagueMembershipRepository();
const teamMembershipRepo = getTeamMembershipRepository();
const query = getGetPendingSponsorshipRequestsQuery();
const useCase = getGetPendingSponsorshipRequestsUseCase();
const allSections: EntitySection[] = [];