import { AchievementCard } from '@/components/achievements/AchievementCard';
import { Card } from '@/ui/Card';
import { GoalCard } from '@/ui/GoalCard';
import { Heading } from '@/ui/Heading';
import { MilestoneItem } from '@/components/achievements/MilestoneItem';
import { Stack } from '@/ui/Stack';
import { Grid } from '@/ui/Grid';

interface Achievement {
  id: string;
  title: string;
  description: string;
  icon: string;
  unlockedAt: string;
  rarity: 'common' | 'rare' | 'epic' | 'legendary';
}

const mockAchievements: Achievement[] = [
  { id: '1', title: 'First Victory', description: 'Won your first race', icon: '🏆', unlockedAt: '2024-03-15', rarity: 'common' },
  { id: '2', title: '10 Podiums', description: 'Achieved 10 podium finishes', icon: '🥈', unlockedAt: '2024-05-22', rarity: 'rare' },
  { id: '3', title: 'Clean Racer', description: 'Completed 25 races with 0 incidents', icon: '✨', unlockedAt: '2024-08-10', rarity: 'epic' },
  { id: '4', title: 'Comeback King', description: 'Won a race after starting P10 or lower', icon: '⚡', unlockedAt: '2024-09-03', rarity: 'rare' },
  { id: '5', title: 'Perfect Weekend', description: 'Pole, fastest lap, and win in same race', icon: '💎', unlockedAt: '2024-10-17', rarity: 'legendary' },
  { id: '6', title: 'Century Club', description: 'Completed 100 races', icon: '💯', unlockedAt: '2024-11-01', rarity: 'epic' },
];

export function CareerHighlights() {
  return (
    <Stack gap={6}>
      <Card>
        <Heading level={3} mb={4}>Key Milestones</Heading>
        
        <Stack gap={3}>
          <MilestoneItem
            label="First Race"
            value="March 15, 2024"
            icon="🏁"
          />
          <MilestoneItem
            label="First Win"
            value="March 15, 2024 (Imola)"
            icon="🏆"
          />
          <MilestoneItem
            label="Highest Rating"
            value="1487 (Nov 2024)"
            icon="📈"
          />
          <MilestoneItem
            label="Longest Win Streak"
            value="4 races (Oct 2024)"
            icon="🔥"
          />
          <MilestoneItem
            label="Most Wins (Track)"
            value="Spa-Francorchamps (7)"
            icon="🗺️"
          />
          <MilestoneItem
            label="Favorite Car"
            value="Porsche 911 GT3 R (45 races)"
            icon="🏎️"
          />
        </Stack>
      </Card>

      <Card>
        <Heading level={3} mb={4}>Achievements</Heading>
        
        <Grid cols={1} mdCols={2} gap={3}>
          {mockAchievements.map((achievement) => (
            <AchievementCard
              key={achievement.id}
              title={achievement.title}
              description={achievement.description}
              icon={achievement.icon}
              unlockedAt={achievement.unlockedAt}
              rarity={achievement.rarity}
            />
          ))}
        </Grid>
      </Card>

      <GoalCard
        title="Next Goals"
        icon="🎯"
        goalLabel="Win 25 races"
        currentValue={23}
        maxValue={25}
      />
    </Stack>
  );
}
