%#
This sidebar partial uses instantiated ContentPage models instead of the persisted content models (Character, Location, etc)
TODO: merge this with documents/components/smart_sidebar
%>
<%# todo extract "sidebar" and call it with @content, then also do the same in documents/components/smart_sidebar %>
<%
raw_model = content.page_type.constantize.find_by(id: content.id, user: current_user)
serialized_entity = ContentSerializer.new(raw_model)
%>
-
<% serialized_entity.data[:categories].each do |serialized_category| %>
<% next if serialized_category[:label].downcase == 'gallery' %>
<% next if serialized_category[:label].downcase == 'contributors' %>
-
-
<% any_filled_in_fields = false %>
<% serialized_category[:fields].each do |serialized_field| %>
<% next unless serialized_field[:value].present? %>
<% any_filled_in_fields = true %>
-
<% if serialized_field[:type] == "text_area" %>
- <%= serialized_field[:value] %>
<% elsif serialized_field[:type] == "link" %>
<%=
#TODO: We should swap all the other field displays here with the new partials also
render partial: "content/display/attribute_value/link",
locals: { value: serialized_field[:value], content: content }
%>
<% elsif serialized_field[:type] == "name" %>
- <%= serialized_field[:value] %>
<% elsif serialized_field[:type] == "universe" %>
<% if serialized_entity.universe.present? %>
-
<%= link_to serialized_entity.universe do %>
<%= Universe.icon %>
<%= serialized_entity.universe.name %>
<% end %>
<% end %>
<% end %>
<% end %>
<% if !any_filled_in_fields %>
- Nothing has been answered in this category... yet!
<% end %>
<% end %>
-
<%= link_to content.view_path, class: "blue-text", target: '_new' do %>
<%= content.icon %>
exit_to_app
View <%= content.name %>
<% end %>
-
<%= link_to content.edit_path, class: "green-text" do %>
<%= content.icon %>
exit_to_app
Edit <%= content.name %>
<% end %>