summaryrefslogtreecommitdiff
path: root/app/views/forumthreads/index.html.erb
blob: 02e425b27958bc664869af72daacbb972bd55390 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<%= link_to "Forums", forums_path %> →
<% params_list = params.slice(:query, :title, :content, :author, :label, :reply) %>
<% if params_list.any? %>
  <%= link_to "All Threads", forumthreads_path %> → Search Results
<% else %>
  <%= "All Threads" %>
<% end %>
<h1>
  <%
    if params[:forum]
      text = "forum '#{Forum.find(params[:forum]).name}'"
      if params_list.except(:forum).any?
        text = "Search results in #{text} (#{@threads.total_count})"
      else
        text = text.capitalize
      end
    elsif params_list.any?
      text = "Search results (#{@threads.length})"
    else
      text = "All threads"
    end
  %>
  <%= title text %>
</h1>
<br>
<%= form_tag(forumthreads_path, method: :get) do %>
  <%= text_field_tag "query", params[:query], placeholder: "Search...", class: "searchfield field" %>
  <%= submit_tag "Go", class: "searchfield btn" %>
  <%= link_to "Advanced Search", search_forumthreads_path(params_list), class: "btn right blue" %>
  <% if params_list.any? %>
    <% if params[:forum] %>
      <%= link_to "Show All Threads", forumthreads_path(params_list.except("forum")), class: "btn right blue" %>
    <% elsif params_list.except(:controller, :action).any? %>
      <%= link_to "Show All Threads", forumthreads_path, class: "btn right blue" %>
    <% end %>
  <% end %>
  <% if params[:forum] %>
    <%= link_to "Go to Forum", forum_path(params[:forum]), class: "btn right blue" %>
  <% end %>
  <% params.slice(:forum, :title, :content, :reply, :label, :author).each do |key, value| %>
    <%= hidden_field_tag key, params[key] %>
  <% end %>
<% end %>

<div id="forum_groups">
  <% @threads.each do |thread| %>
    <div class="item-group with-avatar" id="thread-<%= thread.id %>">
      <div class="header">
        <%= link_to(thread.author.avatar(64), thread.author, title: thread.author.ign) %>
        <%= render partial: "users/username", locals: { user: thread.author } %>
        <%= link_to thread do %>
            <%= ago thread.created_at %>
        <% end %>
        <span class="comment-counter">
          <%= link_to pluralize(thread.replies.count, "Reply"), thread %>
        </span>
        <div class="clear-right"></div>
      </div>
      <div class="items bold">
        <div class="item <%= "#{"locked" if thread.locked}#{"sticky" if thread.sticky}" %>">
          <%= render partial: "labels/label", locals: {label: thread.label} %><%= link_to truncate(thread.title, length: 60, omission: " …"), forumthread_path(thread), title: thread.title %>
          <div class="item-info">
            <% if rpl = thread.replies.last %>
              <%= rpl.author.name %>
              <%
                position = thread.replies.count - 1
                page     = position / Kaminari.config.default_per_page + 1
              %>
              <%= link_to "replied", forumthread_path(thread, page: page) + "#reply-#{rpl.id}" %>
              <%= ago rpl.created_at %>.
            <% else %>
              No replies yet.
            <% end %>
          </div>
          <div class="clear"></div>
        </div>
      </div>
    </div>
  <% end %>
  <% if @threads.empty? %>
    <br>
    <h3>No results found</h3>
  <% end %>
  <%= paginate @threads %>
</div>