Start making some helpers for redundant visual elements (widgets)
This commit is contained in:
parent
780eb5c51d
commit
8b414e096c
5 changed files with 54 additions and 94 deletions
36
app/helpers/admin/widgets_helper.rb
Normal file
36
app/helpers/admin/widgets_helper.rb
Normal 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
|
||||
Loading…
Add table
Add a link
Reference in a new issue