Refactor traces list display

Ideas taken from #3036
This commit is contained in:
Andy Allan 2021-03-17 17:57:18 +00:00
parent a2ddcda911
commit 4dc584421a
4 changed files with 42 additions and 23 deletions

View file

@ -8,28 +8,49 @@
<% end %>
<% end %>
</td>
<td><%= link_to trace.name, :controller => "traces", :action => "show", :display_name => trace.user.display_name, :id => trace.id %>
<span class="text-muted" title="<%= trace.timestamp %>"> ...
<% if trace.inserted %>
(<%= t ".count_points", :count => trace.size %>)
<% end %>
... <%= time_ago_in_words(trace.timestamp, :scope => :'datetime.distance_in_words_ago') %></span>
<%= link_to_if trace.inserted?, t(".map"), { :controller => "site", :action => "index", :mlat => trace.latitude, :mlon => trace.longitude, :anchor => "map=14/#{trace.latitude}/#{trace.longitude}" }, { :title => t(".view_map") } %> /
<%= link_to t(".edit"), { :controller => "site", :action => "edit", :gpx => trace.id }, { :title => t(".edit_map") } %>
<td>
<span class="mr-2">
<%= link_to trace.name, :controller => "traces", :action => "show", :display_name => trace.user.display_name, :id => trace.id %>
</span>
<% badge_class = case trace.visibility
when "public", "identifiable" then "success"
else "danger"
end %>
<span class="badge badge-<%= badge_class %> text-white"><%= t(".#{trace.visibility}") %></span>
<% if trace.inserted? %>
<span class="mr-2">
<%= t ".count_points", :count => trace.size %>
</span>
<% end %>
<% badge_class = case trace.visibility
when "public", "identifiable" then "success"
else "danger"
end %>
<span class="badge badge-<%= badge_class %> text-white"><%= t(".#{trace.visibility}") %></span>
<br />
<%= trace.description %>
<br />
<%= t ".by" %> <%= link_to trace.user.display_name, user_path(trace.user) %>
<% if !trace.tags.empty? %>
<%= t ".in" %>
<%= safe_join(trace.tags.collect { |tag| link_to_tag tag.tag }, ", ") %>
<span class="text-muted">
<span title="<%= trace.timestamp %>">
<%= time_ago_in_words(trace.timestamp, :scope => :'datetime.distance_in_words_ago') %>
</span>
<%= t ".by" %> <%= link_to trace.user.display_name, user_path(trace.user) %>
<% if !trace.tags.empty? %>
<%= t ".in" %>
<%= safe_join(trace.tags.collect { |tag| link_to_tag tag.tag }, ", ") %>
<% end %>
</span>
<br />
<p class="font-italic my-1">
<%= trace.description %>
</p>
</td>
<td>
<% if trace.inserted? %>
<ul class="secondary-actions">
<li>
<%= link_to t(".view_map"), { :controller => "site", :action => "index", :mlat => trace.latitude, :mlon => trace.longitude, :anchor => "map=14/#{trace.latitude}/#{trace.longitude}" } %>
</li>
<li>
<%= link_to t(".edit_map"), { :controller => "site", :action => "edit", :gpx => trace.id } %>
</li>
</ul>
<% end %>
</td>
</tr>

View file

@ -27,7 +27,7 @@
<table id="trace_list" class="table table-borderless table-striped">
<tbody>
<%= render @traces unless @traces.nil? %>
<%= render @traces %>
</tbody>
</table>