website refactor

This commit is contained in:
2026-01-17 15:46:55 +01:00
parent 4d5ce9bfd6
commit 72a626ce71
346 changed files with 19308 additions and 8605 deletions

View File

@@ -1,7 +1,6 @@
import React from 'react';
import { getMediaUrl } from '@/lib/utilities/media';
import { TeamLeaderboardItem } from '@/ui/TeamLeaderboardItem';
import { TeamLeaderboardPreview as UiTeamLeaderboardPreview } from '@/ui/TeamLeaderboardPreview';
import { TeamLeaderboardPreview as SemanticTeamLeaderboardPreview } from '@/components/leaderboards/TeamLeaderboardPreview';
interface TeamLeaderboardPreviewProps {
topTeams: Array<{
@@ -24,58 +23,22 @@ export function TeamLeaderboardPreview({
onTeamClick,
onViewFullLeaderboard
}: TeamLeaderboardPreviewProps) {
const getMedalColor = (position: number) => {
switch (position) {
case 0: return '#facc15';
case 1: return '#d1d5db';
case 2: return '#d97706';
default: return '#6b7280';
}
};
const getMedalBg = (position: number) => {
switch (position) {
case 0: return 'rgba(250, 204, 21, 0.1)';
case 1: return 'rgba(209, 213, 219, 0.1)';
case 2: return 'rgba(217, 119, 6, 0.1)';
default: return 'rgba(38, 38, 38, 0.5)';
}
};
const getMedalBorder = (position: number) => {
switch (position) {
case 0: return 'rgba(250, 204, 21, 0.3)';
case 1: return 'rgba(209, 213, 219, 0.3)';
case 2: return 'rgba(217, 119, 6, 0.3)';
default: return 'rgba(38, 38, 38, 1)';
}
};
if (topTeams.length === 0) return null;
return (
<UiTeamLeaderboardPreview
title="Top Teams"
subtitle="Highest rated racing teams"
onViewFull={onViewFullLeaderboard}
>
{topTeams.map((team, index) => (
<TeamLeaderboardItem
key={team.id}
position={index + 1}
name={team.name}
logoUrl={team.logoUrl || getMediaUrl('team-logo', team.id)}
category={team.category}
memberCount={team.memberCount}
totalWins={team.totalWins}
isRecruiting={team.isRecruiting}
rating={team.rating}
onClick={() => onTeamClick(team.id)}
medalColor={getMedalColor(index)}
medalBg={getMedalBg(index)}
medalBorder={getMedalBorder(index)}
/>
))}
</UiTeamLeaderboardPreview>
<SemanticTeamLeaderboardPreview
teams={topTeams.map((team, index) => ({
id: team.id,
name: team.name,
tag: '', // Not available in this view data
memberCount: team.memberCount,
category: team.category,
totalWins: team.totalWins,
logoUrl: team.logoUrl || getMediaUrl('team-logo', team.id),
position: index + 1
}))}
onTeamClick={onTeamClick}
onNavigateToTeams={onViewFullLeaderboard}
/>
);
}