Show TDM ranks on the front page.
[xonotic/xonstat.git] / xonstat / templates / main_index.mako
1 <%inherit file="base.mako"/>
2
3 <%block name="title">
4 Leaderboard
5 </%block>
6
7 <%block name="css">
8   ${parent.css()}
9   <link href="/static/css/sprites.css" rel="stylesheet">
10 </%block>
11
12 <%block name="hero_unit">
13   <div class="text-center">
14     <img src="/static/css/img/web_background_l2.png" />
15     % if summary_stats is None:
16     <p id="statline">Tracking Xonotic statistics since October 2011.</p>
17     % else:
18     <p id="statline">Tracking <a href="${request.route_url('player_index')}">${'{:2,d}'.format(summary_stats.total_players)}</a> players, <a href="${request.route_url('game_index')}">${'{:2,d}'.format(summary_stats.total_games)}</a> games (${'{:2,d}'.format(summary_stats.duel_games)} duel; ${'{:2,d}'.format(summary_stats.ctf_games)} ctf; ${'{:2,d}'.format(summary_stats.dm_games)} dm) and <a href="${request.route_url('server_index')}">${'{:2,d}'.format(summary_stats.total_servers)}</a> servers since October 2011.</p>
19     % endif
20   </div>
21 </%block>
22
23 ##### RANKS #####
24 % if len(ranks) < 4:
25   <div class="row">
26     <div class="span12">
27       <p style="text-align: center;"><i class="icon-white icon-info-sign"> </i> You don't seem to have any ranks yet.</p>
28     </div> <!-- span12 -->
29   </div> <!-- row -->
30
31 % else:
32   <div class="row">
33     % for rs in ranks[:4]:
34     % if len(rs) > 0:
35     <div class="span3">
36       % if rs[0].game_type_cd == 'duel':
37       <h3>Duel Ranks</h3>
38       % elif rs[0].game_type_cd == 'ctf':
39       <h3>CTF Ranks</h3>
40       % elif rs[0].game_type_cd == 'dm':
41       <h3>DM Ranks</h3>
42       % elif rs[0].game_type_cd == 'tdm':
43       <h3>TDM Ranks</h3>
44       % endif
45
46       <table class="table table-hover table-condensed">
47         <thead>
48           <tr>
49             <th>#</th>
50             <th>Nick</th>
51             <th>Elo</th>
52           </tr>
53         </thead>
54         <tbody>
55         <% i = 1 %>
56         % for r in rs:
57         <tr>
58           <td>${i}</td>
59           <td><a href="${request.route_url('player_info', id=r.player_id)}" title="Go to the player info page for this player">${r.nick_html_colors()|n}</a></td>
60           <td>${round(r.elo, 3)}</td>
61         </tr>
62         <% i = i+1 %>
63         % endfor
64         </tbody>
65       </table>
66       <p class="note"><a href="${request.route_url('rank_index', page=1, game_type_cd=rs[0].game_type_cd)}" title="See more ${rs[0].game_type_cd} rankings">More...</a></p>
67     </div> <!-- /span4 -->
68   % endif
69
70   % endfor
71 </div> <!-- row -->
72 % endif
73
74
75 ##### ACTIVE PLAYERS #####
76 <div class="row">
77   <div class="span4">
78     <h3>Most Active Players</h3>
79     <table class="table table-hover table-condensed">
80       <thead>
81         <tr>
82           <th>#</th>
83           <th>Nick</th>
84           <th class="play-time">Play Time</th>
85         </tr>
86       </thead>
87       <tbody>
88       <% i = 1 %>
89       % for (player_id, nick, alivetime) in top_players:
90         <tr>
91           <td>${i}</td>
92           % if player_id != '-':
93           <td><a href="${request.route_url('player_info', id=player_id)}" title="Go to the player info page for this player">${nick|n}</a></td>
94           % else:
95           <td>${nick|n}</td>
96           % endif
97           <td class="play-time">${alivetime}</td>
98         </tr>
99         <% i = i+1 %>
100       % endfor
101       </tbody>
102     </table>
103     <p class="note">*Most active stats are from the past 7 days</p>
104   </div> <!-- /span4 -->
105
106
107 ##### ACTIVE SERVERS #####
108   <div class="span4">
109     <h3>Most Active Servers</h3>
110     <table class="table table-hover table-condensed">
111       <thead>
112         <tr>
113           <th>#</th>
114           <th>Server</th>
115           <th>Games</th>
116         </tr>
117       </thead>
118       <tbody>
119       <% i = 1 %>
120       % for (server_id, name, count) in top_servers:
121         <tr>
122           <td>${i}</td>
123           % if server_id != '-':
124           <td><a href="${request.route_url('server_info', id=server_id)}" title="Go to the server info page for ${name}">${name}</a></td>
125           % else:
126           <td>${name}</td>
127           % endif
128           <td>${count}</td>
129         </tr>
130         <% i = i+1 %>
131       % endfor
132       </tbody>
133     </table>
134   </div> <!-- /span4 -->
135
136
137 ##### ACTIVE MAPS #####
138   <div class="span4">
139     <h3>Most Active Maps</h3>
140     <table class="table table-hover table-condensed">
141       <thead>
142         <tr>
143           <th>#</th>
144           <th>Map</th>
145           <th>Games</th>
146         </tr>
147       </thead>
148       <tbody>
149       <% i = 1 %>
150       % for (map_id, name, count) in top_maps:
151         <tr>
152           <td>${i}</td>
153           % if map_id != '-':
154           <td><a href="${request.route_url('map_info', id=map_id)}" title="Go to the map info page for ${name}">${name}</a></td>
155           % else:
156           <td>${name}</td>
157           % endif
158           <td>${count}</td>
159         </tr>
160         <% i = i+1 %>
161       % endfor
162       </tbody>
163     </table>
164   </div> <!-- /span4 -->
165 </div> <!-- /row -->
166
167
168 ##### RECENT GAMES #####
169 % if len(recent_games) > 0:
170 <div class="row">
171   <div class="span12">
172     <h3>Recent Games</h3>
173     <table class="table table-hover table-condensed">
174       <thead>
175         <tr>
176           <th></th>
177           <th>Type</th>
178           <th>Server</th>
179           <th>Map</th>
180           <th>Time</th>
181           <th>Winner</th>
182         </tr>
183       </thead>
184       <tbody>
185       % for rg in recent_games:
186         <tr>
187           <td class="tdcenter"><a class="btn btn-primary btn-small" href="${request.route_url('game_info', id=rg.game_id)}" title="View detailed information about this game">view</a></td>
188           <td class="tdcenter"><span class="sprite sprite-${rg.game_type_cd}" alt="${rg.game_type_cd}" title="${rg.game_type_descr}"></span></td>
189           <td><a href="${request.route_url('server_info', id=rg.server_id)}" title="Go to the detail page for this server">${rg.server_name}</a></td>
190           <td><a href="${request.route_url('map_info', id=rg.map_id)}" title="Go to the map detail page for this map">${rg.map_name}</a></td>
191           <td><span class="abstime" data-epoch="${rg.epoch}" title="${rg.start_dt.strftime('%a, %d %b %Y %H:%M:%S UTC')}">${rg.fuzzy_date}</span></td>
192           <td>
193             % if rg.player_id > 2:
194             <a href="${request.route_url('player_info', id=rg.player_id)}" title="Go to the player info page for this player">${rg.nick_html_colors|n}</a></td>
195             % else:
196             ${rg.nick_html_colors|n}</td>
197             % endif
198         </tr>
199         % endfor
200         </tbody>
201     </table>
202     <p><a href="${request.route_url('game_finder')}">More...</a></p>
203   </div> <!-- /span12 -->
204 </div> <!-- /row -->
205 % endif