mirror of
https://github.com/funamitech/mastodon
synced 2024-11-25 07:37:16 +09:00
e117964325
Red crosses implied that it was bad/unexpected that certain features were not enabled. In reality, they are options, so showing a green or grey power-off icon is more appropriate. Add status of timeline preview as well Fix sample accounts changing too frequently due to wrong query Sample accounts are intended to be sorted by popularity
44 lines
906 B
Ruby
44 lines
906 B
Ruby
# frozen_string_literal: true
|
|
|
|
class DirectoriesController < ApplicationController
|
|
layout 'public'
|
|
|
|
before_action :check_enabled
|
|
before_action :set_instance_presenter
|
|
before_action :set_tag, only: :show
|
|
before_action :set_tags
|
|
before_action :set_accounts
|
|
|
|
def index
|
|
render :index
|
|
end
|
|
|
|
def show
|
|
render :index
|
|
end
|
|
|
|
private
|
|
|
|
def check_enabled
|
|
return not_found unless Setting.profile_directory
|
|
end
|
|
|
|
def set_tag
|
|
@tag = Tag.discoverable.find_by!(name: params[:id].downcase)
|
|
end
|
|
|
|
def set_tags
|
|
@tags = Tag.discoverable.limit(30).reject { |tag| tag.cached_sample_accounts.empty? }
|
|
end
|
|
|
|
def set_accounts
|
|
@accounts = Account.discoverable.by_recent_status.page(params[:page]).per(40).tap do |query|
|
|
query.merge!(Account.tagged_with(@tag.id)) if @tag
|
|
end
|
|
end
|
|
|
|
def set_instance_presenter
|
|
@instance_presenter = InstancePresenter.new
|
|
end
|
|
end
|