Add OpenID support to webapp

This commit is contained in:
eikek
2021-09-05 23:43:07 +02:00
parent f8362329a9
commit 984dda9da0
13 changed files with 138 additions and 32 deletions

View File

@ -82,6 +82,12 @@ init key url flags_ settings =
( csm, csc ) =
Page.CollectiveSettings.Data.init flags
( loginm, loginc ) =
Page.Login.Data.init flags
(Page.loginPageReferrer page
|> Tuple.second
)
homeViewMode =
if settings.searchMenuVisible then
Page.Home.Data.SearchView
@ -94,7 +100,7 @@ init key url flags_ settings =
, page = page
, version = Api.Model.VersionInfo.empty
, homeModel = Page.Home.Data.init flags homeViewMode
, loginModel = Page.Login.Data.emptyModel
, loginModel = loginm
, manageDataModel = mdm
, collSettingsModel = csm
, userSettingsModel = um
@ -116,6 +122,7 @@ init key url flags_ settings =
[ Cmd.map UserSettingsMsg uc
, Cmd.map ManageDataMsg mdc
, Cmd.map CollSettingsMsg csc
, Cmd.map LoginMsg loginc
]
)

View File

@ -158,7 +158,7 @@ updateWithSub msg model =
LogoutResp _ ->
( { model | loginModel = Page.Login.Data.emptyModel }
, Page.goto (LoginPage Nothing)
, Page.goto (LoginPage ( Nothing, False ))
, Sub.none
)
@ -216,20 +216,24 @@ updateWithSub msg model =
NavRequest req ->
case req of
Internal url ->
let
isCurrent =
Page.fromUrl url
|> Maybe.map (\p -> p == model.page)
|> Maybe.withDefault True
in
( model
, if isCurrent then
Cmd.none
if String.startsWith "/app" url.path then
let
isCurrent =
Page.fromUrl url
|> Maybe.map (\p -> p == model.page)
|> Maybe.withDefault True
in
( model
, if isCurrent then
Cmd.none
else
Nav.pushUrl model.key (Url.toString url)
, Sub.none
)
else
Nav.pushUrl model.key (Url.toString url)
, Sub.none
)
else
( model, Nav.load <| Url.toString url, Sub.none )
External url ->
( model