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