|
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