Commit 13864853 by woodsaj

support separate css files for light/dark themes.

parent 79d29db1
...@@ -8,11 +8,16 @@ type IndexViewData struct { ...@@ -8,11 +8,16 @@ type IndexViewData struct {
GoogleAnalyticsId string GoogleAnalyticsId string
GoogleTagManagerId string GoogleTagManagerId string
PluginCss []string PluginCss []*PluginCss
PluginJs []string PluginJs []string
MainNavLinks []*NavLink MainNavLinks []*NavLink
} }
type PluginCss struct {
Light string `json:"light"`
Dark string `json:"dark"`
}
type NavLink struct { type NavLink struct {
Text string `json:"text"` Text string `json:"text"`
Icon string `json:"icon"` Icon string `json:"icon"`
......
...@@ -67,7 +67,7 @@ func setIndexViewData(c *middleware.Context) (*dtos.IndexViewData, error) { ...@@ -67,7 +67,7 @@ func setIndexViewData(c *middleware.Context) (*dtos.IndexViewData, error) {
data.PluginJs = append(data.PluginJs, js.Module) data.PluginJs = append(data.PluginJs, js.Module)
} }
for _, css := range plugin.Css { for _, css := range plugin.Css {
data.PluginCss = append(data.PluginCss, css.Href) data.PluginCss = append(data.PluginCss, &dtos.PluginCss{Light: css.Light, Dark: css.Dark})
} }
for _, item := range plugin.MainNavLinks { for _, item := range plugin.MainNavLinks {
// only show menu items for the specified roles. // only show menu items for the specified roles.
......
...@@ -38,6 +38,7 @@ type ExternalPluginRoute struct { ...@@ -38,6 +38,7 @@ type ExternalPluginRoute struct {
type ExternalPluginJs struct { type ExternalPluginJs struct {
Module string `json:"module"` Module string `json:"module"`
Directive string `json:"Directive"`
} }
type ExternalPluginNavLink struct { type ExternalPluginNavLink struct {
...@@ -48,7 +49,8 @@ type ExternalPluginNavLink struct { ...@@ -48,7 +49,8 @@ type ExternalPluginNavLink struct {
} }
type ExternalPluginCss struct { type ExternalPluginCss struct {
Href string `json:"href"` Light string `json:"light"`
Dark string `json:"dark"`
} }
type ExternalPlugin struct { type ExternalPlugin struct {
......
...@@ -10,13 +10,17 @@ ...@@ -10,13 +10,17 @@
[[if .User.LightTheme]] [[if .User.LightTheme]]
<link rel="stylesheet" href="[[.AppSubUrl]]/css/grafana.light.min.css"> <link rel="stylesheet" href="[[.AppSubUrl]]/css/grafana.light.min.css">
[[ range $css := .PluginCss ]]
<link rel="stylesheet" href="[[$.AppSubUrl]]/[[ $css.Light ]]">
[[ end ]]
[[else]] [[else]]
<link rel="stylesheet" href="[[.AppSubUrl]]/css/grafana.dark.min.css"> <link rel="stylesheet" href="[[.AppSubUrl]]/css/grafana.dark.min.css">
[[end]]
[[ range $css := .PluginCss ]] [[ range $css := .PluginCss ]]
<link rel="stylesheet" href="[[$.AppSubUrl]]/[[ $css ]]"> <link rel="stylesheet" href="[[$.AppSubUrl]]/[[ $css.Dark ]]">
[[ end ]] [[ end ]]
[[end]]
<link rel="icon" type="image/png" href="[[.AppSubUrl]]/img/fav32.png"> <link rel="icon" type="image/png" href="[[.AppSubUrl]]/img/fav32.png">
<base href="[[.AppSubUrl]]/" /> <base href="[[.AppSubUrl]]/" />
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment