| 
									
										
										
										
											2017-10-02 01:23:32 +02:00
										 |  |  | # frozen_string_literal: true | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class ManifestSerializer < ActiveModel::Serializer | 
					
						
							|  |  |  |   include RoutingHelper | 
					
						
							|  |  |  |   include ActionView::Helpers::TextHelper | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   attributes :name, :short_name, :description, | 
					
						
							|  |  |  |              :icons, :theme_color, :background_color, | 
					
						
							| 
									
										
										
										
											2018-01-18 01:08:10 +09:00
										 |  |  |              :display, :start_url, :scope, | 
					
						
							|  |  |  |              :share_target | 
					
						
							| 
									
										
										
										
											2017-10-02 01:23:32 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |   def name | 
					
						
							|  |  |  |     object.site_title | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   def short_name | 
					
						
							|  |  |  |     object.site_title | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   def description | 
					
						
							| 
									
										
										
										
											2019-03-21 23:33:28 +01:00
										 |  |  |     strip_tags(object.site_short_description.presence || I18n.t('about.about_mastodon_html')) | 
					
						
							| 
									
										
										
										
											2017-10-02 01:23:32 +02:00
										 |  |  |   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 | 
					
						
							| 
									
										
										
										
											2018-01-18 01:08:10 +09:00
										 |  |  | 
 | 
					
						
							|  |  |  |   def share_target | 
					
						
							| 
									
										
										
										
											2019-02-02 09:26:49 +09:00
										 |  |  |     { | 
					
						
							|  |  |  |       url_template: 'share?title={title}&text={text}&url={url}', | 
					
						
							|  |  |  |       action: 'share', | 
					
						
							| 
									
										
										
										
											2019-09-05 22:51:51 +09:00
										 |  |  |       method: 'GET', | 
					
						
							|  |  |  |       enctype: 'application/x-www-form-urlencoded', | 
					
						
							| 
									
										
										
										
											2019-02-02 09:26:49 +09:00
										 |  |  |       params: { | 
					
						
							|  |  |  |         title: 'title', | 
					
						
							|  |  |  |         text: 'text', | 
					
						
							|  |  |  |         url: 'url', | 
					
						
							|  |  |  |       }, | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2018-01-18 01:08:10 +09:00
										 |  |  |   end | 
					
						
							| 
									
										
										
										
											2017-10-02 01:23:32 +02:00
										 |  |  | end |