From 70fa57587b75a0d43d138b5b86acf88c1c7af476 Mon Sep 17 00:00:00 2001 From: Eike Kettner Date: Thu, 18 Feb 2021 22:02:56 +0100 Subject: [PATCH] Fix setting ui theme for anonymous --- modules/webapp/src/main/elm/App/Data.elm | 3 +++ modules/webapp/src/main/elm/App/Update.elm | 26 +++++++++++++--------- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/modules/webapp/src/main/elm/App/Data.elm b/modules/webapp/src/main/elm/App/Data.elm index 15782dc0..b047f250 100644 --- a/modules/webapp/src/main/elm/App/Data.elm +++ b/modules/webapp/src/main/elm/App/Data.elm @@ -11,6 +11,7 @@ import Browser exposing (UrlRequest) import Browser.Navigation exposing (Key) import Data.Flags exposing (Flags) import Data.UiSettings exposing (UiSettings) +import Data.UiTheme exposing (UiTheme) import Http import Page exposing (Page(..)) import Page.CollectiveSettings.Data @@ -46,6 +47,7 @@ type alias Model = , subs : Sub Msg , uiSettings : UiSettings , sidebarVisible : Bool + , anonymousTheme : UiTheme } @@ -94,6 +96,7 @@ init key url flags_ settings = , subs = Sub.none , uiSettings = settings , sidebarVisible = settings.sideMenuVisible + , anonymousTheme = Data.UiTheme.Light } , Cmd.batch [ Cmd.map UserSettingsMsg uc diff --git a/modules/webapp/src/main/elm/App/Update.elm b/modules/webapp/src/main/elm/App/Update.elm index e3883da8..63e3aceb 100644 --- a/modules/webapp/src/main/elm/App/Update.elm +++ b/modules/webapp/src/main/elm/App/Update.elm @@ -52,18 +52,18 @@ updateWithSub msg model = ( { model | sidebarVisible = not model.sidebarVisible }, Cmd.none, Sub.none ) ToggleDarkMode -> - let - settings = - model.uiSettings - - next = - Data.UiTheme.cycle settings.uiTheme - - newSettings = - { settings | uiTheme = next } - in case model.flags.account of Just _ -> + let + settings = + model.uiSettings + + next = + Data.UiTheme.cycle settings.uiTheme + + newSettings = + { settings | uiTheme = next } + in -- when authenticated, store it in settings only -- once new settings arrive via a subscription, -- the ui is updated. so it is also updated on @@ -74,8 +74,12 @@ updateWithSub msg model = ) Nothing -> + let + next = + Data.UiTheme.cycle model.anonymousTheme + in -- when not logged in, simply set the theme - ( { model | userMenuOpen = False } + ( { model | userMenuOpen = False, anonymousTheme = next } , Ports.setUiTheme next , Sub.none )