]> git.openstreetmap.org Git - rails.git/commitdiff
Display no diary comments message when empty
authorHarry Wood <github@onlineanimals.co.uk>
Fri, 9 Apr 2021 17:06:05 +0000 (18:06 +0100)
committerHarry Wood <github@onlineanimals.co.uk>
Fri, 9 Apr 2021 23:47:20 +0000 (00:47 +0100)
Display a 'No diary comments' message when there are no diary comments to display, rather than an empty table.

app/views/diary_entries/comments.html.erb
config/locales/en.yml
test/controllers/diary_entries_controller_test.rb

index 78f16eb8c8c5a5fd035727380250bfba3cf74d05..290fba35e66a7edd20c9fcce9cb714266af2e69d 100644 (file)
@@ -2,24 +2,30 @@
   <h1><%= t(".has_commented_on", :display_name => @user.display_name) %></h1>
 <% end %>
 
   <h1><%= t(".has_commented_on", :display_name => @user.display_name) %></h1>
 <% end %>
 
-<table class="table table-striped" width="100%">
-  <thead>
-    <tr>
-      <th width="25%"><%= t ".post" %></th>
-      <th width="25%"><%= t ".when" %></th>
-      <th width="50%"><%= t ".comment" %></th>
+<% if @comments.empty? %>
+  <h4><%= t ".no_comments" %></h4>
+
+<% else %>
+  <table class="table table-striped" width="100%">
+    <thead>
+      <tr>
+        <th width="25%"><%= t ".post" %></th>
+        <th width="25%"><%= t ".when" %></th>
+        <th width="50%"><%= t ".comment" %></th>
+      </tr>
+    </thead>
+    <% @comments.each do |comment| -%>
+    <tr class="<%= "text-muted" unless comment.visible? %>">
+      <td width="25%"><%= link_to comment.diary_entry.title, diary_entry_path(comment.diary_entry.user, comment.diary_entry) %></td>
+      <td width="25%"><span title="<%= l comment.created_at, :format => :friendly %>"><%= time_ago_in_words(comment.created_at, :scope => :'datetime.distance_in_words_ago') %></span></td>
+      <td width="50%" class="richtext text-break"><%= comment.body.to_html %></td>
     </tr>
     </tr>
-  </thead>
-  <% @comments.each do |comment| -%>
-  <tr class="<%= "text-muted" unless comment.visible? %>">
-    <td width="25%"><%= link_to comment.diary_entry.title, diary_entry_path(comment.diary_entry.user, comment.diary_entry) %></td>
-    <td width="25%"><span title="<%= l comment.created_at, :format => :friendly %>"><%= time_ago_in_words(comment.created_at, :scope => :'datetime.distance_in_words_ago') %></span></td>
-    <td width="50%" class="richtext text-break"><%= comment.body.to_html %></td>
-  </tr>
-  <% end -%>
-</table>
+    <% end -%>
+  </table>
+
+  <div class='secondary-actions clearfix'>
+    <span><%= link_to t(".older_comments"), :page => @comment_pages.current.next if @comment_pages.current.next %>
+    <%= link_to t(".newer_comments"), :page => @comment_pages.current.previous if @comment_pages.current.previous %></span>
+  </div>
 
 
-<div class='secondary-actions clearfix'>
-  <span><%= link_to t(".older_comments"), :page => @comment_pages.current.next if @comment_pages.current.next %>
-  <%= link_to t(".newer_comments"), :page => @comment_pages.current.previous if @comment_pages.current.previous %></span>
-</div>
+<% end -%>
index 4e8385e26b1445dc7c8a7d7ada5b03c1ee3bd388..b07536c2718558901dcbdcdf8e854b93ce86fa4d 100644 (file)
@@ -474,6 +474,7 @@ en:
         description: "Recent diary entries from users of OpenStreetMap"
     comments:
       has_commented_on: "%{display_name} has commented on the following diary entries"
         description: "Recent diary entries from users of OpenStreetMap"
     comments:
       has_commented_on: "%{display_name} has commented on the following diary entries"
+      no_comments: "No diary comments"
       post: Post
       when: When
       comment: Comment
       post: Post
       when: When
       comment: Comment
index 45fe4add191ea92f2f0187b874919c25d97f2aa7..255b4399794942841e8824a139ede773f923b4c3 100644 (file)
@@ -848,9 +848,7 @@ class DiaryEntriesControllerTest < ActionDispatch::IntegrationTest
     get diary_comments_path(:display_name => user.display_name)
     assert_response :success
     assert_template :comments
     get diary_comments_path(:display_name => user.display_name)
     assert_response :success
     assert_template :comments
-    assert_select "table.table-striped" do
-      assert_select "tr", :count => 1 # header, no comments
-    end
+    assert_select "h4", :html => "No diary comments"
 
     # Test a user with a comment
     create(:diary_comment, :user => other_user)
 
     # Test a user with a comment
     create(:diary_comment, :user => other_user)