Felix Zieger commited on
Commit
ad17252
·
1 Parent(s): 483e9c5
Files changed (1) hide show
  1. src/components/HighScoreBoard.tsx +29 -9
src/components/HighScoreBoard.tsx CHANGED
@@ -38,6 +38,19 @@ interface HighScoreBoardProps {
38
 
39
  const ITEMS_PER_PAGE = 10;
40
 
 
 
 
 
 
 
 
 
 
 
 
 
 
41
  export const HighScoreBoard = ({
42
  currentScore,
43
  avgWordsPerRound,
@@ -176,14 +189,21 @@ export const HighScoreBoard = ({
176
  </TableRow>
177
  </TableHeader>
178
  <TableBody>
179
- {paginatedScores?.map((score, index) => (
180
- <TableRow key={score.id}>
181
- <TableCell>{startIndex + index + 1}</TableCell>
182
- <TableCell>{score.player_name}</TableCell>
183
- <TableCell>{score.score}</TableCell>
184
- <TableCell>{score.avg_words_per_round.toFixed(1)}</TableCell>
185
- </TableRow>
186
- ))}
 
 
 
 
 
 
 
187
  {!paginatedScores?.length && (
188
  <TableRow>
189
  <TableCell colSpan={4} className="text-center">
@@ -232,4 +252,4 @@ export const HighScoreBoard = ({
232
  </div>
233
  </div>
234
  );
235
- };
 
38
 
39
  const ITEMS_PER_PAGE = 10;
40
 
41
+ const getRankMedal = (rank: number) => {
42
+ switch (rank) {
43
+ case 1:
44
+ return "🥇";
45
+ case 2:
46
+ return "🥈";
47
+ case 3:
48
+ return "🥉";
49
+ default:
50
+ return null;
51
+ }
52
+ };
53
+
54
  export const HighScoreBoard = ({
55
  currentScore,
56
  avgWordsPerRound,
 
189
  </TableRow>
190
  </TableHeader>
191
  <TableBody>
192
+ {paginatedScores?.map((score, index) => {
193
+ const absoluteRank = startIndex + index + 1;
194
+ const medal = getRankMedal(absoluteRank);
195
+ return (
196
+ <TableRow key={score.id}>
197
+ <TableCell>
198
+ {absoluteRank}
199
+ {medal && <span className="ml-2">{medal}</span>}
200
+ </TableCell>
201
+ <TableCell>{score.player_name}</TableCell>
202
+ <TableCell>{score.score}</TableCell>
203
+ <TableCell>{score.avg_words_per_round.toFixed(1)}</TableCell>
204
+ </TableRow>
205
+ );
206
+ })}
207
  {!paginatedScores?.length && (
208
  <TableRow>
209
  <TableCell colSpan={4} className="text-center">
 
252
  </div>
253
  </div>
254
  );
255
+ };