# frozen_string_literal: true

module ApplicationHelper
  include Pagy::Frontend

  delegate :filter_params, to: :controller

  def multilang_form_field(form, attribute, as: :text_field)
    return form.send(as, "#{attribute}_de")

    col_width = as == :rich_text_area ? 12 : 12 / I18n.available_locales.count
    tag.div(class: "row") do
      fields = I18n.available_locales.map { _1.to_s.split("-").first }.map do |lang|
        tag.div(class: "col-lg-#{col_width}") do
          form.send(as, "#{attribute}_#{lang}")
        end
      end
      safe_join(fields)
    end
  end

  def safe_display(value, &block)
    return unless value

    yield(value)
  end
end
