@page "/leaderboard" @using CsWeb.Services @model LeaderboardModel @{ ViewData["Title"] = "Leaderboard"; var t = Model.Top; var d = t?.Data; }

Leaderboard

@if (t is null || d is null) {
Leaderboards are unavailable right now (no server reachable).
} else { @if (!t.Online) {
Servers are offline — showing the last known standings (@Fmt.Age(t)).
}

Progression

@foreach (var (r, i) in d.Levels.Select((r, i) => (r, i))) { }
#PlayerPrestigeLevel
@(i + 1)@r.Name@r.Prestige@r.Level

Deepest survival wave

@foreach (var (r, i) in d.Waves.Select((r, i) => (r, i))) { } @if (d.Waves.Count == 0) { }
#PlayerWave
@(i + 1)@r.Name@r.BestWave
No cleared waves recorded yet.

Fastest Gun Game

@foreach (var (r, i) in d.GgTimes.Select((r, i) => (r, i))) { } @if (d.GgTimes.Count == 0) { }
#PlayerTime
@(i + 1)@r.Name@Fmt.RunTime(r.BestMs)
No full ladder runs recorded yet.

The clock starts at your first damage dealt or taken after joining — reconnecting doesn't reset it.

}