about summary refs log tree commit diff
path: root/app/serializers/manifest_serializer.rb
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2017-10-02 01:23:32 +0200
committerGitHub <noreply@github.com>2017-10-02 01:23:32 +0200
commit47ecd652d3f8256a191401f005d42760e858e6de (patch)
treeaa536551b0722bfc15c26d9b5bc4b54b63d2d4f4 /app/serializers/manifest_serializer.rb
parent04fa4eb7f95a53138949aac9dd5041a2bdade277 (diff)
Make Chrome splash screen same color as web UI's background color (#5169)
Diffstat (limited to 'app/serializers/manifest_serializer.rb')
-rw-r--r--app/serializers/manifest_serializer.rb52
1 files changed, 52 insertions, 0 deletions
diff --git a/app/serializers/manifest_serializer.rb b/app/serializers/manifest_serializer.rb
new file mode 100644
index 000000000..95bcc21bb
--- /dev/null
+++ b/app/serializers/manifest_serializer.rb
@@ -0,0 +1,52 @@
+# 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