wip
This commit is contained in:
@@ -71,11 +71,15 @@ interface TopThreePodiumProps {
|
||||
}
|
||||
|
||||
function TopThreePodium({ drivers, onDriverClick }: TopThreePodiumProps) {
|
||||
const top3 = drivers.slice(0, 3);
|
||||
if (drivers.length < 3) return null;
|
||||
|
||||
if (top3.length < 3) return null;
|
||||
const top3 = drivers.slice(0, 3) as [DriverListItem, DriverListItem, DriverListItem];
|
||||
|
||||
const podiumOrder = [top3[1], top3[0], top3[2]]; // 2nd, 1st, 3rd
|
||||
const podiumOrder: [DriverListItem, DriverListItem, DriverListItem] = [
|
||||
top3[1],
|
||||
top3[0],
|
||||
top3[2],
|
||||
]; // 2nd, 1st, 3rd
|
||||
const podiumHeights = ['h-32', 'h-40', 'h-24'];
|
||||
const podiumColors = [
|
||||
'from-gray-400/20 to-gray-500/10 border-gray-400/40',
|
||||
|
||||
@@ -21,6 +21,7 @@ import {
|
||||
import Button from '@/components/ui/Button';
|
||||
import Heading from '@/components/ui/Heading';
|
||||
import { getGetDriversLeaderboardUseCase, getGetTeamsLeaderboardUseCase } from '@/lib/di-container';
|
||||
import { TeamsLeaderboardPresenter } from '@/lib/presenters/TeamsLeaderboardPresenter';
|
||||
import type { DriverLeaderboardItemViewModel, SkillLevel } from '@gridpilot/racing/application/presenters/IDriversLeaderboardPresenter';
|
||||
import type { TeamLeaderboardItemViewModel } from '@gridpilot/racing/application/presenters/ITeamsLeaderboardPresenter';
|
||||
import Image from 'next/image';
|
||||
@@ -286,14 +287,16 @@ export default function LeaderboardsPage() {
|
||||
try {
|
||||
const driversUseCase = getGetDriversLeaderboardUseCase();
|
||||
const teamsUseCase = getGetTeamsLeaderboardUseCase();
|
||||
const teamsPresenter = new TeamsLeaderboardPresenter();
|
||||
|
||||
await driversUseCase.execute();
|
||||
await teamsUseCase.execute();
|
||||
await teamsUseCase.execute(undefined as void, teamsPresenter);
|
||||
|
||||
const driversViewModel = driversUseCase.presenter.getViewModel();
|
||||
const teamsViewModel = teamsUseCase.presenter.getViewModel();
|
||||
const teamsViewModel = teamsPresenter.getViewModel();
|
||||
|
||||
setDrivers(driversViewModel.drivers);
|
||||
setTeams(teamsViewModel.teams);
|
||||
setTeams(teamsViewModel ? teamsViewModel.teams : []);
|
||||
} catch (error) {
|
||||
console.error('Failed to load leaderboard data:', error);
|
||||
setDrivers([]);
|
||||
|
||||
Reference in New Issue
Block a user