Sha256: e34859fc8f5273345ec7cbb5feca5b828b9e7e25c67aeb19974cd24cf49855f7

Contents?: true

Size: 966 Bytes

Versions: 1

Compression:

Stored size: 966 Bytes

Contents

module PgEngine
  module PgRailsHelper
    def dev?
      Rails.env.development? || current_user&.developer?
    end

    def current_account
      current_user&.current_account
    end

    def img_placeholder(src = nil, width: '100%', height: '100%', fade_in: false, **img_opts)
      if fade_in || src.nil?
        img_opts = img_opts.merge(style: [img_opts[:style], 'display:none'].compact.join(';'))
        do_placeholder(src, width:, height:, **img_opts)
      else
        image_tag src, **img_opts
      end
    end

    private

    def do_placeholder(src = nil, width: '100%', height: '100%', **img_opts)
      content_tag('div', class: 'placeholder-glow') do
        content_tag('div', class: 'placeholder', style: "width: #{width}; height: #{height}") do
          if src.present?
            image_tag src,
                      'data-controller': 'fadein_onload',
                      **img_opts
          end
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
pg_rails-7.0.8.pre.alpha.14 pg_engine/app/helpers/pg_engine/pg_rails_helper.rb