Starting with mail settings

This commit is contained in:
Eike Kettner
2020-01-05 00:12:23 +01:00
parent 9020d9aa3b
commit 2e3454c7a1
12 changed files with 519 additions and 4 deletions

View File

@ -6,11 +6,13 @@ module Page.UserSettings.Data exposing
)
import Comp.ChangePasswordForm
import Comp.EmailSettingsManage
type alias Model =
{ currentTab : Maybe Tab
, changePassModel : Comp.ChangePasswordForm.Model
, emailSettingsModel : Comp.EmailSettingsManage.Model
}
@ -18,13 +20,16 @@ emptyModel : Model
emptyModel =
{ currentTab = Nothing
, changePassModel = Comp.ChangePasswordForm.emptyModel
, emailSettingsModel = Comp.EmailSettingsManage.emptyModel
}
type Tab
= ChangePassTab
| EmailSettingsTab
type Msg
= SetTab Tab
| ChangePassMsg Comp.ChangePasswordForm.Msg
| EmailSettingsMsg Comp.EmailSettingsManage.Msg

View File

@ -1,6 +1,7 @@
module Page.UserSettings.Update exposing (update)
import Comp.ChangePasswordForm
import Comp.EmailSettingsManage
import Data.Flags exposing (Flags)
import Page.UserSettings.Data exposing (..)
@ -21,3 +22,10 @@ update flags msg model =
Comp.ChangePasswordForm.update flags m model.changePassModel
in
( { model | changePassModel = m2 }, Cmd.map ChangePassMsg c2 )
EmailSettingsMsg m ->
let
( m2, c2 ) =
Comp.EmailSettingsManage.update flags m model.emailSettingsModel
in
( { model | emailSettingsModel = m2 }, Cmd.map EmailSettingsMsg c2 )

View File

@ -1,6 +1,7 @@
module Page.UserSettings.View exposing (view)
import Comp.ChangePasswordForm
import Comp.EmailSettingsManage
import Html exposing (..)
import Html.Attributes exposing (..)
import Html.Events exposing (onClick)
@ -17,13 +18,22 @@ view model =
]
, div [ class "ui attached fluid segment" ]
[ div [ class "ui fluid vertical secondary menu" ]
[ div
[ a
[ classActive (model.currentTab == Just ChangePassTab) "link icon item"
, onClick (SetTab ChangePassTab)
, href "#"
]
[ i [ class "user secret icon" ] []
, text "Change Password"
]
, a
[ classActive (model.currentTab == Just EmailSettingsTab) "link icon item"
, onClick (SetTab EmailSettingsTab)
, href "#"
]
[ i [ class "mail icon" ] []
, text "E-Mail Settings"
]
]
]
]
@ -33,6 +43,9 @@ view model =
Just ChangePassTab ->
viewChangePassword model
Just EmailSettingsTab ->
viewEmailSettings model
Nothing ->
[]
)
@ -40,6 +53,18 @@ view model =
]
viewEmailSettings : Model -> List (Html Msg)
viewEmailSettings model =
[ h2 [ class "ui header" ]
[ i [ class "mail icon" ] []
, div [ class "content" ]
[ text "E-Mail Settings"
]
]
, Html.map EmailSettingsMsg (Comp.EmailSettingsManage.view model.emailSettingsModel)
]
viewChangePassword : Model -> List (Html Msg)
viewChangePassword model =
[ h2 [ class "ui header" ]