about summary refs log tree commit diff
path: root/app/controllers/home_controller.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers/home_controller.rb')
-rw-r--r--app/controllers/home_controller.rb24
1 files changed, 17 insertions, 7 deletions
diff --git a/app/controllers/home_controller.rb b/app/controllers/home_controller.rb
index 29478209d..450f92bd4 100644
--- a/app/controllers/home_controller.rb
+++ b/app/controllers/home_controller.rb
@@ -2,8 +2,10 @@
 
 class HomeController < ApplicationController
   before_action :redirect_unauthenticated_to_permalinks!
+  before_action :authenticate_user!
+
+  before_action :set_pack
   before_action :set_referrer_policy_header
-  before_action :set_instance_presenter
 
   def index
     @body_classes = 'app-body'
@@ -14,16 +16,24 @@ class HomeController < ApplicationController
   def redirect_unauthenticated_to_permalinks!
     return if user_signed_in?
 
-    redirect_path = PermalinkRedirector.new(request.path).redirect_path
+    redirect_to(PermalinkRedirector.new(request.path).redirect_path || default_redirect_path)
+  end
 
-    redirect_to(redirect_path) if redirect_path.present?
+  def set_pack
+    use_pack 'home'
   end
 
-  def set_referrer_policy_header
-    response.headers['Referrer-Policy'] = 'origin'
+  def default_redirect_path
+    if request.path.start_with?('/web') || whitelist_mode?
+      new_user_session_path
+    elsif single_user_mode?
+      short_account_path(Account.local.without_suspended.where('id > 0').first)
+    else
+      about_path
+    end
   end
 
-  def set_instance_presenter
-    @instance_presenter = InstancePresenter.new
+  def set_referrer_policy_header
+    response.headers['Referrer-Policy'] = 'origin'
   end
 end