<tr>
- <% cl = cycle('table0', 'table1') %>
- <td class="<%= cl %>">
+ <td>
<% if Settings.status != "gpx_offline" %>
<% if trace.inserted %>
- <a href="<%= url_for :controller => 'traces', :action => 'show', :id => trace.id, :display_name => trace.user.display_name %>"><img src="<%= url_for :controller => 'traces', :action => 'icon', :id => trace.id, :display_name => trace.user.display_name %>" border="0" alt="" /></a>
+ <%= link_to trace_icon(trace),
+ show_trace_path(trace.user, trace),
+ :class => "d-inline-block" %>
<% else %>
- <span class="trace_pending"><%= t '.pending' %></span>
+ <span class="text-danger"><%= t ".pending" %></span>
<% end %>
<% end %>
</td>
- <td class="<%= cl %>"><%= link_to trace.name, { :controller => 'traces', :action => 'show', :display_name => trace.user.display_name, :id => trace.id } %>
- <span class="trace_summary" title="<%= trace.timestamp %>"> ...
- <% if trace.inserted %>
- (<%= t '.count_points', :count => trace.size.to_s.gsub(/(\d)(?=(\d{3})+$)/,'\1,') %>)
+ <td>
+ <ul class="list-inline mb-0">
+ <li class="list-inline-item">
+ <%= link_to trace.name, show_trace_path(trace.user, trace) %>
+ </li>
+
+ <% if trace.inserted? %>
+ <li class="list-inline-item">
+ <%= t ".count_points", :count => trace.size %>
+ </li>
+ <% end %>
+
+ <li class="list-inline-item">
+ <% badge_class = case trace.visibility
+ when "public", "identifiable" then "success"
+ else "danger"
+ end %>
+ <span class="badge bg-<%= badge_class %> text-white"><%= t(".#{trace.visibility}") %></span>
+ </li>
+ </ul>
+ <p class="text-body-secondary mb-0">
+ <% if trace.tags.empty? %>
+ <%= t ".details_without_tags_html", :time_ago => friendly_date_ago(trace.timestamp),
+ :user => link_to(trace.user.display_name, trace.user) %>
+ <% else %>
+ <%= t ".details_with_tags_html", :time_ago => friendly_date_ago(trace.timestamp),
+ :user => link_to(trace.user.display_name, trace.user),
+ :tags => safe_join(trace.tags.collect { |tag| link_to_tag tag.tag }, ", ") %>
<% end %>
- ... <%= t '.ago', :time_in_words_ago => time_ago_in_words(trace.timestamp) %></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')} %>
- <span class="trace_<%= trace.visibility %>"><%= t('.' + trace.visibility) %></span>
- <br />
+ </p>
+ <p class="fs-6 mb-0">
<%= trace.description %>
- <br />
- <%= t '.by' %> <%=link_to h(trace.user.display_name), user_path(trace.user) %>
- <% if !trace.tags.empty? %>
- <%= t '.in' %>
- <%= raw(trace.tags.collect { |tag| link_to_tag tag.tag }.join(", ")) %>
+ </p>
+ </td>
+ <td>
+ <% if trace.inserted? %>
+ <nav class="secondary-actions">
+ <ul>
+ <li>
+ <%= link_to t(".view_map"), root_path(:mlat => trace.latitude, :mlon => trace.longitude, :anchor => "map=14/#{trace.latitude}/#{trace.longitude}") %>
+ </li>
+ <li>
+ <%= link_to t(".edit_map"), edit_path(:gpx => trace.id) %>
+ </li>
+ </ul>
+ </nav>
<% end %>
</td>
</tr>