-<% active_banners = {
- :sotmus2016 => {
- :alt => 'State of the Map US 2016',
- :link => 'http://stateofthemap.us/',
- :img => 'banners/sotmus-2016.jpg'
- },
- :sotm2016 => {
- :alt => 'State of the Map 2016',
- :link => 'http://2016.stateofthemap.org/',
- :img => 'banners/sotm-2016.jpg'
- }
-}
-
-bannerSym = nil
-cookieStr = nil
-queuePos = 9999
-
-# pick least recently seen banner that is not hidden
-active_banners.each_key do |k|
- c = '_osm_banner_' + k.to_s
- val = cookies[c.to_sym] || 0
- next if val == 'hide'
-
- if val.to_i > 0
- cookies[c.to_sym] = val.to_i - 1
- end
-
- if val.to_i <= queuePos
- bannerSym = k
- cookieStr = c
- queuePos = val.to_i
- end
-end
-
-unless bannerSym.nil?
- banner = active_banners[bannerSym]
- cookies[cookieStr.to_sym] = active_banners.length # bump to end of queue
-%>
-<%= link_to (image_tag banner[:img], :alt => banner[:alt], :title => banner[:alt]), banner[:link] %>
-<div class="close-wrap" id="<%= cookieStr %>"><span class="icon close"></span></div>
+<% unless (banner = next_banner()).nil? %>
+ <%= tag.div :id => "banner", :class => "position-relative", :data => { :bs_theme => token_list(:dark => banner[:dark]) } do %>
+ <%= link_to (image_tag banner[:img], :srcset => banner[:srcset], :alt => banner[:alt], :title => banner[:alt]), banner[:link] %>
+ <button type="button"
+ class="btn-close position-absolute top-0 end-0 m-4 opacity-100 bg-white bg-opacity-50"
+ id="<%= banner_cookie(banner[:id]) %>"
+ aria-label="<%= t("javascripts.close") %>"></button>
+ <% end %>