* Load events' partials as collections * Load /admin/articles partials as collections * Render sponsorships partial as collection * Render organization articles partials as collection * Load users articles partials as collections
31 lines
1.7 KiB
Text
31 lines
1.7 KiB
Text
<div id="sidebar-wrapper-left" class="sidebar-wrapper sidebar-wrapper-left crayons-layout__sidebar-left">
|
|
<aside class="side-bar" aria-label="Primary sidebar">
|
|
<% cache(release_adjusted_cache_key("main-sidebar-nav--#{user_signed_in?}"), expires_in: 15.minutes) do %>
|
|
<%= render "shared/auth_widget" unless user_signed_in? %>
|
|
<%= render "layouts/main_nav" %>
|
|
<%= render "layouts/sidebar_tags" %>
|
|
<% @sponsorships = Sponsorship.gold.live.includes(:organization).order(featured_number: :asc) %>
|
|
<%# the pattern .present?/.each has the advantage of issuing only a single SQL query to load objects in memory %>
|
|
<% if @sponsorships.present? %>
|
|
<div class="<%= "hidden" if user_signed_in? %> px-1" id="sponsorship-widget">
|
|
<h4 class="flex align-center fs-s ff-monospace fw-bold tt-uppercase mb-4">
|
|
<%= SiteConfig.sponsor_headline %>
|
|
<%= inline_svg_tag("twemoji/heart.svg", aria: true, class: "crayons-icon crayons-icon--default ml-1", title: "Love") %>
|
|
</h4>
|
|
<div class="grid grid-cols-1 gap-6">
|
|
<%= render partial: "articles/single_sponsor", collection: @sponsorships, as: :sponsorship %>
|
|
<a href="/sponsorships" class="crayons-btn crayons-btn--secondary fs-s">Become a sponsor</a>
|
|
</div>
|
|
</div>
|
|
<% end %>
|
|
<% end %>
|
|
<% cache("display-area-left-#{rand(5)}", expires_in: 5.minutes) do %>
|
|
<% @left_sidebar_ad = DisplayAd.for_display("sidebar_left") %>
|
|
<% if @left_sidebar_ad %>
|
|
<div class="crayons-sponsorship-widget" id="sponsorship-arbitrary-display-widget" data-id="<%= @left_sidebar_ad.id %>">
|
|
<%= @left_sidebar_ad.processed_html.html_safe %>
|
|
</div>
|
|
<% end %>
|
|
<% end %>
|
|
</aside>
|
|
</div>
|