]> git.openstreetmap.org Git - rails.git/commitdiff
Use turbo for pagination
authorTom Hughes <tom@compton.nu>
Mon, 12 Aug 2024 21:38:05 +0000 (22:38 +0100)
committerTom Hughes <tom@compton.nu>
Tue, 20 Aug 2024 13:44:10 +0000 (14:44 +0100)
20 files changed:
app/controllers/diary_comments_controller.rb
app/controllers/diary_entries_controller.rb
app/controllers/traces_controller.rb
app/controllers/user_blocks_controller.rb
app/controllers/users_controller.rb
app/views/diary_comments/_page.html.erb [new file with mode: 0644]
app/views/diary_comments/index.html.erb
app/views/diary_entries/_page.html.erb [new file with mode: 0644]
app/views/diary_entries/index.html.erb
app/views/shared/_pagination.html.erb
app/views/traces/_page.html.erb [new file with mode: 0644]
app/views/traces/index.html.erb
app/views/user_blocks/_block.html.erb
app/views/user_blocks/_blocks.html.erb
app/views/user_blocks/blocks_by.html.erb
app/views/user_blocks/blocks_on.html.erb
app/views/user_blocks/index.html.erb
app/views/users/_page.html.erb [new file with mode: 0644]
app/views/users/index.html.erb
config/locales/en.yml

index 35dbbb559cce41b03491eda4258404fda9a6cd47..f6597cf4c0fac1f74fa69a2c12b9851fdc6ab4ad 100644 (file)
@@ -24,6 +24,8 @@ class DiaryCommentsController < ApplicationController
     @params = params.permit(:display_name, :before, :after)
 
     @comments, @newer_comments_id, @older_comments_id = get_page_items(comments, :includes => [:user])
     @params = params.permit(:display_name, :before, :after)
 
     @comments, @newer_comments_id, @older_comments_id = get_page_items(comments, :includes => [:user])
+
+    render :partial => "page" if turbo_frame_request_id == "pagination"
   end
 
   def create
   end
 
   def create
index dd7efc7cacf3c359e21a28d32aed1b19357b6674..ff6dfc826cbf67763889a8c9c490b87558a58c45 100644 (file)
@@ -60,6 +60,8 @@ class DiaryEntriesController < ApplicationController
     @params = params.permit(:display_name, :friends, :nearby, :language)
 
     @entries, @newer_entries_id, @older_entries_id = get_page_items(entries, :includes => [:user, :language])
     @params = params.permit(:display_name, :friends, :nearby, :language)
 
     @entries, @newer_entries_id, @older_entries_id = get_page_items(entries, :includes => [:user, :language])
+
+    render :partial => "page" if turbo_frame_request_id == "pagination"
   end
 
   def show
   end
 
   def show
index 5bee44886716448fbcd715dc893c981341b5984b..02b553d0a89814d944ddbeb5e5791f549f809a66 100644 (file)
@@ -65,6 +65,8 @@ class TracesController < ApplicationController
 
     # final helper vars for view
     @target_user = target_user
 
     # final helper vars for view
     @target_user = target_user
+
+    render :partial => "page" if turbo_frame_request_id == "pagination"
   end
 
   def show
   end
 
   def show
index ae6e3c1cd5f4f3b7fc26646cd8ae346ebdb75cb1..167223d919f001147d54598b115e95d7884d04e6 100644 (file)
@@ -21,6 +21,11 @@ class UserBlocksController < ApplicationController
     user_blocks = UserBlock.all
 
     @user_blocks, @newer_user_blocks_id, @older_user_blocks_id = get_page_items(user_blocks, :includes => [:user, :creator, :revoker])
     user_blocks = UserBlock.all
 
     @user_blocks, @newer_user_blocks_id, @older_user_blocks_id = get_page_items(user_blocks, :includes => [:user, :creator, :revoker])
+
+    @show_user_name = true
+    @show_creator_name = true
+
+    render :partial => "blocks" if turbo_frame_request_id == "pagination"
   end
 
   def show
   end
 
   def show
@@ -118,6 +123,11 @@ class UserBlocksController < ApplicationController
     user_blocks = UserBlock.where(:user => @user)
 
     @user_blocks, @newer_user_blocks_id, @older_user_blocks_id = get_page_items(user_blocks, :includes => [:user, :creator, :revoker])
     user_blocks = UserBlock.where(:user => @user)
 
     @user_blocks, @newer_user_blocks_id, @older_user_blocks_id = get_page_items(user_blocks, :includes => [:user, :creator, :revoker])
+
+    @show_user_name = false
+    @show_creator_name = true
+
+    render :partial => "blocks" if turbo_frame_request_id == "pagination"
   end
 
   ##
   end
 
   ##
@@ -128,6 +138,11 @@ class UserBlocksController < ApplicationController
     user_blocks = UserBlock.where(:creator => @user)
 
     @user_blocks, @newer_user_blocks_id, @older_user_blocks_id = get_page_items(user_blocks, :includes => [:user, :creator, :revoker])
     user_blocks = UserBlock.where(:creator => @user)
 
     @user_blocks, @newer_user_blocks_id, @older_user_blocks_id = get_page_items(user_blocks, :includes => [:user, :creator, :revoker])
+
+    @show_user_name = true
+    @show_creator_name = false
+
+    render :partial => "blocks" if turbo_frame_request_id == "pagination"
   end
 
   private
   end
 
   private
index 0830e51d402bb02ca877b5ca7da6523ebf59de51..4ebeb1ec3a271f9139fb6932b77d00d1a49cb514 100644 (file)
@@ -40,6 +40,8 @@ class UsersController < ApplicationController
 
       @users_count = users.count
       @users, @newer_users_id, @older_users_id = get_page_items(users, :limit => 50)
 
       @users_count = users.count
       @users, @newer_users_id, @older_users_id = get_page_items(users, :limit => 50)
+
+      render :partial => "page" if turbo_frame_request_id == "pagination"
     end
   end
 
     end
   end
 
diff --git a/app/views/diary_comments/_page.html.erb b/app/views/diary_comments/_page.html.erb
new file mode 100644 (file)
index 0000000..53472e3
--- /dev/null
@@ -0,0 +1,26 @@
+<turbo-frame id="pagination" target="_top">
+  <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>
+      <td width="25%" class="<%= "text-body-secondary" unless comment.visible? %>"><%= link_to comment.diary_entry.title, diary_entry_path(comment.diary_entry.user, comment.diary_entry) %></td>
+      <td width="25%" class="<%= "text-body-secondary" unless comment.visible? %>">
+        <%= friendly_date_ago(comment.created_at) %>
+      </td>
+      <td width="50%" class="richtext text-break<%= " text-body-secondary" unless comment.visible? %>"><%= comment.body.to_html %></td>
+    </tr>
+    <% end -%>
+  </table>
+
+  <%= render "shared/pagination",
+             :newer_key => "diary_comments.page.newer_comments",
+             :older_key => "diary_comments.page.older_comments",
+             :newer_id => @newer_comments_id,
+             :older_id => @older_comments_id %>
+</turbo-frame>
index 0dd03d9d095afa620e839d68b84f76aa138cc5c4..e68b3fb6b9ba58773080a06fbb3359441323eaad 100644 (file)
@@ -5,30 +5,6 @@
 
 <% if @comments.empty? %>
   <h4><%= t ".no_comments" %></h4>
 
 <% if @comments.empty? %>
   <h4><%= t ".no_comments" %></h4>
-
 <% else %>
 <% 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>
-      <td width="25%" class="<%= "text-body-secondary" unless comment.visible? %>"><%= link_to comment.diary_entry.title, diary_entry_path(comment.diary_entry.user, comment.diary_entry) %></td>
-      <td width="25%" class="<%= "text-body-secondary" unless comment.visible? %>">
-        <%= friendly_date_ago(comment.created_at) %>
-      </td>
-      <td width="50%" class="richtext text-break<%= " text-body-secondary" unless comment.visible? %>"><%= comment.body.to_html %></td>
-    </tr>
-    <% end -%>
-  </table>
-
-  <%= render "shared/pagination",
-             :newer_key => "diary_comments.index.newer_comments",
-             :older_key => "diary_comments.index.older_comments",
-             :newer_id => @newer_comments_id,
-             :older_id => @older_comments_id %>
+  <%= render :partial => "page" %>
 <% end -%>
 <% end -%>
diff --git a/app/views/diary_entries/_page.html.erb b/app/views/diary_entries/_page.html.erb
new file mode 100644 (file)
index 0000000..34f364a
--- /dev/null
@@ -0,0 +1,11 @@
+<turbo-frame id="pagination" target="_top">
+  <h4><%= t ".recent_entries" %></h4>
+
+  <%= render @entries %>
+
+  <%= render "shared/pagination",
+             :newer_key => "diary_entries.page.newer_entries",
+             :older_key => "diary_entries.page.older_entries",
+             :newer_id => @newer_entries_id,
+             :older_id => @older_entries_id %>
+</turbo-frame>
index 15be9e96402ce89d098f74c6b9908c5b6db0f4a0..0457cc4a21b7fa4a951e9df8197099c952124d29 100644 (file)
 <% if @entries.empty? %>
   <h4><%= t ".no_entries" %></h4>
 <% else %>
 <% if @entries.empty? %>
   <h4><%= t ".no_entries" %></h4>
 <% else %>
-  <h4><%= t ".recent_entries" %></h4>
-
-  <%= render @entries %>
-
-  <%= render "shared/pagination",
-             :newer_key => "diary_entries.index.newer_entries",
-             :older_key => "diary_entries.index.older_entries",
-             :newer_id => @newer_entries_id,
-             :older_id => @older_entries_id %>
-<% end %>
+  <%= render :partial => "page" %>
+<% end -%>
 
 <% unless params[:friends] or params[:nearby] -%>
   <% content_for :auto_discovery_link_tag do -%>
 
 <% unless params[:friends] or params[:nearby] -%>
   <% content_for :auto_discovery_link_tag do -%>
index 3dbce6f98280efda560b3112f203ac00af6e107d..67b69e8645f0134cd975b228598ed29a358f7961 100644 (file)
@@ -7,7 +7,7 @@
     <% end %>
     <% if newer_id -%>
       <li class="page-item d-flex">
     <% end %>
     <% if newer_id -%>
       <li class="page-item d-flex">
-        <%= link_to newer_link_content, @params.merge(:before => nil, :after => newer_id), :class => link_class %>
+        <%= link_to newer_link_content, @params.merge(:before => nil, :after => newer_id), :class => link_class, :data => { "turbo-frame" => "pagination", "turbo-action" => "advance" } %>
       </li>
     <% else -%>
       <li class="page-item d-flex disabled">
       </li>
     <% else -%>
       <li class="page-item d-flex disabled">
@@ -21,7 +21,7 @@
     <% end %>
     <% if older_id -%>
       <li class="page-item d-flex">
     <% end %>
     <% if older_id -%>
       <li class="page-item d-flex">
-        <%= link_to older_link_content, @params.merge(:before => older_id, :after => nil), :class => link_class %>
+        <%= link_to older_link_content, @params.merge(:before => older_id, :after => nil), :class => link_class, :data => { "turbo-frame" => "pagination", "turbo-action" => "advance" } %>
       </li>
     <% else -%>
       <li class="page-item d-flex disabled">
       </li>
     <% else -%>
       <li class="page-item d-flex disabled">
diff --git a/app/views/traces/_page.html.erb b/app/views/traces/_page.html.erb
new file mode 100644 (file)
index 0000000..38cdc73
--- /dev/null
@@ -0,0 +1,19 @@
+<turbo-frame id="pagination" target="_top">
+  <%= render "shared/pagination",
+             :newer_key => "traces.page.newer",
+             :older_key => "traces.page.older",
+             :newer_id => @newer_traces_id,
+             :older_id => @older_traces_id %>
+
+  <table id="trace_list" class="table table-borderless table-striped">
+    <tbody>
+      <%= render @traces %>
+    </tbody>
+  </table>
+
+  <%= render "shared/pagination",
+             :newer_key => "traces.page.newer",
+             :older_key => "traces.page.older",
+             :newer_id => @newer_traces_id,
+             :older_id => @older_traces_id %>
+</turbo-frame>
index 6e27ac7e4e5a38e11434809a89228e7cc905a065..998dd248d45a14b8d108fc9a3ffe1fddf13da563 100644 (file)
 <% end %>
 
 <% if @traces.size > 0 %>
 <% end %>
 
 <% if @traces.size > 0 %>
-  <%= render "shared/pagination",
-             :newer_key => "traces.trace_paging_nav.newer",
-             :older_key => "traces.trace_paging_nav.older",
-             :newer_id => @newer_traces_id,
-             :older_id => @older_traces_id %>
-
-  <table id="trace_list" class="table table-borderless table-striped">
-    <tbody>
-      <%= render @traces %>
-    </tbody>
-  </table>
-
-  <%= render "shared/pagination",
-             :newer_key => "traces.trace_paging_nav.newer",
-             :older_key => "traces.trace_paging_nav.older",
-             :newer_id => @newer_traces_id,
-             :older_id => @older_traces_id %>
+  <%= render :partial => "page" %>
 <% else %>
   <h2><%= t ".empty_title" %></h2>
   <p><%= t ".empty_upload_html", :upload_link => link_to(t(".upload_new"), new_trace_path),
 <% else %>
   <h2><%= t ".empty_title" %></h2>
   <p><%= t ".empty_upload_html", :upload_link => link_to(t(".upload_new"), new_trace_path),
index 5444bdd5b8c66c21d61c6c8e307e53faca7fb75f..68850c28dfb22bd50d9c04ed3bc9fd84d058c288 100644 (file)
@@ -1,8 +1,8 @@
 <tr>
 <tr>
-  <% if show_user_name %>
+  <% if @show_user_name %>
   <td><%= link_to block.user.display_name, block.user, :class => "username d-inline-block text-truncate text-wrap" %></td>
   <% end %>
   <td><%= link_to block.user.display_name, block.user, :class => "username d-inline-block text-truncate text-wrap" %></td>
   <% end %>
-  <% if show_creator_name %>
+  <% if @show_creator_name %>
   <td><%= link_to block.creator.display_name, block.creator, :class => "username d-inline-block text-truncate text-wrap" %></td>
   <% end %>
   <td><%= h truncate(block.reason) %></td>
   <td><%= link_to block.creator.display_name, block.creator, :class => "username d-inline-block text-truncate text-wrap" %></td>
   <% end %>
   <td><%= h truncate(block.reason) %></td>
@@ -17,7 +17,7 @@
   <td><%= link_to t(".show"), block %></td>
   <td><% if current_user && (current_user.id == block.creator_id ||
                              current_user.id == block.revoker_id) %><%= link_to t(".edit"), edit_user_block_path(block) %><% end %></td>
   <td><%= link_to t(".show"), block %></td>
   <td><% if current_user && (current_user.id == block.creator_id ||
                              current_user.id == block.revoker_id) %><%= link_to t(".edit"), edit_user_block_path(block) %><% end %></td>
-  <% if show_revoke_link %>
+  <% if can?(:revoke, UserBlock) %>
   <td><% if block.active? %><%= link_to t(".revoke"), revoke_user_block_path(block) %><% end %></td>
   <% end %>
 </tr>
   <td><% if block.active? %><%= link_to t(".revoke"), revoke_user_block_path(block) %><% end %></td>
   <% end %>
 </tr>
index c508dcd47a6351f3007ba138843d6009541b80e2..8816acb1565a5dfb1a2c9dddb4abbc7f144715b7 100644 (file)
@@ -1,27 +1,29 @@
-<table id="block_list" class="table table-borderless table-striped table-sm">
-  <thead>
-    <tr>
-      <% if show_user_name %>
-      <th><%= t ".display_name" %></th>
-      <% end %>
-      <% if show_creator_name %>
-      <th><%= t ".creator_name" %></th>
-      <% end %>
-      <th><%= t ".reason" %></th>
-      <th><%= t ".status" %></th>
-      <th><%= t ".revoker_name" %></th>
-      <th></th>
-      <th></th>
-      <% if show_revoke_link %>
-      <th></th>
-      <% end %>
-    </tr>
-  </thead>
-  <%= render :partial => "block", :locals => { :show_revoke_link => show_revoke_link, :show_user_name => show_user_name, :show_creator_name => show_creator_name }, :collection => @user_blocks %>
-</table>
+<turbo-frame id="pagination" target="_top">
+  <table id="block_list" class="table table-borderless table-striped table-sm">
+    <thead>
+      <tr>
+        <% if @show_user_name %>
+        <th><%= t ".display_name" %></th>
+        <% end %>
+        <% if @show_creator_name %>
+        <th><%= t ".creator_name" %></th>
+        <% end %>
+        <th><%= t ".reason" %></th>
+        <th><%= t ".status" %></th>
+        <th><%= t ".revoker_name" %></th>
+        <th></th>
+        <th></th>
+        <% if can?(:revoke, UserBlock) %>
+        <th></th>
+        <% end %>
+      </tr>
+    </thead>
+    <%= render :partial => "block", :collection => @user_blocks %>
+  </table>
 
 
-<%= render "shared/pagination",
-           :newer_key => "user_blocks.blocks.newer",
-           :older_key => "user_blocks.blocks.older",
-           :newer_id => @newer_user_blocks_id,
-           :older_id => @older_user_blocks_id %>
+  <%= render "shared/pagination",
+             :newer_key => "user_blocks.blocks.newer",
+             :older_key => "user_blocks.blocks.older",
+             :newer_id => @newer_user_blocks_id,
+             :older_id => @older_user_blocks_id %>
+</turbo-frame>
index 7fa0a4fbbae9f62b3ae69118eb479eb951fb3a59..38254a5a3d166781f1e3e80bfadb5c932c0c2b9f 100644 (file)
@@ -7,7 +7,7 @@
 <% end %>
 
 <% unless @user_blocks.empty? %>
 <% end %>
 
 <% unless @user_blocks.empty? %>
-<%= render :partial => "blocks", :locals => { :show_revoke_link => can?(:revoke, UserBlock), :show_user_name => true, :show_creator_name => false } %>
+<%= render :partial => "blocks" %>
 <% else %>
 <p><%= t ".empty", :name => @user.display_name %></p>
 <% end %>
 <% else %>
 <p><%= t ".empty", :name => @user.display_name %></p>
 <% end %>
index 0c15b8866d73d70e2e133153e4cbc2bb7416fd3e..38254a5a3d166781f1e3e80bfadb5c932c0c2b9f 100644 (file)
@@ -7,7 +7,7 @@
 <% end %>
 
 <% unless @user_blocks.empty? %>
 <% end %>
 
 <% unless @user_blocks.empty? %>
-<%= render :partial => "blocks", :locals => { :show_revoke_link => can?(:revoke, UserBlock), :show_user_name => false, :show_creator_name => true } %>
+<%= render :partial => "blocks" %>
 <% else %>
 <p><%= t ".empty", :name => @user.display_name %></p>
 <% end %>
 <% else %>
 <p><%= t ".empty", :name => @user.display_name %></p>
 <% end %>
index 4d200b516cd574b7f469ce4e17b2854a13d6b68e..854d62037f4ace3e7e7a9f76398235a20867fb6a 100644 (file)
@@ -7,7 +7,7 @@
 <% end %>
 
 <% unless @user_blocks.empty? %>
 <% end %>
 
 <% unless @user_blocks.empty? %>
-<%= render :partial => "blocks", :locals => { :show_revoke_link => can?(:revoke, UserBlock), :show_user_name => true, :show_creator_name => true } %>
+<%= render :partial => "blocks" %>
 <% else %>
 <p><%= t ".empty" %></p>
 <% end %>
 <% else %>
 <p><%= t ".empty" %></p>
 <% end %>
diff --git a/app/views/users/_page.html.erb b/app/views/users/_page.html.erb
new file mode 100644 (file)
index 0000000..3307c7b
--- /dev/null
@@ -0,0 +1,50 @@
+<turbo-frame id="pagination" target="_top">
+  <%= form_tag do %>
+    <div class="row">
+      <div class="col">
+        <%= render "shared/pagination",
+                   :newer_key => "users.page.newer",
+                   :older_key => "users.page.older",
+                   :newer_id => @newer_users_id,
+                   :older_id => @older_users_id %>
+      </div>
+      <div class="col col-auto">
+        <%= t ".found_users", :count => @users_count %>
+      </div>
+    <div>
+
+    <%= hidden_field_tag :status, params[:status] if params[:status] %>
+    <%= hidden_field_tag :ip, params[:ip] if params[:ip] %>
+    <%= hidden_field_tag :page, params[:page] if params[:page] %>
+    <table id="user_list" class="table table-borderless table-striped">
+      <thead>
+        <tr>
+          <td colspan="2">
+          </td>
+          <td>
+            <%= check_box_tag "user_all", "1", false %>
+          </td>
+        </tr>
+      </thead>
+      <%= render @users %>
+    </table>
+
+    <div class="row">
+      <div class="col">
+        <%= render "shared/pagination",
+                   :newer_key => "users.page.newer",
+                   :older_key => "users.page.older",
+                   :newer_id => @newer_users_id,
+                   :older_id => @older_users_id %>
+      </div>
+      <div class="col col-auto">
+        <%= t ".found_users", :count => @users_count %>
+      </div>
+    <div>
+
+    <div>
+      <%= submit_tag t(".confirm"), :name => "confirm", :class => "btn btn-primary" %>
+      <%= submit_tag t(".hide"), :name => "hide", :class => "btn btn-primary" %>
+    </div>
+  <% end %>
+</turbo-frame>
index e8031900f8a1f12201e2a3c143fcd901c0bc2176..abf0092cebb5c8c695c7369406719b85e64e05c8 100644 (file)
@@ -9,54 +9,7 @@
 <% end %>
 
 <% unless @users.empty? %>
 <% end %>
 
 <% unless @users.empty? %>
-  <%= form_tag do %>
-    <div class="row">
-      <div class="col">
-        <%= render "shared/pagination",
-                   :newer_key => "users.index.newer",
-                   :older_key => "users.index.older",
-                   :newer_id => @newer_users_id,
-                   :older_id => @older_users_id %>
-      </div>
-      <div class="col col-auto">
-        <%= t ".found_users", :count => @users_count %>
-      </div>
-    <div>
-
-    <%= hidden_field_tag :status, params[:status] if params[:status] %>
-    <%= hidden_field_tag :ip, params[:ip] if params[:ip] %>
-    <%= hidden_field_tag :page, params[:page] if params[:page] %>
-    <table id="user_list" class="table table-borderless table-striped">
-      <thead>
-        <tr>
-          <td colspan="2">
-          </td>
-          <td>
-            <%= check_box_tag "user_all", "1", false %>
-          </td>
-        </tr>
-      </thead>
-      <%= render @users %>
-    </table>
-
-    <div class="row">
-      <div class="col">
-        <%= render "shared/pagination",
-                   :newer_key => "users.index.newer",
-                   :older_key => "users.index.older",
-                   :newer_id => @newer_users_id,
-                   :older_id => @older_users_id %>
-      </div>
-      <div class="col col-auto">
-        <%= t ".found_users", :count => @users_count %>
-      </div>
-    <div>
-
-    <div>
-      <%= submit_tag t(".confirm"), :name => "confirm", :class => "btn btn-primary" %>
-      <%= submit_tag t(".hide"), :name => "hide", :class => "btn btn-primary" %>
-    </div>
-  <% end %>
+  <%= render :partial => "page" %>
 <% else %>
   <p><%= t ".empty" %></p>
 <% end %>
 <% else %>
   <p><%= t ".empty" %></p>
 <% end %>
index 30721562a8098459436b18ab8cdb2b72de741fa3..4d5ce7f5837d34f69893ce35fe9bf7184910a768 100644 (file)
@@ -538,6 +538,7 @@ en:
       new_title: Compose a new entry in my user diary
       my_diary: My Diary
       no_entries: No diary entries
       new_title: Compose a new entry in my user diary
       my_diary: My Diary
       no_entries: No diary entries
+    page:
       recent_entries: "Recent diary entries"
       older_entries: Older Entries
       newer_entries: Newer Entries
       recent_entries: "Recent diary entries"
       older_entries: Older Entries
       newer_entries: Newer Entries
@@ -604,6 +605,7 @@ en:
       heading: "%{user}'s Diary Comments"
       subheading_html: "Diary Comments added by %{user}"
       no_comments: "No diary comments"
       heading: "%{user}'s Diary Comments"
       subheading_html: "Diary Comments added by %{user}"
       no_comments: "No diary comments"
+    page:
       post: Post
       when: When
       comment: Comment
       post: Post
       when: When
       comment: Comment
@@ -2522,9 +2524,6 @@ en:
       trace_not_found: "Trace not found!"
       visibility: "Visibility:"
       confirm_delete: "Delete this trace?"
       trace_not_found: "Trace not found!"
       visibility: "Visibility:"
       confirm_delete: "Delete this trace?"
-    trace_paging_nav:
-      older: "Older Traces"
-      newer: "Newer Traces"
     trace:
       pending: "PENDING"
       count_points:
     trace:
       pending: "PENDING"
       count_points:
@@ -2556,6 +2555,9 @@ en:
       my_traces: "My Traces"
       traces_from: "Public Traces from %{user}"
       remove_tag_filter: "Remove Tag Filter"
       my_traces: "My Traces"
       traces_from: "Public Traces from %{user}"
       remove_tag_filter: "Remove Tag Filter"
+    page:
+      older: "Older Traces"
+      newer: "Newer Traces"
     destroy:
       scheduled_for_deletion: "Trace scheduled for deletion"
     make_public:
     destroy:
       scheduled_for_deletion: "Trace scheduled for deletion"
     make_public:
@@ -2875,16 +2877,17 @@ en:
     index:
       title: Users
       heading: Users
     index:
       title: Users
       heading: Users
+      summary_html: "%{name} created from %{ip_address} on %{date}"
+      summary_no_ip_html: "%{name} created on %{date}"
+      empty: No matching users found
+    page:
       older: "Older Users"
       newer: "Newer Users"
       found_users:
         one: "%{count} user found"
         other: "%{count} users found"
       older: "Older Users"
       newer: "Newer Users"
       found_users:
         one: "%{count} user found"
         other: "%{count} users found"
-      summary_html: "%{name} created from %{ip_address} on %{date}"
-      summary_no_ip_html: "%{name} created on %{date}"
       confirm: Confirm Selected Users
       hide: Hide Selected Users
       confirm: Confirm Selected Users
       hide: Hide Selected Users
-      empty: No matching users found
     suspended:
       title: Account Suspended
       heading: Account Suspended
     suspended:
       title: Account Suspended
       heading: Account Suspended