]> git.openstreetmap.org Git - rails.git/blobdiff - app/views/traces/_trace.html.erb
Simplify links on diary pages
[rails.git] / app / views / traces / _trace.html.erb
index 35536f3e8b363ed7230602349c7ddec2b6565285..f72671e37adb9c6afb95be72e85b9a77922d8b5d 100644 (file)
@@ -1,30 +1,57 @@
 <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 image_tag(trace_icon_path(trace.user, trace), :alt => ""), show_trace_path(trace.user, trace) %>
       <% 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-muted mb-0">
+      <%= friendly_date_ago(trace.timestamp) %>
+      <%= t ".by" %> <%= link_to trace.user.display_name, trace.user %>
+      <% if !trace.tags.empty? %>
+        <%= t ".in" %>
+        <%= 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="fst-italic 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>