mirror of
https://github.com/indentlabs/notebook.git
synced 2025-10-26 11:19:22 +00:00
54 lines
1.4 KiB
Ruby
54 lines
1.4 KiB
Ruby
class StreamController < ApplicationController
|
|
before_action :authenticate_user!
|
|
before_action :set_stream_navbar_actions, only: [:index, :global]
|
|
before_action :set_stream_navbar_color, only: [:index, :global]
|
|
before_action :set_sidenav_expansion
|
|
|
|
def index
|
|
followed_users = current_user.followed_users.pluck(:id)
|
|
blocked_users = current_user.blocked_users.pluck(:id)
|
|
blocked_by_users = current_user.blocked_by_users.pluck(:id)
|
|
|
|
@feed = ContentPageShare.where(user_id: followed_users + [current_user.id] - blocked_users - blocked_by_users)
|
|
.order('created_at DESC')
|
|
.includes([:content_page, :user, :share_comments])
|
|
.limit(50)
|
|
end
|
|
|
|
def community
|
|
end
|
|
|
|
def global
|
|
blocked_users = current_user.blocked_users.pluck(:id)
|
|
blocked_by_users = current_user.blocked_by_users.pluck(:id)
|
|
|
|
@feed = ContentPageShare.all
|
|
.where.not(user_id: blocked_users + blocked_by_users)
|
|
.order('created_at DESC')
|
|
.includes([:content_page, :user, :share_comments])
|
|
.limit(50)
|
|
end
|
|
|
|
def set_stream_navbar_color
|
|
@navbar_color = '#CE93D8'
|
|
end
|
|
|
|
# For showing a specific piece of content
|
|
def set_stream_navbar_actions
|
|
@navbar_actions = [
|
|
{
|
|
label: 'You & Your Network',
|
|
href: main_app.stream_path
|
|
},
|
|
{
|
|
label: 'Around the world',
|
|
href: main_app.stream_world_path
|
|
}
|
|
]
|
|
end
|
|
|
|
def set_sidenav_expansion
|
|
@sidenav_expansion = 'community'
|
|
end
|
|
end
|