53 lines
		
	
	
	
		
			842 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
		
		
			
		
	
	
			53 lines
		
	
	
	
		
			842 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| 
								 | 
							
								# frozen_string_literal: true
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class ManifestSerializer < ActiveModel::Serializer
							 | 
						||
| 
								 | 
							
								  include RoutingHelper
							 | 
						||
| 
								 | 
							
								  include ActionView::Helpers::TextHelper
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  attributes :name, :short_name, :description,
							 | 
						||
| 
								 | 
							
								             :icons, :theme_color, :background_color,
							 | 
						||
| 
								 | 
							
								             :display, :start_url, :scope
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  def name
							 | 
						||
| 
								 | 
							
								    object.site_title
							 | 
						||
| 
								 | 
							
								  end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  def short_name
							 | 
						||
| 
								 | 
							
								    object.site_title
							 | 
						||
| 
								 | 
							
								  end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  def description
							 | 
						||
| 
								 | 
							
								    strip_tags(object.site_description.presence || I18n.t('about.about_mastodon_html'))
							 | 
						||
| 
								 | 
							
								  end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  def icons
							 | 
						||
| 
								 | 
							
								    [
							 | 
						||
| 
								 | 
							
								      {
							 | 
						||
| 
								 | 
							
								        src: '/android-chrome-192x192.png',
							 | 
						||
| 
								 | 
							
								        sizes: '192x192',
							 | 
						||
| 
								 | 
							
								        type: 'image/png',
							 | 
						||
| 
								 | 
							
								      },
							 | 
						||
| 
								 | 
							
								    ]
							 | 
						||
| 
								 | 
							
								  end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  def theme_color
							 | 
						||
| 
								 | 
							
								    '#282c37'
							 | 
						||
| 
								 | 
							
								  end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  def background_color
							 | 
						||
| 
								 | 
							
								    '#191b22'
							 | 
						||
| 
								 | 
							
								  end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  def display
							 | 
						||
| 
								 | 
							
								    'standalone'
							 | 
						||
| 
								 | 
							
								  end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  def start_url
							 | 
						||
| 
								 | 
							
								    '/web/timelines/home'
							 | 
						||
| 
								 | 
							
								  end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  def scope
							 | 
						||
| 
								 | 
							
								    root_url
							 | 
						||
| 
								 | 
							
								  end
							 | 
						||
| 
								 | 
							
								end
							 |