Files
grecia/app/views/proposals/show.html.erb
Javi Martín b9e137619a Simplify the way we provide the title in most cases
This is consistent with the way we're providing the main class.

Note we're still setting the title using a block in more complex cases.
2024-03-23 00:35:47 +01:00

107 lines
4.0 KiB
Plaintext

<% provide :title, @proposal.title %>
<% preview = false unless local_assigns.has_key? :preview %>
<% content_for :meta_description do %><%= @proposal.summary %><% end %>
<% provide :social_media_meta_tags do %>
<%= render "shared/social_media_meta_tags",
social_url: proposal_url(@proposal),
social_title: @proposal.title,
social_description: @proposal.summary,
twitter_image_url: (@proposal.image.present? ? polymorphic_path(@proposal.image.variant(:thumb)) : nil),
og_image_url: (@proposal.image.present? ? polymorphic_path(@proposal.image.variant(:thumb)) : nil) %>
<% end %>
<% content_for :canonical do %>
<%= render "shared/canonical", href: proposal_url(@proposal) %>
<% end %>
<% cache [locale_and_user_status(@proposal),
@proposal,
@proposal.author,
Flag.flagged?(current_user, @proposal),
@proposal.followed_by?(current_user),
current_user&.voted_for?(@proposal)] do %>
<div class="proposal-show">
<div id="<%= dom_id(@proposal) %>" class="row">
<div class="small-12 medium-9 column">
<%= back_link_to proposals_path unless preview %>
<h1><%= @proposal.title %></h1>
<% if @proposal.retired? %>
<div data-alert class="callout alert margin-top proposal-retired">
<strong>
<%= t("proposals.show.retired_warning") %><br>
<%= link_to t("proposals.show.retired_warning_link_to_explanation"),
"#retired_explanation" %>
</strong>
</div>
<% elsif @proposal.conflictive? %>
<div data-alert class="callout alert margin-top">
<strong><%= t("proposals.show.flag") %></strong>
</div>
<% end %>
<%= render "proposals/info", proposal: @proposal %>
<%= render Shared::GeozoneLinkComponent.new(@proposal, proposals_path(search: geozone_name(@proposal))) %>
<% unless @proposal.selected? %>
<%= render "relationable/related_content", relationable: @proposal %>
<% end %>
<div class="js-moderator-proposal-actions margin">
<%= render "proposals/actions", proposal: @proposal %>
</div>
</div>
<% unless preview %>
<aside class="small-12 medium-3 column">
<% if can?(:dashboard, @proposal) %>
<div class="sidebar-divider"></div>
<h2><%= t("proposals.show.author") %></h2>
<div class="show-actions-menu">
<%= link_to progress_proposal_dashboard_path(@proposal),
class: "button hollow expanded",
id: "proposal-dashboard-#{@proposal.id}" do %>
<span class="icon-edit"></span>
<%= t("proposals.show.dashboard_proposal_link") %>
<% end %>
</div>
<% end %>
<%= render "proposals/support_status", proposal: @proposal %>
<%= render "proposals/social_share", proposal: @proposal, share_title: t("proposals.show.share") %>
<% if current_user %>
<div class="sidebar-divider"></div>
<p class="sidebar-title"><%= t("shared.follow") %></p>
<%= render "follows/follow_button", follow: find_or_build_follow(current_user, @proposal) %>
<% end %>
<%= render "communities/access_button", community: @proposal.community %>
</aside>
<% end %>
</div>
</div>
<% end %>
<% unless preview %>
<div class="additional-content">
<div class="filter-subnav">
<div class="row">
<div class="small-12 column">
<%= render "proposals/filter_subnav" %>
</div>
</div>
</div>
</div>
<div class="tabs-content" data-tabs-content="proposals_tabs">
<div class="tabs-panel is-active" id="tab-comments">
<%= render "proposals/comments" %>
</div>
<%= render "proposals/notifications" %>
<%= render "milestones/milestones", milestoneable: @proposal %>
</div>
<% end %>