# frozen_string_literal: true class Moderation::InboxController < ApplicationController before_action :authenticate_user! def index @user = User.find_by(screen_name: params[:user]) filter = InboxFilter.new(@user, filter_params) @inboxes = filter.cursored_results(last_id: params[:last_id]) @inbox_last_id = @inboxes.map(&:id).min @more_data_available = !filter.cursored_results(last_id: @inbox_last_id, size: 1).count.zero? @inbox_count = @user.inbox_entries.count respond_to do |format| format.html format.turbo_stream { render "index", layout: false, status: :see_other } end end private def filter_params params.slice(*InboxFilter::KEYS).permit(*InboxFilter::KEYS) end end