Set client base-url from browser when not given

This is necessary when generating absolute URLs in the webapp (as done
in "Sources" page).
This commit is contained in:
Eike Kettner 2020-09-13 13:01:49 +02:00
parent d8bb6dcba3
commit f65f5eff35

View File

@ -49,8 +49,11 @@ type alias Model =
init : Key -> Url -> Flags -> UiSettings -> ( Model, Cmd Msg )
init key url flags settings =
init key url flags_ settings =
let
flags =
initBaseUrl url flags_
page =
Page.fromUrl url
|> Maybe.withDefault (defaultPage flags)
@ -90,6 +93,30 @@ init key url flags settings =
)
initBaseUrl : Url -> Flags -> Flags
initBaseUrl url flags_ =
let
cfg =
flags_.config
baseUrl =
if cfg.baseUrl == "" then
Url.toString
{ url
| path = ""
, query = Nothing
, fragment = Nothing
}
else
cfg.baseUrl
cfgNew =
{ cfg | baseUrl = baseUrl }
in
{ flags_ | config = cfgNew }
type Msg
= NavRequest UrlRequest
| NavChange Url