Adopt UI to allow multiple notification tasks

This commit is contained in:
Eike Kettner
2020-06-13 14:09:46 +02:00
parent e51e84408b
commit 2c13f9307c
8 changed files with 549 additions and 103 deletions

View File

@ -8,7 +8,7 @@ module Page.UserSettings.Data exposing
import Comp.ChangePasswordForm
import Comp.EmailSettingsManage
import Comp.ImapSettingsManage
import Comp.NotificationForm
import Comp.NotificationManage
import Comp.ScanMailboxManage
import Comp.UiSettingsManage
import Data.Flags exposing (Flags)
@ -20,7 +20,7 @@ type alias Model =
, changePassModel : Comp.ChangePasswordForm.Model
, emailSettingsModel : Comp.EmailSettingsManage.Model
, imapSettingsModel : Comp.ImapSettingsManage.Model
, notificationModel : Comp.NotificationForm.Model
, notificationModel : Comp.NotificationManage.Model
, scanMailboxModel : Comp.ScanMailboxManage.Model
, uiSettingsModel : Comp.UiSettingsManage.Model
}
@ -36,7 +36,7 @@ init flags settings =
, changePassModel = Comp.ChangePasswordForm.emptyModel
, emailSettingsModel = Comp.EmailSettingsManage.emptyModel
, imapSettingsModel = Comp.ImapSettingsManage.emptyModel
, notificationModel = Tuple.first (Comp.NotificationForm.init flags settings)
, notificationModel = Tuple.first (Comp.NotificationManage.init flags)
, scanMailboxModel = Tuple.first (Comp.ScanMailboxManage.init flags)
, uiSettingsModel = um
}
@ -57,7 +57,7 @@ type Msg
= SetTab Tab
| ChangePassMsg Comp.ChangePasswordForm.Msg
| EmailSettingsMsg Comp.EmailSettingsManage.Msg
| NotificationMsg Comp.NotificationForm.Msg
| NotificationMsg Comp.NotificationManage.Msg
| ImapSettingsMsg Comp.ImapSettingsManage.Msg
| ScanMailboxMsg Comp.ScanMailboxManage.Msg
| UiSettingsMsg Comp.UiSettingsManage.Msg

View File

@ -3,7 +3,7 @@ module Page.UserSettings.Update exposing (update)
import Comp.ChangePasswordForm
import Comp.EmailSettingsManage
import Comp.ImapSettingsManage
import Comp.NotificationForm
import Comp.NotificationManage
import Comp.ScanMailboxManage
import Comp.UiSettingsManage
import Data.Flags exposing (Flags)
@ -41,7 +41,7 @@ update flags settings msg model =
let
initCmd =
Cmd.map NotificationMsg
(Tuple.second (Comp.NotificationForm.init flags settings))
(Tuple.second (Comp.NotificationManage.init flags))
in
( m, initCmd, Sub.none )
@ -80,7 +80,7 @@ update flags settings msg model =
NotificationMsg lm ->
let
( m2, c2 ) =
Comp.NotificationForm.update flags lm model.notificationModel
Comp.NotificationManage.update flags lm model.notificationModel
in
( { model | notificationModel = m2 }
, Cmd.map NotificationMsg c2

View File

@ -3,7 +3,7 @@ module Page.UserSettings.View exposing (view)
import Comp.ChangePasswordForm
import Comp.EmailSettingsManage
import Comp.ImapSettingsManage
import Comp.NotificationForm
import Comp.NotificationManage
import Comp.ScanMailboxManage
import Comp.UiSettingsManage
import Data.UiSettings exposing (UiSettings)
@ -42,7 +42,7 @@ view settings model =
viewEmailSettings settings model
Just NotificationTab ->
viewNotificationForm settings model
viewNotificationManage settings model
Just ImapSettingsTab ->
viewImapSettings settings model
@ -127,8 +127,8 @@ viewChangePassword model =
]
viewNotificationForm : UiSettings -> Model -> List (Html Msg)
viewNotificationForm settings model =
viewNotificationManage : UiSettings -> Model -> List (Html Msg)
viewNotificationManage settings model =
[ h2 [ class "ui header" ]
[ i [ class "ui bullhorn icon" ] []
, div [ class "content" ]
@ -147,7 +147,7 @@ viewNotificationForm settings model =
, text " days and sends this list via e-mail."
]
, Html.map NotificationMsg
(Comp.NotificationForm.view "segment" settings model.notificationModel)
(Comp.NotificationManage.view settings model.notificationModel)
]