Skip to content

Commit af57edf

Browse files
committed
feature/Only display public snippets on home page
1 parent 31efb27 commit af57edf

File tree

4 files changed

+7
-4
lines changed

4 files changed

+7
-4
lines changed

app/controllers/home_controller.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ def index
1010
else
1111
# temp fix for when user not signed in
1212
@snippets = Snippet
13+
.public_snippets
1314
.includes(:user)
1415
.order(created_at: :desc)
1516
.paginate(page: params[:page] || 1, per_page: 6)

app/models/snippet.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ class Snippet < ApplicationRecord
1010

1111
attr_accessor :folder_id
1212

13+
scope :public_snippets, -> { where(public: true) }
14+
1315
def folder_for_user(user)
1416
folders.find_by(user_id: user&.id)
1517
end

app/models/user.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ class User < ApplicationRecord
2424

2525
has_many :snippets
2626
has_many :filed_snippets, through: :folders, source: :snippets
27-
has_many :followed_snippets, through: :following, source: :snippets
27+
has_many :followed_snippets, -> { public_snippets }, through: :following, source: :snippets
2828

2929
has_many :comments
3030
has_many :likes

app/views/modals/snippets/new.html.erb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,12 @@
3434
data-controller="checkbox"
3535
data-action="click->checkbox#toggle"
3636
data-checkbox-checked-text-value="Public"
37-
data-checkbox-checked-icon-value="icons/lock-open.svg"
37+
data-checkbox-checked-icon-value="/icons/lock-open.svg"
3838
data-checkbox-unchecked-text-value="Private"
39-
data-checkbox-unchecked-icon-value="icons/lock-closed.svg"
39+
data-checkbox-unchecked-icon-value="/icons/lock-closed.svg"
4040
>
4141
<span data-checkbox-target="text">Public</span>
42-
<img data-checkbox-target="icon" src="icons/lock-open.svg" width="20">
42+
<img data-checkbox-target="icon" src="/icons/lock-open.svg" width="20">
4343
<%= f.hidden_field :public, value: true, data: { checkbox_target: 'value' } %>
4444
</div>
4545
<div class="flex">

0 commit comments

Comments
 (0)