Browse Source

fa_icon desymbolize

main
pvincent 3 months ago
parent
commit
dfe0015c11
  1. 9
      app/helpers/icon_helper.rb

9
app/helpers/icon_helper.rb

@ -1,13 +1,18 @@
# Font Awesome Helper # Font Awesome Helper
module IconHelper module IconHelper
# accept name without 'fa-' prefix, style: (solid by default), size:, class: and 'aria-hidden':
def fa_icon(name, html_options = {}) def fa_icon(name, html_options = {})
html_options[:style] ||= :solid html_options[:style] ||= :solid
html_options['aria-hidden'] ||= true html_options['aria-hidden'] ||= true
content_class = "fa-#{html_options[:style].to_s.dasherize} fa-#{name.to_s.dasherize}"
content_class << " fa-#{html_options[:size].to_s.dasherize}" if html_options.key? :size
content_class = "fa-#{unsymbolize(html_options[:style])} fa-#{unsymbolize(name)}"
content_class << " fa-#{unsymbolize(html_options[:size])}" if html_options.key? :size
content_class << " #{html_options[:class]}" if html_options.key? :class content_class << " #{html_options[:class]}" if html_options.key? :class
tag.i(class: content_class, 'aria-hidden': html_options['aria-hidden']) tag.i(class: content_class, 'aria-hidden': html_options['aria-hidden'])
end end
private
def unsymbolize(symbol) = symbol.to_s.dasherize
end end
Loading…
Cancel
Save