-<p id= "notice"><%= notice %></p>
-
<% content_for :heading do %>
- <h1>List of <%= @user_role %> issues:</h1>
-<% end %>
-
-<%= form_tag(issues_path, :method => :get) do %>
- Search for a particular issue(s):
- <%= select :status, nil, [['open', 0],['resolved',2],['ignored',1]],{:include_blank => "Select status"},data: { behavior: 'category_dropdown' } %>
- <%= select :issue_type, nil, @issue_types,{:include_blank => "Select type"},data: { behavior: 'category_dropdown' } %>
- <%= text_field_tag :search_by_user, params[:search_by_user], placeholder: "Reported User" %>
- <%= submit_tag "Search" %>
+ <h1><%= t ".title" %></h1>
<% end %>
-<br/>
-<br/>
-<table>
- <thead>
- <tr>
- <tr>
- <td><b> <%= sortable("status") %></b></td>
- <td><b> <%= sortable("report_count", "Number of Reports") %></b></td>
- <td><b> <%= sortable("updated_at","Last updated at") %></b></td>
- <td><b> <%= sortable("updated_by","Last updated by") %></b></td>
- <td><b> Link to reports </b></td>
- <td><b> <%= sortable("reported_user_id","Reported User") %> </b></td>
- <td><b> Link to reported instance</b></td>
- </tr>
- </tr>
- </thead>
- <tbody>
- <% @issues.each do |issue| %>
- <tr>
- <td><span class="count-number"> <strong><%= issue.status %></strong></span> </td>
- <td><%= issue.report_count %></td>
- <td><%= issue.updated_at.strftime('%H:%M %m/%d/%y') %></td>
- <td><% if issue.user_updated %> <%= issue.user_updated.display_name %> <% else %> - <% end %></td>
- <td> <%= reports_url(issue) %></td>
- <td><%= link_to issue.user.display_name , :controller => :user, :action => :view,:display_name => issue.user.display_name %></td>
- <td><%= instance_url(issue.reportable) %></td>
- </tr>
- <% end %>
- </tbody>
-</table>
+<p><%= t ".search_guidance" %></p>
+<%= form_tag(issues_path, :method => :get, :data => { "turbo" => true, "turbo-frame" => "pagination", "turbo-action" => "advance" }) do %>
+ <div class="row gx-1">
+ <div class="mb-3 col-md-auto">
+ <%= select_tag :status,
+ options_for_select(Issue.aasm.states.map(&:name).map { |state| [t(".states.#{state}"), state] }, params[:status]),
+ :include_blank => t(".select_status"),
+ :data => { :behavior => "category_dropdown" },
+ :class => "form-select" %>
+ </div>
+ <div class="mb-3 col-md-auto">
+ <%= select_tag :issue_type,
+ options_for_select(@issue_types.map { |issue_type| [issue_type.constantize.model_name.human, issue_type] }, params[:issue_type]),
+ :include_blank => t(".select_type"),
+ :data => { :behavior => "category_dropdown" },
+ :class => "form-select" %>
+ </div>
+ <div class="mb-3 col-md">
+ <%= text_field_tag :search_by_user,
+ params[:search_by_user],
+ :placeholder => t(".reported_user"),
+ :autocomplete => "on",
+ :class => "form-control" %>
+ </div>
+ <div class="mb-3 col-md-auto">
+ <%= select_tag :last_updated_by,
+ options_for_select(@users.all.collect { |f| [f.display_name, f.id] } << [t(".not_updated"), "nil"], params[:last_updated_by]),
+ :include_blank => t(".select_last_updated_by"),
+ :data => { :behavior => "category_dropdown" },
+ :class => "form-select" %>
+ </div>
+ <div class="mb-3 col-md-auto">
+ <%= submit_tag t(".search"), :name => nil, :class => "btn btn-primary" %>
+ </div>
+ </div>
+<% end %>
+<%= render :partial => "page" %>