|
4 | 4 | <a href="/" class="btn btn-primary btn-md mt-3" role="button">All Contests</a> |
5 | 5 | <h2 class="mb-5 mt-3" style="text-align: center;">Ranking of <strong><%= contest.title || contest._id %> </strong> |
6 | 6 | </h2> |
7 | | - <form action="/contests/<%= contest._id %>/ranking/search" method='POST'> |
| 7 | + <form action="/contest/<%= contest._id %>/ranking/search" method='POST'> |
8 | 8 | <div class="mb-3"> |
9 | 9 | <input type="text" class="form-control" id="user" name="user" placeholder="Get a contestant by username"> |
10 | 10 | <button type="submit" class="btn btn-primary mt-3 mb-3">Search</button> |
|
15 | 15 | <ul class="pagination flex-wrap"> |
16 | 16 | <% if (page>1) { %> |
17 | 17 | <li class="page-item"> |
18 | | - <a class="page-link" href="/contests/<%= contest._id %>/ranking/<%= page - 1 %>" tabindex="-1"> |
| 18 | + <a class="page-link" href="/contest/<%= contest._id %>/ranking/<%= page - 1 %>" tabindex="-1"> |
19 | 19 | <<</a> </li> <li class="page-item"><a class="page-link" |
20 | | - href="/contests/<%= contest._id %>/ranking/1">1</a></li> |
| 20 | + href="/contest/<%= contest._id %>/ranking/1">1</a></li> |
21 | 21 |
|
22 | 22 | <% } %> |
23 | 23 | <% if (page===3) { %> |
24 | 24 |
|
25 | 25 | <li class="page-item"> |
26 | | - <a class="page-link" href="/contests/<%= contest._id %>/ranking/<%= page - 1 %>" |
| 26 | + <a class="page-link" href="/contest/<%= contest._id %>/ranking/<%= page - 1 %>" |
27 | 27 | tabindex="-1"><%= page - 1 %></a> |
28 | 28 | </li> |
29 | 29 |
|
|
33 | 33 | <a class="page-link" style="pointer-events: none;" tabindex="-1">..</a> |
34 | 34 | </li> |
35 | 35 | <li class="page-item"> |
36 | | - <a class="page-link" href="/contests/<%= contest._id %>/ranking/<%= page - 2 %>" |
| 36 | + <a class="page-link" href="/contest/<%= contest._id %>/ranking/<%= page - 2 %>" |
37 | 37 | tabindex="-1"><%= page - 2 %></a> |
38 | 38 | </li> |
39 | 39 | <li class="page-item"> |
40 | | - <a class="page-link" href="/contests/<%= contest._id %>/ranking/<%= page - 1 %>" |
| 40 | + <a class="page-link" href="/contest/<%= contest._id %>/ranking/<%= page - 1 %>" |
41 | 41 | tabindex="-1"><%= page - 1 %></a> |
42 | 42 | </li> |
43 | 43 |
|
44 | 44 |
|
45 | 45 | <% } %> |
46 | 46 | <li class="page-item active"> |
47 | | - <a class="page-link" href="/contests/<%= contest._id %>/ranking/<%= page%>"><%= page %> <span |
| 47 | + <a class="page-link" href="/contest/<%= contest._id %>/ranking/<%= page%>"><%= page %> <span |
48 | 48 | class="sr-only">(current)</span></a> |
49 | 49 | </li> |
50 | 50 | <% if (page===totalPages-2) { %> |
51 | 51 | <li class="page-item"> |
52 | | - <a class="page-link" href="/contests/<%= contest._id %>/ranking/<%= parseInt(page) + 1 %>" |
| 52 | + <a class="page-link" href="/contest/<%= contest._id %>/ranking/<%= parseInt(page) + 1 %>" |
53 | 53 | tabindex="-1"><%= parseInt(page) + 1 %></a> |
54 | 54 | </li> |
55 | 55 | <% } %> |
56 | 56 | <% if (page<totalPages-2) { %> |
57 | 57 | <li class="page-item"> |
58 | | - <a class="page-link" href="/contests/<%= contest._id %>/ranking/<%= parseInt(page) + 1 %>" |
| 58 | + <a class="page-link" href="/contest/<%= contest._id %>/ranking/<%= parseInt(page) + 1 %>" |
59 | 59 | tabindex="-1"><%= parseInt(page) + 1 %></a> |
60 | 60 | </li> |
61 | 61 | <li class="page-item"> |
62 | | - <a class="page-link" href="/contests/<%= contest._id %>/ranking/<%= parseInt(page) + 2 %>" |
| 62 | + <a class="page-link" href="/contest/<%= contest._id %>/ranking/<%= parseInt(page) + 2 %>" |
63 | 63 | tabindex="-1"><%= parseInt(page) + 2 %></a> |
64 | 64 | </li> |
65 | 65 | <li class="page-item"> |
|
69 | 69 | <% if (page<totalPages) { %> |
70 | 70 |
|
71 | 71 | <li class="page-item"><a class="page-link" |
72 | | - href="/contests/<%= contest._id %>/ranking/<%= totalPages %> "><%= totalPages %> </a></li> |
| 72 | + href="/contest/<%= contest._id %>/ranking/<%= totalPages %> "><%= totalPages %> </a></li> |
73 | 73 | <li class="page-item"> |
74 | | - <a class="page-link" href="/contests/<%= contest._id %>/ranking/<%= page + 1 %>" tabindex="-1">>></a> |
| 74 | + <a class="page-link" href="/contest/<%= contest._id %>/ranking/<%= page + 1 %>" tabindex="-1">>></a> |
75 | 75 | </li> |
76 | 76 | <% } %> |
77 | 77 |
|
|
80 | 80 | <% } %> |
81 | 81 | </nav> |
82 | 82 | <div class="table-responsive-lg"> |
83 | | - <table class="table table-hover table-striped table-fixed"> |
| 83 | + <table class="table table-hover table-striped table-fixed "> |
84 | 84 | <thead> |
85 | 85 | <tr> |
86 | 86 | <th>#</th> |
87 | | - <th>Rank</th> |
88 | | - <th>Name</th> |
89 | | - <th>Rating</th> |
90 | | - <th>Δ</th> |
91 | | - <th>Country Name</th> |
| 87 | + <th class="pl-3">Username</th> |
| 88 | + <th class="text-center">Rank</th> |
| 89 | + |
| 90 | + <th class="text-center">Previous rating</th> |
| 91 | + <th class="text-center">Expected new rating</th> |
| 92 | + <th class="text-center">Δ</th> |
| 93 | + <th class="text-center">Country Name</th> |
92 | 94 | </tr> |
93 | 95 | </thead> |
94 | 96 | <tbody> |
95 | 97 | <% if (contest.rankings) { %> |
96 | 98 | <% for( let i = 0; i < contest.rankings.length; i++ ) { %> |
97 | 99 | <tr> |
98 | 100 | <td><%= i+1 %> </td> |
99 | | - <td><%= contest.rankings[i].rank %> </td> |
100 | 101 | <td><a target="_blank" |
101 | 102 | href=" |
102 | | - <% if (contest.rankings[i].data_region==="CN") {%> |
103 | | - <%="https://leetcode-cn.com/"%><% } else { %><%="https://leetcode.com/"%><% }%><%=contest.rankings[i]._id%>"><%= contest.rankings[i]._id %> |
| 103 | + <% if (contest.rankings[i].data_region==="CN") {%> |
| 104 | + <%="https://leetcode-cn.com/"%><% } else { %><%="https://leetcode.com/"%><% }%><%=contest.rankings[i]._id%>"><%= contest.rankings[i]._id %> |
104 | 105 | </a></td> |
| 106 | + <td class="text-center"><%= contest.rankings[i].rank %> </td> |
105 | 107 | <% if ( contest.rankings[i].current_rating && contest.rankings[i].current_rating != -1) { %> |
106 | | - <td><%= Math.round(contest.rankings[i].current_rating*100)/100 %> </td> |
| 108 | + <td class="text-center"><%= Math.round(contest.rankings[i].current_rating*100)/100 %> </td> |
| 109 | + <td class="text-center"> |
| 110 | + <%= Math.round((contest.rankings[i].current_rating+contest.rankings[i].delta)*100)/100 %></td> |
107 | 111 | <% } else { %> |
108 | | - <td>?</td> |
| 112 | + <td class="text-center">?</td> |
| 113 | + <td class="text-center">?</td> |
109 | 114 | <% } %> |
110 | | - <% if ( contest.rankings[i].delta) { %> |
111 | | - <td class=" |
112 | | - <% if (contest.rankings[i].delta>0) { %> text-success |
113 | | - <% } else { %> |
114 | | - text-danger |
115 | | - <% } %> |
116 | | - "><%= Math.round(contest.rankings[i].delta*100)/100 %> </td> |
| 115 | + <% if ( contest.rankings[i].delta != undefined) { %> |
| 116 | + <td class="text-center" |
| 117 | + style="background-color:<%= contest.rankings[i].delta>0?`rgb(0,255,0,${(Math.min(150,contest.rankings[i].delta))/150})`:`rgb(255,0,0,${Math.min(150,-contest.rankings[i].delta)/150})` %> "> |
| 118 | + <%= (contest.rankings[i].delta>0? "+":"") + Math.round(contest.rankings[i].delta*100)/100 %> |
| 119 | + </td> |
117 | 120 | <% } else { %> |
118 | | - <td>?</td> |
| 121 | + <td class="text-center">?</td> |
119 | 122 | <% } %> |
120 | 123 |
|
121 | | - <td><%= contest.rankings[i].country_name %> </td> |
| 124 | + <td class="text-center"><%= contest.rankings[i].country_name %> </td> |
122 | 125 | </tr> |
123 | 126 | <% } %> |
124 | 127 | <% } %> |
|
142 | 145 | <ul class="pagination flex-wrap"> |
143 | 146 | <% if (page>1) { %> |
144 | 147 | <li class="page-item"> |
145 | | - <a class="page-link" href="/contests/<%= contest._id %>/ranking/<%= page - 1 %>" tabindex="-1"> |
| 148 | + <a class="page-link" href="/contest/<%= contest._id %>/ranking/<%= page - 1 %>" tabindex="-1"> |
146 | 149 | <<</a> </li> <li class="page-item"><a class="page-link" |
147 | | - href="/contests/<%= contest._id %>/ranking/1">1</a></li> |
| 150 | + href="/contest/<%= contest._id %>/ranking/1">1</a></li> |
148 | 151 |
|
149 | 152 | <% } %> |
150 | 153 | <% if (page===3) { %> |
151 | 154 |
|
152 | 155 | <li class="page-item"> |
153 | | - <a class="page-link" href="/contests/<%= contest._id %>/ranking/<%= page - 1 %>" |
| 156 | + <a class="page-link" href="/contest/<%= contest._id %>/ranking/<%= page - 1 %>" |
154 | 157 | tabindex="-1"><%= page - 1 %></a> |
155 | 158 | </li> |
156 | 159 |
|
|
161 | 164 | <a class="page-link" style="pointer-events: none;" tabindex="-1">..</a> |
162 | 165 | </li> |
163 | 166 | <li class="page-item"> |
164 | | - <a class="page-link" href="/contests/<%= contest._id %>/ranking/<%= page - 2 %>" |
| 167 | + <a class="page-link" href="/contest/<%= contest._id %>/ranking/<%= page - 2 %>" |
165 | 168 | tabindex="-1"><%= page - 2 %></a> |
166 | 169 | </li> |
167 | 170 | <li class="page-item"> |
168 | | - <a class="page-link" href="/contests/<%= contest._id %>/ranking/<%= page - 1 %>" |
| 171 | + <a class="page-link" href="/contest/<%= contest._id %>/ranking/<%= page - 1 %>" |
169 | 172 | tabindex="-1"><%= page - 1 %></a> |
170 | 173 | </li> |
171 | 174 |
|
172 | 175 |
|
173 | 176 | <% } %> |
174 | 177 | <li class="page-item active"> |
175 | | - <a class="page-link" href="/contests/<%= contest._id %>/ranking/<%= page%>"><%= page %> <span |
| 178 | + <a class="page-link" href="/contest/<%= contest._id %>/ranking/<%= page%>"><%= page %> <span |
176 | 179 | class="sr-only">(current)</span></a> |
177 | 180 | </li> |
178 | 181 | <% if (page===totalPages-2) { %> |
179 | 182 | <li class="page-item"> |
180 | | - <a class="page-link" href="/contests/<%= contest._id %>/ranking/<%= parseInt(page) + 1 %>" |
| 183 | + <a class="page-link" href="/contest/<%= contest._id %>/ranking/<%= parseInt(page) + 1 %>" |
181 | 184 | tabindex="-1"><%= parseInt(page) + 1 %></a> |
182 | 185 | </li> |
183 | 186 | <% } %> |
184 | 187 | <% if (page<totalPages-2) { %> |
185 | 188 | <li class="page-item"> |
186 | | - <a class="page-link" href="/contests/<%= contest._id %>/ranking/<%= parseInt(page) + 1 %>" |
| 189 | + <a class="page-link" href="/contest/<%= contest._id %>/ranking/<%= parseInt(page) + 1 %>" |
187 | 190 | tabindex="-1"><%= parseInt(page) + 1 %></a> |
188 | 191 | </li> |
189 | 192 | <li class="page-item"> |
190 | | - <a class="page-link" href="/contests/<%= contest._id %>/ranking/<%= parseInt(page) + 2 %>" |
| 193 | + <a class="page-link" href="/contest/<%= contest._id %>/ranking/<%= parseInt(page) + 2 %>" |
191 | 194 | tabindex="-1"><%= parseInt(page) + 2 %></a> |
192 | 195 | </li> |
193 | 196 | <li class="page-item"> |
|
197 | 200 | <% if (page<totalPages) { %> |
198 | 201 |
|
199 | 202 | <li class="page-item"><a class="page-link" |
200 | | - href="/contests/<%= contest._id %>/ranking/<%= totalPages %> "><%= totalPages %> </a></li> |
| 203 | + href="/contest/<%= contest._id %>/ranking/<%= totalPages %> "><%= totalPages %> </a></li> |
201 | 204 | <li class="page-item"> |
202 | | - <a class="page-link" href="/contests/<%= contest._id %>/ranking/<%= page + 1 %>" tabindex="-1">>></a> |
| 205 | + <a class="page-link" href="/contest/<%= contest._id %>/ranking/<%= page + 1 %>" tabindex="-1">>></a> |
203 | 206 | </li> |
204 | 207 | <% } %> |
205 | 208 | </ul> |
206 | 209 | <% } else { %> |
207 | | - <a href="/contests/<%=contest._id%>/ranking/1" class="btn btn-primary btn-md" role="button">All Rankings</a> |
| 210 | + <a href="/contest/<%=contest._id%>/ranking/1" class="btn btn-primary btn-md" role="button">All Rankings</a> |
208 | 211 | <% } %> |
209 | 212 | </nav> |
210 | 213 |
|
|
0 commit comments