Split up web app manifest action
This commit is contained in:
parent
5e4819764a
commit
c384dde809
|
@ -58,34 +58,43 @@ class StaticController < ApplicationController
|
||||||
|
|
||||||
def webapp_manifest
|
def webapp_manifest
|
||||||
render json: {
|
render json: {
|
||||||
name: APP_CONFIG["site_name"],
|
name: APP_CONFIG["site_name"],
|
||||||
description: t(".front.subtitle"),
|
description: t(".front.subtitle"),
|
||||||
start_url: root_url(source: "pwa"),
|
start_url: root_url(source: "pwa"),
|
||||||
scope: root_url,
|
scope: root_url,
|
||||||
display: "standalone",
|
display: "standalone",
|
||||||
categories: %w[social],
|
categories: %w[social],
|
||||||
lang: I18n.locale,
|
lang: I18n.locale,
|
||||||
shortcuts: [
|
shortcuts: [
|
||||||
{
|
webapp_shortcut(inbox_url, t("views.navigation.inbox"), "inbox")
|
||||||
name: t('views.navigation.inbox'),
|
|
||||||
url: inbox_url,
|
|
||||||
icons: [
|
|
||||||
{
|
|
||||||
src: "/icons/shortcuts/inbox.svg",
|
|
||||||
sizes: "96x96"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
],
|
||||||
icons: %i[1024 512 384 192 128 96 72 48].map do |size|
|
icons: webapp_icons,
|
||||||
[
|
theme_color: theme_color,
|
||||||
{ src: "/icons/maskable_icon_x#{size}.webp", size: "#{size}x#{size}", type: "image/webp" },
|
|
||||||
{ src: "/icons/maskable_icon_x#{size}.png", size: "#{size}x#{size}", type: "image/png" }
|
|
||||||
]
|
|
||||||
end.flatten,
|
|
||||||
theme_color: theme_color,
|
|
||||||
background_color: mobile_theme_color,
|
background_color: mobile_theme_color,
|
||||||
orientation: "any"
|
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def webapp_shortcut(url, name, icon_name)
|
||||||
|
{
|
||||||
|
name: name,
|
||||||
|
url: url,
|
||||||
|
icons: [
|
||||||
|
{
|
||||||
|
src: "/icons/shortcuts/#{icon_name}.svg",
|
||||||
|
sizes: "96x96"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
def webapp_icons
|
||||||
|
%i[1024 512 384 192 128 96 72 48].map do |size|
|
||||||
|
[
|
||||||
|
{ src: "/icons/maskable_icon_x#{size}.webp", size: "#{size}x#{size}", type: "image/webp" },
|
||||||
|
{ src: "/icons/maskable_icon_x#{size}.png", size: "#{size}x#{size}", type: "image/png" }
|
||||||
|
]
|
||||||
|
end.flatten
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -47,7 +47,7 @@ describe StaticController, type: :controller do
|
||||||
"site_name" => "Specspring",
|
"site_name" => "Specspring",
|
||||||
"hostname" => "test.host",
|
"hostname" => "test.host",
|
||||||
"https" => false,
|
"https" => false,
|
||||||
"items_per_page" => 5,
|
"items_per_page" => 5
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue