# frozen_string_literal: true

module Onebox
  module Engine
    class SteamStoreOnebox
      include Engine
      include StandardEmbed

      always_https
      matches_regexp(%r{^https?://store\.steampowered\.com/app/\d+})
      requires_iframe_origins "https://store.steampowered.com"

      def placeholder_html
        og = get_opengraph
        <<-HTML
          <div style='width:100%; height:190px; background-color:#262626; color:#9e9e9e; margin:15px 0;'>
            <div style='padding:10px'>
              <h3 style='color:#fff; margin:10px 0 10px 5px;'>#{og.title}</h3>
              <img src='#{og.image}' style='float:left; max-width:184px; margin:5px 15px 0 5px'/>
              <p>#{og.description}</p>
            </div>
          </div>
        HTML
      end

      def to_html
        iframe_url = @url[%r{https?://store\.steampowered\.com/app/\d+}].gsub("/app/", "/widget/")
        escaped_src = ::Onebox::Helpers.normalize_url_for_output(iframe_url)

        <<-HTML
          <iframe
            src='#{escaped_src}'
            frameborder='0'
            width='100%'
            height='190'
          ></iframe>
        HTML
      end
    end
  end
end
