|
35 | 35 | {
|
36 | 36 | var queryDictionary = System.Web.HttpUtility.ParseQueryString(new Uri(NavigationManager.Uri).Query);
|
37 | 37 | var username = queryDictionary["username"] ?? "";
|
| 38 | + var entries = int.Parse(queryDictionary["entries"] ?? "10"); // This can error, but we don't care. |
| 39 | +
|
38 | 40 | // 0, 1, 2, 3, 4, 5 = Last24Hours, Last7Days, Last30Days, Last90Days, Last365Days, AllTime
|
39 | 41 | <div class="btn-group" role="group" aria-label="Time range selection" style="margin-bottom: 10px">
|
40 | 42 | <button type="button" class="btn btn-secondary" onclick="changeTimeRange(0)">Last 24 hours</button>
|
|
45 | 47 | <button type="button" class="btn btn-secondary" onclick="changeTimeRange(5)">All time</button>
|
46 | 48 | </div>
|
47 | 49 |
|
48 |
| - // Need a simple search bar to filter for own name |
| 50 | + <p>Showing leaderboards for the time range: @((RangeOption)int.Parse(queryDictionary["timeRange"] ?? "5"))</p> |
| 51 | + |
| 52 | + <div class="input-group mb-3"> |
| 53 | + <span class="input-group-text" id="basic-addon1">Entries to show</span> |
| 54 | + <input type="number" id="entries" class="form-control" placeholder="10" aria-label="Entries" aria-describedby="basic-addon1" value="@entries"> |
| 55 | + </div> |
| 56 | + |
49 | 57 | <div class="search-bar">
|
50 | 58 | <div class="d-flex ms-auto">
|
51 | 59 | <input
|
|
173 | 181 | var uri = new URL(window.location.href);
|
174 | 182 | uri.searchParams.set("timeRange", timeRange);
|
175 | 183 | uri.searchParams.set("username", document.getElementById("search").value);
|
| 184 | + uri.searchParams.set("entries", document.getElementById("entries").value); |
176 | 185 | // Get the selected servers
|
177 | 186 | let selectedServers = Array.from(document.getElementsByClassName("server-checkbox"))
|
178 | 187 | .filter(x => x.checked)
|
|
191 | 200 | var uri = new URL(window.location.href);
|
192 | 201 | uri.searchParams.set("timeRange", uri.searchParams.get("timeRange") || 5);
|
193 | 202 | uri.searchParams.set("username",search);
|
| 203 | + uri.searchParams.set("entries", document.getElementById("entries").value); |
194 | 204 | let selectedServers = Array.from(document.getElementsByClassName("server-checkbox"))
|
195 | 205 | .filter(x => x.checked)
|
196 | 206 | .map(x => x.value)
|
|
244 | 254 | // Need to convert the timerange number to the enum
|
245 | 255 | var timeRangeEnum = (RangeOption) timeRange;
|
246 | 256 | var username = queryDictionary["username"];
|
| 257 | + var entries = int.Parse(queryDictionary["entries"] ?? "10"); |
247 | 258 |
|
248 | 259 | if (username != null)
|
249 | 260 | {
|
|
268 | 279 | }
|
269 | 280 |
|
270 | 281 | var selectedServersArray = selectedServers.Split(',');
|
271 |
| - leaderboard = await LeaderboardService.GetLeaderboard(timeRangeEnum, username, selectedServersArray, authState); |
| 282 | + leaderboard = await LeaderboardService.GetLeaderboard(timeRangeEnum, username, selectedServersArray, authState, entries); |
272 | 283 | }
|
273 | 284 | catch (UnauthorizedAccessException)
|
274 | 285 | {
|
|
0 commit comments