wip
This commit is contained in:
@@ -6,6 +6,7 @@ import {
|
||||
getFeedRepository,
|
||||
getRaceRepository,
|
||||
getResultRepository,
|
||||
getDriverRepository,
|
||||
} from '@/lib/di-container';
|
||||
|
||||
export const dynamic = 'force-dynamic';
|
||||
@@ -21,7 +22,8 @@ export default async function DashboardPage() {
|
||||
const feedRepository = getFeedRepository();
|
||||
const raceRepository = getRaceRepository();
|
||||
const resultRepository = getResultRepository();
|
||||
|
||||
const driverRepository = getDriverRepository();
|
||||
|
||||
const [feedItems, upcomingRaces, allResults] = await Promise.all([
|
||||
feedRepository.getFeedForDriver(session.user.primaryDriverId ?? ''),
|
||||
raceRepository.findAll(),
|
||||
@@ -35,21 +37,27 @@ export default async function DashboardPage() {
|
||||
|
||||
const completedRaces = upcomingRaces.filter((race) => race.status === 'completed');
|
||||
|
||||
const latestResults = completedRaces.slice(0, 4).map((race) => {
|
||||
const raceResults = allResults.filter((result) => result.raceId === race.id);
|
||||
const winner = raceResults.sort((a, b) => a.position - b.position)[0];
|
||||
|
||||
return {
|
||||
raceId: race.id,
|
||||
leagueId: race.leagueId,
|
||||
track: race.track,
|
||||
car: race.car,
|
||||
scheduledAt: race.scheduledAt,
|
||||
winnerDriverId: winner?.driverId ?? '',
|
||||
winnerName: 'Race Winner',
|
||||
positionChange: winner ? winner.getPositionChange() : 0,
|
||||
};
|
||||
});
|
||||
const latestResults = await Promise.all(
|
||||
completedRaces.slice(0, 4).map(async (race) => {
|
||||
const raceResults = allResults.filter((result) => result.raceId === race.id);
|
||||
const winner = raceResults.slice().sort((a, b) => a.position - b.position)[0];
|
||||
const winnerDriverId = winner?.driverId ?? '';
|
||||
const winnerDriver = winnerDriverId
|
||||
? await driverRepository.findById(winnerDriverId)
|
||||
: null;
|
||||
|
||||
return {
|
||||
raceId: race.id,
|
||||
leagueId: race.leagueId,
|
||||
track: race.track,
|
||||
car: race.car,
|
||||
scheduledAt: race.scheduledAt,
|
||||
winnerDriverId,
|
||||
winnerName: winnerDriver?.name ?? 'Race Winner',
|
||||
positionChange: winner ? winner.getPositionChange() : 0,
|
||||
};
|
||||
}),
|
||||
);
|
||||
|
||||
return (
|
||||
<main className="min-h-screen bg-deep-graphite">
|
||||
|
||||
Reference in New Issue
Block a user