Sha256: f115a481a3f9f501f31a8be0eff8a7609fca5500f99f60457ac63fadfea23597

Contents?: true

Size: 994 Bytes

Versions: 8

Compression:

Stored size: 994 Bytes

Contents

module Spina
  module ImagesHelper

    def thumbnail_url(image)
      return "" if image.nil?
      main_app.url_for(image.variant(resize_to_fill: [400, 300]))
    end

    def embedded_image_url(image)
      return "" if image.nil?

      # support both ImageProcessing gem macro :resize_to_limit and ImageMagick-specific :resize
      resize_key = Spina.config.embedded_image_size.is_a?(Array) ? :resize_to_limit : :resize
      main_app.url_for(image.variant(Hash[resize_key, Spina.config.embedded_image_size]))
    end
    
    def content_type_color(image)
      case content_type(image)
      when "png"
        "bg-green-300"
      when "heic"
        "bg-blue-200"
      when "jpg", "jpeg"
        "bg-blue-400"
      when "gif"
        "bg-indigo-300"
      when "svg"
        "bg-yellow-400"
      else
        "bg-gray-400"
      end
    end
    
    def content_type(image)
      image.file.content_type&.split("/")&.last || I18n.t("spina.images.missing_image")
    end

  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
spina-2.8.1 app/helpers/spina/images_helper.rb
spina-2.8.0 app/helpers/spina/images_helper.rb
spina-2.7.0 app/helpers/spina/images_helper.rb
spina-2.6.2 app/helpers/spina/images_helper.rb
spina-2.6.1 app/helpers/spina/images_helper.rb
spina-2.6.0 app/helpers/spina/images_helper.rb
spina-2.5.0 app/helpers/spina/images_helper.rb
spina-2.4.0 app/helpers/spina/images_helper.rb