diff options
| author | salmonik <salmonik@tuta.io> | 2026-11-04 01:32:21 +0100 |
|---|---|---|
| committer | salmonik <salmonik@tuta.io> | 2026-11-04 01:32:21 +0100 |
| commit | 1584c921eb8900b160275401cb8e15e72fdbf273 (patch) | |
| tree | a95db5555f48f90128441a6942dcf945667549a5 | |
| parent | web: percent-encode UTF-8 query bytes (diff) | |
| download | senator-sperma-1584c921eb8900b160275401cb8e15e72fdbf273.tar.gz senator-sperma-1584c921eb8900b160275401cb8e15e72fdbf273.zip | |
leaderboard: use competition ranks consistently
| -rw-r--r-- | src/commands/leaderboard.rs | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/commands/leaderboard.rs b/src/commands/leaderboard.rs index 94d67d1..5b79360 100644 --- a/src/commands/leaderboard.rs +++ b/src/commands/leaderboard.rs | |||
| @@ -142,7 +142,14 @@ async fn create_leaderboard_embed( | |||
| 142 | 142 | ||
| 143 | let mut description = String::new(); | 143 | let mut description = String::new(); |
| 144 | for (i, entry) in entries.iter().enumerate() { | 144 | for (i, entry) in entries.iter().enumerate() { |
| 145 | let rank = offset + i as i64 + 1; | 145 | // Use the same competition ranking as `/leaderboard me` so tied |
| 146 | // users show the same number in both views. | ||
| 147 | let fallback = offset + i as i64 + 1; | ||
| 148 | let rank = match database::get_user_rank(&ctx.data().db_pool, &entry.user_id, metric).await | ||
| 149 | { | ||
| 150 | Ok(rank) if rank > 0 => rank, | ||
| 151 | _ => fallback, | ||
| 152 | }; | ||
| 146 | let display_name = resolve_display_name(ctx, &entry.user_id).await; | 153 | let display_name = resolve_display_name(ctx, &entry.user_id).await; |
| 147 | 154 | ||
| 148 | let value = match metric { | 155 | let value = match metric { |
