<%inherit file="base.mako"/>
+<%namespace name="nav" file="nav.mako" />
-<%block name="title">
-% if server:
-Server Information for ${server.name} -
-% endif
+<%block name="navigation">
+ ${nav.nav('servers')}
+</%block>
-${parent.title()}
+<%block name="title">
+ % if server:
+ Server Information
+ % endif
</%block>
+<%def name="empty_rows(list, max_empty_rows)">
+ % for i in range(max_empty_rows - len(list)):
+ <tr>
+ <td>-</td>
+ <td>-</td>
+ <td>-</td>
+ </tr>
+ % endfor
+</%def>
% if server is None:
-<h2>Sorry, that server wasn't found!</h2>
+ <h2>Sorry, that server wasn't found!</h2>
% else:
-<h2>${server.name}</h2>
-IP Address: ${server.ip_addr} <br />
-Revision: ${server.revision} <br />
-Created: ${server.create_dt.strftime('%m/%d/%Y at %I:%M %p')} <br />
-
-
-##### RECENT GAMES #####
-<h2>Recent Games</h2>
-<table id="recent-games">
- <thead>
- <tr>
- <th>Game #</th>
- <th>Type</th>
- <th>Map</th>
- <th>Time</th>
- <th>Winner</th>
- </tr>
- </thead>
- <tbody>
- % for (game, srv, map, pgstat) in recent_games:
- % if game != '-':
- <tr>
- <td><a href="${request.route_url('game_info', id=game.game_id)}" title="View detailed information about this game">${game.game_id}</a></td>
- <td class="gt_icon"><img title="${game.game_type_cd}" src="/static/images/icons/24x24/${game.game_type_cd}.png" alt="${game.game_type_cd}" /></td>
- <td><a href="${request.route_url('map_info', id=map.map_id)}" title="Go to the map detail page for this map">${map.name}</a></td>
- <td>${game.start_dt.strftime('%m/%d/%Y %H:%M')}</td>
- <td class=
- % if pgstat.team == 5:
- "blue"
- % elif pgstat.team == 14:
- "red"
- % elif pgstat.team == 13:
- "yellow"
- % endif
- >
- % if pgstat.player_id > 2:
- <a href="${request.route_url('player_info', id=pgstat.player_id)}" title="Go to the player info page for this player">${pgstat.nick_html_colors()}</a></td>
- % else:
- ${pgstat.nick_html_colors()}</td>
- % endif
- </tr>
- % else:
- <tr>
- <td>-</td>
- <td>-</td>
- <td>-</td>
- <td>-</td>
- <td>-</td>
- </tr>
- % endif
- % endfor
- </tbody>
-</table>
-
-
-##### TOP PLAYERS #####
-<div class="table_block">
-<h2>Most Active Players</h2>
-<table id="top-players">
- <thead>
- <tr>
- <th>#</th>
- <th>Nick</th>
- <th>Playing Time</th>
- </tr>
- </thead>
- <tbody>
- <% i = 1 %>
- % for (player_id, nick, alivetime) in top_players:
- <tr>
- <td>${i}</td>
- % if player_id != '-':
- <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>
- % else:
- <td>${nick}</td>
- % endif
- <td>${alivetime}</td>
- </tr>
- <% i = i+1 %>
- % endfor
- </tbody>
-</table>
-</div>
-
-
-##### TOP MAPS #####
-<div class="table_block">
-<h2>Most Active Maps</h2>
-<table id="top-maps">
- <thead>
- <tr>
- <th>#</th>
- <th>Map</th>
- <th># Games</th>
- </tr>
- </thead>
- <tbody>
- <% i = 1 %>
- % for (map_id, name, count) in top_maps:
- <tr>
- <td>${i}</td>
- % if map_id != '-':
- <td><a href="${request.route_url('map_info', id=map_id)}" title="Go to the map info page for ${name}">${name}</a></td>
- % else:
- <td>${name}</td>
- % endif
- <td>${count}</td>
- </tr>
- <% i = i+1 %>
- % endfor
- </tbody>
-</table>
-</div>
+ <div class="row">
+ <div class="small-12 columns">
+ <h2>${server.name}</h2>
+ <p>
+ IP Address:
+ % if server.port is not None:
+ ${server.ip_addr}:${server.port}
+ % else:
+ ${server.ip_addr}
+ % endif
+ <br />
+ Revision: ${server.revision} <br />
+ Added <span class="abstime" data-epoch="${server.epoch()}" title="${server.create_dt.strftime('%a, %d %b %Y %H:%M:%S UTC')}">${server.fuzzy_date()}</span> <br />
+ </p>
+ </div>
+ </div>
+
+
+ <div class="row">
+ <div class="small-12 large-4 columns">
+ <h5>Top Scoring Players <a href="${request.route_url('server_top_scorers', id=server.server_id)}" title="See more top scoring players for this server"><i class="fa fa-plus-circle"></i></a></h5>
+ <table class="table-hover table-condensed">
+ <thead>
+ <tr>
+ <th class="small-2">#</th>
+ <th class="small-7">Nick</th>
+ <th class="small-3">Score</th>
+ </tr>
+ </thead>
+ <tbody>
+ % for ts in top_scorers:
+ <tr>
+ <td>${ts.rank}</td>
+ <td class="no-stretch"><a href="${request.route_url('player_info', id=ts.player_id)}" title="Go to the player info page for this player">${ts.nick|n}</a></td>
+ <td>${ts.total_score}</td>
+ </tr>
+ % endfor
+
+ ${empty_rows(top_scorers, 10)}
+
+ </tbody>
+ </table>
+ </div>
+
+ <div class="small-12 large-4 columns">
+ <h5>Most Active Players <a href="${request.route_url('server_top_active', id=server.server_id)}" title="See more active players for this server"><i class="fa fa-plus-circle"></i></a></h5>
+ <table class="table-hover table-condensed">
+ <thead>
+ <tr>
+ <th class="small-2">#</th>
+ <th class="small-7">Nick</th>
+ <th class="small-3">Time</th>
+ </tr>
+ </thead>
+ <tbody>
+ % for tp in top_players:
+ <tr>
+ <td>${tp.rank}</td>
+ <td class="no-stretch"><a href="${request.route_url('player_info', id=tp.player_id)}" title="Go to the player info page for this player">${tp.nick|n}</a></td>
+ <td>${tp.alivetime}</td>
+ </tr>
+ % endfor
+
+ ${empty_rows(top_players, 10)}
+
+ </tbody>
+ </table>
+ </div>
+
+ <div class="small-12 large-4 columns">
+ <h5>Most Active Maps <a href="${request.route_url('server_top_maps', id=server.server_id)}" title="See more top maps for this server"><i class="fa fa-plus-circle"></i></a></h5>
+ <table class="table-hover table-condensed">
+ <thead>
+ <tr>
+ <th class="small-2">#</th>
+ <th class="small-7">Map</th>
+ <th class="small-3">Games</th>
+ </tr>
+ </thead>
+ <tbody>
+ % for tm in top_maps:
+ <tr>
+ <td>${tm.rank}</td>
+ <td class="no-stretch"><a href="${request.route_url('map_info', id=tm.map_id)}" title="Go to the map info page for ${tm.name}">${tm.name}</a></td>
+ <td>${tm.times_played}</td>
+ </tr>
+ % endfor
+
+ ${empty_rows(top_maps, 10)}
+
+ </tbody>
+ </table>
+ </div>
+ </div>
+
+ <div class="row">
+ <div class="small-12 columns">
+ <small>*Most active stats are from the past ${lifetime} days</small>
+ </div>
+ </div>
+
+ % if len(recent_games) > 0:
+ <div class="row">
+ <div class="small-12 columns">
+ <h5>Most Recent Games <a href="${request.route_url('game_index', _query={'server_id':server.server_id})}"><i class="fa fa-plus-circle"></i></a></h5>
+ <table class="table-hover table-condensed">
+ <thead>
+ <tr>
+ <th class="small-1 text-center"></th>
+ <th class="small-1">Type</th>
+ <th class="show-for-medium-up small-3">Map</th>
+ <th class="show-for-large-up small-3">Time</th>
+ <th class="small-3">Winner</th>
+ </tr>
+ </thead>
+ <tbody>
+ % for rg in recent_games:
+ <tr>
+ <td class="text-center"><a class="tiny button" href="${request.route_url('game_info', id=rg.game_id)}" title="View detailed information about this game">View</a></td>
+ <td class="text-center"><span class="sprite sprite-${rg.game_type_cd}" alt="${rg.game_type_cd}" title="${rg.game_type_descr}"></span></td>
+ <td class="show-for-medium-up"><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>
+ <td class="show-for-large-up"><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>
+ <td class="no-stretch">
+ % if rg.player_id > 2:
+ <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>
+ % else:
+ ${rg.nick_html_colors|n}
+ % endif
+ </td>
+ </tr>
+ % endfor
+ </tbody>
+ </table>
+ </div>
+ </div>
+ % endif
% endif