Skip to content

Commit 40f547f

Browse files
committed
feature/Add ability to filter connectable users
1 parent 38250aa commit 40f547f

File tree

4 files changed

+42
-17
lines changed

4 files changed

+42
-17
lines changed

app/controllers/home_controller.rb

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -32,23 +32,23 @@ def connect
3232

3333
@users = if user_signed_in?
3434
current_user.not_following
35+
.paginate(page: params[:page] || 1, per_page: 8)
3536
else
3637
User.order(updated_at: :desc)
38+
.paginate(page: params[:page] || 1, per_page: 8)
3739
end
3840

39-
# @users = current_user.not_following
41+
# TODO: Extract this logic to model/service
42+
@users = @users.where('name ILIKE ?', "%#{params[:search]}%") if params[:search]
4043

41-
# @users = @users
42-
# .order(created_at: :desc)
43-
# .paginate(page: params[:page] || 1, per_page: 15)
44-
45-
# respond_to do |format|
46-
# format.json do
47-
# render json: {
48-
# entries: render_to_string(partial: 'snippets/snippets', formats: [:html]),
49-
# pagination: view_context.will_paginate(@users)
50-
# }
51-
# end
52-
# end
44+
respond_to do |format|
45+
format.html
46+
format.json do
47+
render json: {
48+
entries: render_to_string(partial: 'users/follow_previews', formats: [:html]),
49+
pagination: view_context.will_paginate(@users)
50+
}
51+
end
52+
end
5353
end
5454
end

app/views/home/connect.html.erb

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,25 @@
1-
<% @users.each do |user| %>
2-
<%= render partial: 'users/follow_preview', locals: { user: user } %>
3-
<% end %>
1+
<div data-controller="infinite-scroll snippets-list" data-infinite-scroll-base-url="<%= connect_path %>">
2+
<div style="display: flex; align-items: center; justify-content: space-between;" class="margin-top">
3+
4+
<div class="searchbar">
5+
<input autofocus
6+
type="text"
7+
placeholder="Search"
8+
data-action="input->infinite-scroll#search"
9+
data-target="infinite-scroll.input"
10+
/>
11+
<img src="/icons/search.svg">
12+
</div>
13+
</div>
14+
15+
<div class="margin-top"
16+
data-target="infinite-scroll.entries"
17+
data-action="scroll@window->infinite-scroll#scroll"
18+
>
19+
<%= render 'users/follow_previews' %>
20+
</div>
21+
22+
<div data-target="infinite-scroll.pagination" class="hidden">
23+
<%= will_paginate @users, container: false %>
24+
</div>
25+
</div>

app/views/snippets/index.html.erb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
<div class="margin-top"
1818
data-target="infinite-scroll.entries"
19-
data-action="scroll@window->infinite-scroll#scroll ssnippet-created@window->infinite-scroll#add nippet-updated@window->snippets-list#update"
19+
data-action="scroll@window->infinite-scroll#scroll snippet-created@window->infinite-scroll#add snippet-updated@window->snippets-list#update"
2020
>
2121
<%= render 'snippets/snippets' %>
2222
</div>
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
<% @users.each do |user| %>
2+
<%= render partial: 'users/follow_preview', locals: { user: user } %>
3+
<% end %>

0 commit comments

Comments
 (0)