module ActionView::Helpers::AppbarHelpers

Public Instance Methods

appbar(options={}, &block) click to toggle source
# File lib/appbar/helpers.rb, line 4
def appbar(options={}, &block)
  config = {}

  config[:padding]  = options[:padding]
  config[:content]  = capture(&block).try(:html_safe) if block_given?

  config[:appSwitcher] = {
    hide: !(options[:appswitcher].nil? || options[:appswitcher]),
    siteName: options[:site_name] || Appbar.site_name,
    brandUrl: options[:brand_url],
    brand: options[:brand],
    brandColor: options[:brand_color],
    apps: options[:apps] || try(:appbar_apps),
  }

  config[:userMenu] = {
    hide: !(options[:user].nil? || options[:user]),
    avatarUrl: options[:user_avatar_url] || try(:appbar_user_avatar_url),
    userName: options[:user_name] || try(:appbar_user_name),
    items: (options[:user_menu_items] || try(:appbar_user_menu_items)).try(:html_safe),
  }

  config[:notifications] = {
    hide: !(options[:notifications].nil? || options[:notifications]),
    url: options[:notifications_url] || try(:appbar_notifications_url),
  }

  config.reject! { |k, v| v.nil? }

  content_tag :span, react_component('Appbar', config), class: (options[:class] || 'appbar-wrapper')
end
homescreen(apps=nil) click to toggle source
# File lib/appbar/helpers.rb, line 36
def homescreen(apps=nil)
  react_component('HomeScreen', apps: apps || try(:appbar_apps))
end