]> git.openstreetmap.org Git - rails.git/blobdiff - app/views/traces/_trace.html.erb
Show 'api offline' message on new note page
[rails.git] / app / views / traces / _trace.html.erb
index 9b377eb8148252bc5535c94467dd762f9ee4c825..992f16199ac38a5044fa8df507b8dfc27b29e6c4 100644 (file)
@@ -1,30 +1,61 @@
 <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="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 %>)
+  <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 text-bg-<%= badge_class %>"><%= 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 %>
-      ... <%= 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") } %>
-      <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>