Retrospring/app/controllers/timeline_controller.rb

34 lines
948 B
Ruby
Raw Normal View History

2022-07-18 07:26:11 -07:00
# frozen_string_literal: true
class TimelineController < ApplicationController
before_action :authenticate_user!
def index
paginate_timeline { |args| current_user.cursored_timeline(**args) }
2022-07-18 07:26:11 -07:00
end
def list
2022-07-18 13:27:31 -07:00
@list = current_user.lists.find_by!(name: params[:list_name])
@title = list_title(current_user.lists.find_by!(name: params[:list_name]))
paginate_timeline { |args| @list.cursored_timeline(**args) }
end
def public
@title = generate_title("Public Timeline")
paginate_timeline { |args| Answer.cursored_public_timeline(**args) }
end
private
def paginate_timeline
@timeline = yield(last_id: params[:last_id])
@timeline_last_id = @timeline.map(&:id).min
@more_data_available = !yield(last_id: @timeline_last_id, size: 1).count.zero?
respond_to do |format|
format.html { render "timeline/timeline" }
format.js { render "timeline/timeline", layout: false }
end
end
2022-07-18 07:26:11 -07:00
end