5
3
mirror of https://github.com/tildeverse/lobsters synced 2024-06-22 00:07:06 +00:00
tilde.news/app/views/stories/_form.html.erb

163 lines
5.8 KiB
Plaintext
Raw Normal View History

<%= render :partial => "stories/form_errors", :locals => { :f => f, :story => f.object } %>
<div class="box">
<% unless defined?(suggesting) %>
<div class="boxline">
<% if f.object.url_is_editable_by_user?(@user) %>
<%= f.label :url, "URL:", :class => "required" %>
<%= f.text_field :url, :autocomplete => "off" %>
<%= button_tag "Fetch Title", :id => "story_fetch_title",
:type => "button" %>
<% elsif !f.object.new_record? && !f.object.url.blank? %>
<%= f.label :url, "URL:", :class => "required" %>
<div class="d">
<a href="<%= f.object.url %>"><%= f.object.url %></a>
</div>
<% end %>
</div>
<% end %>
<div class="boxline">
<%= f.label :title, "Title:", :class => "required" %>
<%= f.text_field :title, :maxlength => 100 %>
<p class="actions title-reminder">
Please remove extraneous components from titles such as the name of the site, blog, section, and author.
</p>
</div>
<% if f.object.id && !defined?(suggesting) %>
<% title_votes = {} %>
<% f.object.suggested_titles.each do |st| %>
<% title_votes[st.title] ||= 0 %>
<% title_votes[st.title] += 1 %>
<% end %>
<% title_votes.delete(f.object.title) %>
<% if title_votes.any? %>
<div class="boxline actions">
Users have suggested changing this story's title to:
<br>
<% title_votes.each do |ti,c| %>
<%= h(ti) %><%= c == 1 ? "" : " (#{c} votes)" %><br>
<% end %>
</div>
<% end %>
<% end %>
<div class="boxline" style="margin-bottom: 2px;">
<%= f.label :tags_a, "Tags:", :class => "required",
:style => "line-height: 2.3em;" %>
<%= f.select "tags_a", options_for_select(
Tag.all_with_filtered_counts_for(@user).map{|t|
2015-01-05 18:18:42 +00:00
html = "<strong>#{h(t.tag)}</strong> - #{h(t.description.to_s)}"
if t.hotness_mod != 0
html << " (hotness mod #{t.hotness_mod > 0 ? "+" : ""}#{t.hotness_mod})"
end
if t.filtered_count > 0
html << " <em>#{t.filtered_count} user" <<
(t.filtered_count == 1 ? "" : "s") << " filtering</em>"
end
[ "#{t.tag} - #{t.description}", t.tag, { "data-html" => raw(html) } ]},
f.object.tags_a), {}, { :multiple => true } %>
</div>
<% if f.object.id && !defined?(suggesting) %>
<% tag_votes = {} %>
<% f.object.suggested_taggings.group_by(&:user_id).each do |u,stg| %>
<% tl = stg.map{|st| st.tag.tag }.sort.join(", ") %>
<% tag_votes[tl] ||= 0 %>
<% tag_votes[tl] += 1 %>
<% end %>
<% tag_votes.delete(f.object.tags_a.sort.join(", ")) %>
<% if tag_votes.any? %>
<div class="boxline actions">
Users have suggested changing this story's tags to:
<br>
<% tag_votes.each do |ts,c| %>
<%= ts %><%= c == 1 ? "" : " (#{c} votes)" %><br>
<% end %>
</div>
<% end %>
<% end %>
<% unless defined?(suggesting) %>
<div class="boxline">
<%= f.label :description, "Text:", :class => "required" %>
2018-04-23 16:30:19 +00:00
<%= f.text_area :description, :rows => 15, :placeholder => "Optional when submitting a URL.
Not for summarizing the post or personal opinions.
See the guidelines below." %>
</div>
<div class="boxline actions markdown_help_toggler">
<a href="#" id="story_guidelines_toggler">
Story submission guidelines
</a>
<div id="story_guidelines" style="<%= show_guidelines?? "" : "display: none;" %>">
<ul>
<li><p>
Do not editorialize story titles, but when the original story's
title has no context or is unclear, please change it. <strong>Please
remove extraneous components from titles such as the name of the
2018-02-08 00:39:54 +00:00
site, blog, section, and author.</strong>
</p></li>
<li><p>
When the story being submitted is more than a year or so old,
please add the year the story was written to the post title in
parentheses.
</p></li>
<li><p>
When submitting a URL, the text field is optional and should only
be used when additional context or explanation of the URL is
needed. Commentary or opinion should be reserved for a comment,
so that it can be voted on separately from the story.
</p></li>
<li><p>
If no <a href="/tags">tags</a> clearly apply to the story you are submitting, chances
are it does not belong here. Do not overreach with tags if they
are not the primary focus of the story.
</p></li>
<li><p>
To be able to easily submit a page you're viewing in your browser
to <%= Rails.application.name %>, drag this bookmarklet to your
bookmark bar:
[<a href="javascript:{window.open(%22<%= Rails.application.root_url
%>stories/new?url=%22+encodeURIComponent(document.location)+<%
%>%22&title=%22+encodeURIComponent(document.title));%20void(0);}<%
%>">Submit to <%= Rails.application.name %></a>].
You'll be taken to this page with the viewed page's URL and title.
2018-12-04 03:13:06 +00:00
(It can't recognize and remove blog/author names for you, though.)
</p></li>
</ul>
</div>
</div>
<% end %>
</div>
<% unless defined?(suggesting) %>
<div class="box">
<div class="boxline">
<%= f.label :user_is_author, "Author:", :class => "required" %>
<%= f.check_box :user_is_author %>
<%= f.label :user_is_author,
(f.object.id && f.object.user_id != @user.id ? "Submitter is" : "I am") +
" the author of the story at this URL (or this text)",
:class => "normal" %>
</div>
</div>
2012-09-19 17:37:42 +00:00
<script>
$(document).ready(function() {
$("#story_fetch_title").click(function() {
Lobsters.fetchURLTitle($(this), $("#story_url"), $("#story_title"));
return false;
});
2012-09-19 17:37:42 +00:00
});
</script>
<% end %>