]> de.git.xonotic.org Git - xonotic/xonstat.git/blobdiff - xonstat/templates/server_info.mako
Remove Persona since it was shut down. :(
[xonotic/xonstat.git] / xonstat / templates / server_info.mako
old mode 100755 (executable)
new mode 100644 (file)
index 5093d29..1955130
 <%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 SCORERS #####
-<div class="table_block">
-<h2>Top Scoring Players</h2>
-<table>
-       <thead>
-               <tr>
-                       <th>#</th>
-                       <th>Nick</th>
-                       <th>Score</th>
-               </tr>
-       </thead>
-       <tbody>
-       <% i = 1 %>
-       % for (score_player_id, score_nick, score_value) in top_scorers:
-               <tr>
-                       <td>${i}</td>
-                       % if score_player_id != '-':
-                       <td><a href="${request.route_url('player_info', id=score_player_id)}" title="Go to the player info page for this player">${score_nick|n}</a></td>
-                       % else:
-                       <td>${score_nick}</td>
-                       % endif
-                       <td>${score_value}</td>
-               </tr>
-               <% i = i+1 %>
-       % endfor
-       </tbody>
-</table>
-</div>
-
-
-##### 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