1 <%inherit file="base.mako"/>
2 <%namespace name="nav" file="nav.mako" />
3 <%namespace file="scoreboard.mako" import="scoreboard" />
4 <%namespace file="accuracy.mako" import="accuracy" />
5 <%namespace file="frag_matrix.mako" import="frag_matrix" />
7 <%block name="navigation">
11 <%block name="foundation">
13 $(document).foundation({
27 <h2>Sorry, that game wasn't found!</h2>
32 <div class="small-12 columns">
33 <h3>Game #${game.game_id}</h3>
35 <span class="sprite sprite-${game.game_type_cd}"></span> ${gametype.descr} <br />
36 Played ${game.fuzzy_date()} <span class="abstime" data-epoch="${game.epoch()}" title="${game.start_dt.strftime('%a, %d %b %Y %H:%M:%S UTC')}"> <i class="fa fa-info-circle"></i></span><br />
37 Server: <a href="${request.route_url("server_info", id=server.server_id)}" name="Server info page for ${server.name}">${server.name}</a><br />
38 Map: <a href="${request.route_url("map_info", id=map.map_id)}" name="Map info page for ${map.name}">${map.name}</a><br />
39 % if game.duration is not None:
40 Duration: ${"%s:%02d" % (game.duration.seconds/60, game.duration.seconds%60)}
46 <div class="small-3 columns">
47 <table class="table-condensed">
53 % for ts in teamscores:
54 <tr class="${ts.team}"><td>${ts.team.capitalize()}</td><td>${ts.score}</td></tr>
62 ##### Games that have team scores push the scoreboard table to the right by
64 % if len(tgstats) == len(stats_by_team):
65 % for tgstat in tgstats:
68 <div class="small-1 columns teamscore">
69 <div class="teamname ${tgstat.team_html_color()}">
70 ${tgstat.team_html_color().capitalize()}
72 <div class="${tgstat.team_html_color()}">
73 % if game.game_type_cd == 'ctf':
75 % elif game.game_type_cd == 'ca':
77 % elif game.game_type_cd == 'nb':
85 <div class="small-12 medium-11 columns game">
86 ${scoreboard(game.game_type_cd, stats_by_team[tgstat.team], show_elo, show_latency)}
91 ##### Games that do not have team scores use the full width
93 % for team in stats_by_team.keys():
95 <div class="small-12 columns game">
96 ${scoreboard(game.game_type_cd, stats_by_team[team], show_elo, show_latency)}
102 % if len(captimes) > 0:
104 <div class="small-6 columns">
105 <h3>Best Flag Capture Times</h3>
106 <table class="table-hover table-condensed">
114 % for pgs in captimes:
117 % if pgs.player_id > 2:
118 <a href="${request.route_url("player_info", id=pgs.player_id)}"
119 title="Go to the info page for this player">
120 <span class="nick">${pgs.nick_html_colors()|n}</span>
123 <span class="nick">${pgs.nick_html_colors()|n}</span>
126 <td>${round(float(pgs.fastest.seconds) + (pgs.fastest.microseconds/1000000.0), 2)}</td>
135 % if show_frag_matrix:
137 <div class="small-12 columns">
139 ${frag_matrix(pgstats, matrix_by_pgstat_id)}
144 % if len(pgstats) > 0 and len(pwstats) > 0:
146 <div class="small-12 medium-9 columns">
147 <h3>Player Accuracies</h3>
148 <ul class="accordion" data-accordion>
149 % for pgstat in pgstats:
150 % if pgstat.player_game_stat_id in pwstats:
151 <li class="accordion-navigation">
152 <a href="#accuracy-${pgstat.player_game_stat_id}">Accuracy for ${pgstat.nick_html_colors()|n}</a>
153 <div id="accuracy-${pgstat.player_game_stat_id}" class="content">
154 ${accuracy(pwstats[pgstat.player_game_stat_id])}