improve landing page
This commit is contained in:
parent
a59dfd0d51
commit
4aebb0be59
4 changed files with 82 additions and 40 deletions
|
@ -1,4 +1,35 @@
|
||||||
// Place all the styles related to the pages controller here.
|
// Place all the styles related to the pages controller here.
|
||||||
// They will automatically be included in application.css.
|
// They will automatically be included in application.css.
|
||||||
// You can use Sass (SCSS) here: http://sass-lang.com/
|
// You can use Sass (SCSS) here: http://sass-lang.com/
|
||||||
.shame-percentage { text-align: right }
|
.shame-percentage {
|
||||||
|
text-align: right
|
||||||
|
}
|
||||||
|
|
||||||
|
a.login-button {
|
||||||
|
font-size: 200%;
|
||||||
|
margin: 2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.columns-title {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.left-column {
|
||||||
|
text-align: right;
|
||||||
|
padding: 1em 3em;
|
||||||
|
border-right: 1px solid black;
|
||||||
|
}
|
||||||
|
|
||||||
|
.right-column {
|
||||||
|
text-align: left;
|
||||||
|
padding: 1em 3em;
|
||||||
|
border-left: 1px solid black;
|
||||||
|
}
|
||||||
|
|
||||||
|
.full-table {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.landing-column {
|
||||||
|
padding: 1em;
|
||||||
|
}
|
||||||
|
|
|
@ -24,10 +24,13 @@ class Statistics < Rails::Application
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
|
|
||||||
def amount_distribution
|
def creation_counts
|
||||||
Transaction.group("round(amount / 1000)").count.inject(Hash.new) do |hash, (group, count)|
|
User
|
||||||
hash.merge({10 * group.to_f => count})
|
.joins(:issued_transactions)
|
||||||
end
|
.group(:name)
|
||||||
|
.order("count_all DESC")
|
||||||
|
.count
|
||||||
|
.take([shameful_users.count, 4].max)
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
@ -37,3 +40,4 @@ class Statistics < Rails::Application
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
- if current_user.penning
|
- if current_user.penning
|
||||||
%li.pure-menu-item
|
%li.pure-menu-item
|
||||||
=link_to "Zeus", User.zeus, class: "pure-menu-link"
|
=link_to "Zeus", User.zeus, class: "pure-menu-link"
|
||||||
- else
|
|
||||||
= link_to "Sign in", user_omniauth_authorize_path(:zeuswpi), class: "pure-menu-link" unless current_user
|
|
||||||
.pure-u-1
|
.pure-u-1
|
||||||
= render 'partials/flash'
|
= render 'partials/flash'
|
||||||
= yield
|
= yield
|
||||||
|
|
|
@ -1,34 +1,43 @@
|
||||||
%h1 Tab!
|
%h1.columns-title Tab
|
||||||
%h2 Authentication
|
|
||||||
- if user_signed_in?
|
|
||||||
%p Yeah! Je bent ingelogd.
|
|
||||||
- else
|
|
||||||
Log een keer in!
|
|
||||||
%p= link_to "Log in met Zeus WPI", user_omniauth_authorize_path(:zeuswpi)
|
|
||||||
%h2 Cute Little Statistics
|
|
||||||
= javascript_include_tag "//www.google.com/jsapi", "chartkick"
|
= javascript_include_tag "//www.google.com/jsapi", "chartkick"
|
||||||
.pure-g
|
- unless user_signed_in?
|
||||||
.pure-u-1-2
|
.pure-g
|
||||||
%h3 Table of Shame
|
.pure-u-1-2.left-column
|
||||||
%table.pure-table
|
%h2 Authentication
|
||||||
%thead
|
Log een keer in en betaal uw schulden!
|
||||||
%th Shame on
|
= link_to "Log in met Zeus WPI", user_omniauth_authorize_path(:zeuswpi), class: "pure-button pure-button-primary login-button"
|
||||||
%th Contribution to Zeus' lack of money
|
.pure-u-1-2.right-column
|
||||||
%tbody
|
%h2 Pie of Shame
|
||||||
- @statistics.shameful_users.each do |user|
|
= pie_chart @statistics.shamehash
|
||||||
%tr
|
- else
|
||||||
%td.shameful-person= user.name
|
%h2.columns-title Cute Little Statistics
|
||||||
// Won't divide by zero because there won't be any users with
|
.pure-g
|
||||||
// a shameful debt if the total debt is zero.
|
.pure-u-1-2.landing-column
|
||||||
%td.shame-percentage= "#{-100 * user.balance / @statistics.total_debt}%"
|
%h3.columns-title Pie of Shame
|
||||||
.pure-u-1-2
|
= pie_chart @statistics.shamehash
|
||||||
%h3 Pie of Shame
|
%h3.columns-title Table of Shame
|
||||||
= pie_chart @statistics.shamehash
|
%table.pure-table.full-table
|
||||||
.pure-g
|
%thead
|
||||||
.pure-u-1-2
|
%th Shame on
|
||||||
%h3 Distribution of Debt Sources
|
%th Contribution to Zeus' lack of money
|
||||||
= pie_chart @statistics.by_issuer
|
%tbody
|
||||||
.pure-u-1-2
|
- @statistics.shameful_users.each do |user|
|
||||||
%h3 Distribution of Transaction Amounts
|
%tr
|
||||||
= @statistics.amount_distribution
|
%td.shameful-person= user.name
|
||||||
= column_chart @statistics.amount_distribution
|
// Won't divide by zero because there won't be any users with
|
||||||
|
// a shameful debt if the total debt is zero.
|
||||||
|
%td.shame-percentage= "#{-100 * user.balance / @statistics.total_debt}%"
|
||||||
|
.pure-u-1-2.landing-column
|
||||||
|
%h3.columns-title Distribution of Debt Sources
|
||||||
|
= pie_chart @statistics.by_issuer
|
||||||
|
%h3.columns-title Top Debt Creators
|
||||||
|
%table.pure-table.full-table
|
||||||
|
%thead
|
||||||
|
%th Issuer
|
||||||
|
%th Number of Transactions issued
|
||||||
|
%tbody
|
||||||
|
- @statistics.creation_counts.each do |name, count|
|
||||||
|
%tr
|
||||||
|
%td.shameful-person= name
|
||||||
|
%td.shame-percentage= count
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue