42 lines
		
	
	
	
		
			922 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
	
		
			922 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| # frozen_string_literal: true
 | |
| 
 | |
| class AboutController < ApplicationController
 | |
|   before_action :set_body_classes
 | |
|   before_action :set_instance_presenter, only: [:show, :more, :terms]
 | |
| 
 | |
|   def show
 | |
|     serializable_resource = ActiveModelSerializers::SerializableResource.new(InitialStatePresenter.new(initial_state_params), serializer: InitialStateSerializer)
 | |
|     @initial_state_json   = serializable_resource.to_json
 | |
|   end
 | |
| 
 | |
|   def more
 | |
|     render layout: 'public'
 | |
|   end
 | |
| 
 | |
|   def terms
 | |
|     render layout: 'public'
 | |
|   end
 | |
| 
 | |
|   private
 | |
| 
 | |
|   def new_user
 | |
|     User.new.tap(&:build_account)
 | |
|   end
 | |
| 
 | |
|   helper_method :new_user
 | |
| 
 | |
|   def set_instance_presenter
 | |
|     @instance_presenter = InstancePresenter.new
 | |
|   end
 | |
| 
 | |
|   def set_body_classes
 | |
|     @body_classes = 'with-modals'
 | |
|   end
 | |
| 
 | |
|   def initial_state_params
 | |
|     {
 | |
|       settings: { known_fediverse: Setting.show_known_fediverse_at_about_page },
 | |
|       token: current_session&.token,
 | |
|     }
 | |
|   end
 | |
| end
 |