Sha256: d10ac644fbaf59f3614268e1fb94435a5df67d5be43ff819228799f45a48d7cd

Contents?: true

Size: 1.32 KB

Versions: 8

Compression:

Stored size: 1.32 KB

Contents

# frozen_string_literal: true

module Decidim
  # This cell is used to render a button to toggle machine translations. It will
  # only render if the translations are enabled.
  class TranslationBarCell < Decidim::ViewModel
    include Decidim::TranslatableAttributes

    def show
      return unless renderable?

      render
    end

    def renderable?
      Decidim.config.enable_machine_translations &&
        model.enable_machine_translations
    end

    def link
      original_url = request.original_url
      parsed_url = URI.parse(original_url)
      query = parsed_url.query
      new_query_params = "toggle_translations=true"

      new_query = if RequestStore.store[:toggle_machine_translations]
                    query.gsub("toggle_translations=true", "")
                  elsif query.nil?
                    new_query_params
                  else
                    query + "&" + new_query_params
                  end

      parsed_url.query = new_query
      url = parsed_url.to_s

      link_to button_text, url, class: "button small hollow"
    end

    def button_text
      if must_render_translation?(model)
        t("decidim.translation_bar.show_original")
      else
        t("decidim.translation_bar.show_translated")
      end
    end

    def help_text
      t("decidim.translation_bar.help_text")
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
decidim-core-0.23.6 app/cells/decidim/translation_bar_cell.rb
decidim-core-0.23.5 app/cells/decidim/translation_bar_cell.rb
decidim-core-0.23.4 app/cells/decidim/translation_bar_cell.rb
decidim-core-0.23.3 app/cells/decidim/translation_bar_cell.rb
decidim-core-0.23.2 app/cells/decidim/translation_bar_cell.rb
decidim-core-0.23.1 app/cells/decidim/translation_bar_cell.rb
decidim-core-0.23.1.rc1 app/cells/decidim/translation_bar_cell.rb
decidim-core-0.23.0 app/cells/decidim/translation_bar_cell.rb