From bc9db55bb97db6e69b76a4e3745b46b03fa2b4e7 Mon Sep 17 00:00:00 2001
From: Ant Zucaro <azucaro@gmail.com>
Date: Sun, 12 Apr 2015 09:05:56 -0400
Subject: [PATCH] Clean up the accuracy tables, make them mobile friendly.

---
 xonstat/templates/accuracy.mako  | 73 +++++++++++++++++---------------
 xonstat/templates/game_info.mako |  2 +-
 xonstat/views/game.py            |  2 +-
 3 files changed, 41 insertions(+), 36 deletions(-)

diff --git a/xonstat/templates/accuracy.mako b/xonstat/templates/accuracy.mako
index de8f084..3eea2cd 100644
--- a/xonstat/templates/accuracy.mako
+++ b/xonstat/templates/accuracy.mako
@@ -10,41 +10,46 @@
 ## [3] = Max damage
 ## [4] = Hit
 ## [5] = Fired
+## [6] = Frags
 
-<table class="table table-condensed">
-<thead>
+<table class="table-hover table-condensed">
+  <thead>
     <th></th>
-    <th>Weapon</th>
-    <th>Hit</th>
-    <th>Fired</th>
-    <th>Hit %</th>
-    <th>Actual Damage</th>
-    <th>Potential Damage</th>
-    <th>Damage %</th>
-</thead>
-% for weapon_stat in weapon_stats:
-<%
-if weapon_stat[3] > 0: 
-    damage_pct = round(float(weapon_stat[2])/weapon_stat[3]*100, 2)
-else:
-    damage_pct = 0
-if weapon_stat[5] > 0: 
-    hit_pct = round(float(weapon_stat[4])/weapon_stat[5]*100, 2)
-else:
-    hit_pct = 0
-%>
-<tr>
-    ## Note: the name of the image must match up with the weapon_cd 
-    ## entry of that weapon, else this won't work
-    <td><span class="sprite sprite-${weapon_stat[1]}"></span></td>
-    <td>${weapon_stat[0]}</td>
-    <td>${weapon_stat[4]}</td>
-    <td>${weapon_stat[5]}</td>
-    <td>${hit_pct}%</td>
-    <td>${weapon_stat[2]}</td>
-    <td>${weapon_stat[3]}</td>
-    <td>${damage_pct}%</td>
-</tr>
-% endfor
+    <th class="show-for-medium-up">Weapon</th>
+    <th class="show-for-medium-up">Frags</th>
+    <th>Accuracy</th>
+    <th>Damage</th>
+  </thead>
+
+  <%
+    total_damage = 0
+    for weapon_stat in weapon_stats:
+      total_damage += weapon_stat[2]
+    if total_damage == 0:
+      total_damage = 1
+  %>
+
+  % for weapon_stat in weapon_stats:
+    <%
+      if weapon_stat[3] > 0: 
+        damage_pct = round(float(weapon_stat[2])/weapon_stat[3]*100, 2)
+      else:
+        damage_pct = 0
+
+      if weapon_stat[5] > 0: 
+        hit_pct = round(float(weapon_stat[4])/weapon_stat[5]*100, 2)
+      else:
+        hit_pct = 0
+    %>
+    <tr>
+      ## Note: the name of the image must match up with the weapon_cd 
+      ## entry of that weapon, else this won't work
+      <td><span class="sprite sprite-${weapon_stat[1]}"></span></td>
+      <td class="show-for-medium-up">${weapon_stat[0]}</td>
+      <td class="show-for-medium-up">${weapon_stat[6]}</td>
+      <td>${weapon_stat[4]}/${weapon_stat[5]} (${hit_pct}%)</td>
+      <td>${weapon_stat[2]} (${round(float(weapon_stat[2])/total_damage*100, 2)}%)</td>
+    </tr>
+  % endfor
 </table>
 </%def>
diff --git a/xonstat/templates/game_info.mako b/xonstat/templates/game_info.mako
index 786e521..3844885 100644
--- a/xonstat/templates/game_info.mako
+++ b/xonstat/templates/game_info.mako
@@ -136,7 +136,7 @@
 
   % if len(pgstats) > 0 and len(pwstats) > 0:
     <div class="row">
-      <div class="small-12 columns">
+      <div class="small-12 medium-9 columns">
           <ul class="accordion" data-accordion>
             % for pgstat in pgstats:
               % if pgstat.player_game_stat_id in pwstats:
diff --git a/xonstat/views/game.py b/xonstat/views/game.py
index b21497c..79920c5 100644
--- a/xonstat/views/game.py
+++ b/xonstat/views/game.py
@@ -87,7 +87,7 @@ def _game_info_data(request):
                     # template
                     pwstats[pgstat.player_game_stat_id].append((weapon.descr,
                         weapon.weapon_cd, pwstat.actual, pwstat.max,
-                        pwstat.hit, pwstat.fired, pgstat))
+                        pwstat.hit, pwstat.fired, pwstat.frags, pgstat))
 
     except Exception as inst:
         game = None
-- 
2.39.5