|
|
@@ -7,8 +7,10 @@ package ui
|
|
|
import (
|
|
|
"net/http"
|
|
|
|
|
|
+ "github.com/miniflux/miniflux/http/context"
|
|
|
"github.com/miniflux/miniflux/http/response/json"
|
|
|
"github.com/miniflux/miniflux/http/route"
|
|
|
+ "github.com/miniflux/miniflux/model"
|
|
|
)
|
|
|
|
|
|
// WebManifest renders web manifest file.
|
|
|
@@ -20,20 +22,27 @@ func (c *Controller) WebManifest(w http.ResponseWriter, r *http.Request) {
|
|
|
}
|
|
|
|
|
|
type webManifest struct {
|
|
|
- Name string `json:"name"`
|
|
|
- Description string `json:"description"`
|
|
|
- ShortName string `json:"short_name"`
|
|
|
- StartURL string `json:"start_url"`
|
|
|
- Icons []webManifestIcon `json:"icons"`
|
|
|
- Display string `json:"display"`
|
|
|
+ Name string `json:"name"`
|
|
|
+ Description string `json:"description"`
|
|
|
+ ShortName string `json:"short_name"`
|
|
|
+ StartURL string `json:"start_url"`
|
|
|
+ Icons []webManifestIcon `json:"icons"`
|
|
|
+ Display string `json:"display"`
|
|
|
+ ThemeColor string `json:"theme_color"`
|
|
|
+ BackgroundColor string `json:"background_color"`
|
|
|
}
|
|
|
|
|
|
+ ctx := context.New(r)
|
|
|
+ themeColor := model.ThemeColor(ctx.UserTheme())
|
|
|
+
|
|
|
manifest := &webManifest{
|
|
|
- Name: "Miniflux",
|
|
|
- ShortName: "Miniflux",
|
|
|
- Description: "Minimalist Feed Reader",
|
|
|
- Display: "minimal-ui",
|
|
|
- StartURL: route.Path(c.router, "unread"),
|
|
|
+ Name: "Miniflux",
|
|
|
+ ShortName: "Miniflux",
|
|
|
+ Description: "Minimalist Feed Reader",
|
|
|
+ Display: "minimal-ui",
|
|
|
+ StartURL: route.Path(c.router, "unread"),
|
|
|
+ ThemeColor: themeColor,
|
|
|
+ BackgroundColor: themeColor,
|
|
|
Icons: []webManifestIcon{
|
|
|
webManifestIcon{Source: route.Path(c.router, "appIcon", "filename", "icon-120.png"), Sizes: "120x120", Type: "image/png"},
|
|
|
webManifestIcon{Source: route.Path(c.router, "appIcon", "filename", "icon-192.png"), Sizes: "192x192", Type: "image/png"},
|