Start making some helpers for redundant visual elements (widgets)

This commit is contained in:
James Mason 2018-03-20 11:19:17 -07:00
parent 780eb5c51d
commit 8b414e096c
No known key found for this signature in database
GPG key ID: 1B3951886C449023
5 changed files with 54 additions and 94 deletions

View file

@ -0,0 +1,36 @@
# frozen_string_literal: true
module Admin
module WidgetsHelper
# DRY up rendering of visual elements
def big_statistic(icon, subtitle, value, delta, reverse_delta = false)
content_tag('div', class: 'dashbox text-center') do
content_tag('span', class: 'fa') do
fa_icon(icon) +
value.to_s.html_safe # rubocop:disable Rails/OutputSafety
end +
content_tag('p') do
content_tag('small', subtitle.pluralize(value)) +
' '.html_safe + # rubocop:disable Rails/OutputSafety
login_delta_label(delta, reverse_delta)
end
end
end
def login_delta_label(delta, reverse = false)
variant = if delta.to_i.positive?
reverse ? :warning : :success
elsif delta.to_i.negative?
reverse ? :success : :warning
else
:info
end
bootstrap_label(
format('%+d', delta.to_i),
variant,
title: "#{delta} since you last logged in"
)
end
end
end