Sha256: 52b5b57a53cb93f96bec68fe2ba791aef0baeab0d3df3e9d6b413775832a210e

Contents?: true

Size: 1.63 KB

Versions: 18

Compression:

Stored size: 1.63 KB

Contents

# frozen_string_literal: true

module Spotlight
  ##
  # Helpers that are injected into the main application (because they used in layouts)
  module MainAppHelpers
    include Spotlight::NavbarHelper
    include Spotlight::MastheadHelper

    def cache_key_for_spotlight_exhibits
      "#{Spotlight::Exhibit.count}/#{Spotlight::Exhibit.maximum(:updated_at).try(:utc)}"
    end

    def on_browse_page?
      params[:controller] == 'spotlight/browse'
    end

    def on_about_page?
      params[:controller] == 'spotlight/about_pages'
    end

    def show_contact_form?
      current_exhibit && (Spotlight::Engine.config.default_contact_email || current_exhibit.contact_emails.confirmed.any?)
    end

    def link_back_to_catalog(opts = { label: nil })
      opts[:route_set] ||= spotlight if (current_search_session&.query_params || {}).fetch(:controller, '').starts_with? 'spotlight'
      super
    end

    def document_presenter_class(_document)
      if action_name == 'index'
        super
      else
        blacklight_config.view_config(action_name: :show).document_presenter_class
      end
    end

    def exhibit_stylesheet_link_tag(tag)
      if current_exhibit_theme && current_exhibit&.theme != 'default'
        stylesheet_link_tag "#{tag}_#{current_exhibit_theme}"
      else
        Rails.logger.warn "Exhibit theme '#{current_exhibit_theme}' not in the list of available themes: #{current_exhibit&.themes}"
        stylesheet_link_tag(tag)
      end
    end

    def current_exhibit_theme
      current_exhibit.theme if current_exhibit && current_exhibit.theme.present? && current_exhibit.themes.include?(current_exhibit.theme)
    end
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
blacklight-spotlight-3.5.0.4 app/helpers/spotlight/main_app_helpers.rb
blacklight-spotlight-3.5.0.3 app/helpers/spotlight/main_app_helpers.rb
blacklight-spotlight-3.6.0.beta5 app/helpers/spotlight/main_app_helpers.rb
blacklight-spotlight-3.6.0.beta4 app/helpers/spotlight/main_app_helpers.rb
blacklight-spotlight-3.6.0.beta3 app/helpers/spotlight/main_app_helpers.rb
blacklight-spotlight-3.6.0.beta1 app/helpers/spotlight/main_app_helpers.rb
blacklight-spotlight-3.5.0.2 app/helpers/spotlight/main_app_helpers.rb
blacklight-spotlight-3.5.0.1 app/helpers/spotlight/main_app_helpers.rb
blacklight-spotlight-3.5.0 app/helpers/spotlight/main_app_helpers.rb
blacklight-spotlight-3.4.4.1 app/helpers/spotlight/main_app_helpers.rb
blacklight-spotlight-3.4.4 app/helpers/spotlight/main_app_helpers.rb
blacklight-spotlight-3.4.3 app/helpers/spotlight/main_app_helpers.rb
blacklight-spotlight-3.4.2.2 app/helpers/spotlight/main_app_helpers.rb
blacklight-spotlight-3.4.2.1 app/helpers/spotlight/main_app_helpers.rb
blacklight-spotlight-3.4.2 app/helpers/spotlight/main_app_helpers.rb
blacklight-spotlight-3.4.1 app/helpers/spotlight/main_app_helpers.rb
blacklight-spotlight-3.4.0 app/helpers/spotlight/main_app_helpers.rb
blacklight-spotlight-3.3.0 app/helpers/spotlight/main_app_helpers.rb