add new collection page
This commit is contained in:
@@ -13,6 +13,7 @@ import Data.Function
|
||||
import Miso
|
||||
import Page.EditValue qualified as EditValue
|
||||
import Page.ListCollection qualified as ListCollection
|
||||
import Page.NewCollection qualified as NewCollection
|
||||
import Route (Route)
|
||||
import Route qualified as Route
|
||||
|
||||
@@ -20,11 +21,13 @@ data Page
|
||||
= Home
|
||||
| ListCollection ListCollection.Model
|
||||
| EditValue EditValue.Model
|
||||
| NewCollection NewCollection.Model
|
||||
deriving (Show, Eq)
|
||||
|
||||
data Action
|
||||
= HandleListCollection ListCollection.Action
|
||||
| HandleEditValue EditValue.Action
|
||||
| HandleNewCollection NewCollection.Action
|
||||
deriving (Show, Eq)
|
||||
|
||||
instance Default Page where
|
||||
@@ -36,6 +39,8 @@ initialPage (Route.ListCollection c) =
|
||||
fmap ListCollection <$> ListCollection.initialModel c
|
||||
initialPage (Route.EditValue c f) =
|
||||
fmap EditValue <$> EditValue.initialModel c f
|
||||
initialPage Route.NewCollection =
|
||||
fmap NewCollection <$> NewCollection.initialModel
|
||||
|
||||
updatePage :: Action -> Page -> Effect Action Page
|
||||
updatePage (HandleListCollection action) (ListCollection m) =
|
||||
@@ -46,8 +51,13 @@ updatePage (HandleEditValue action) (EditValue m) =
|
||||
EditValue.updateModel action m
|
||||
& bimap HandleEditValue EditValue
|
||||
updatePage (HandleEditValue _) p = noEff p
|
||||
updatePage (HandleNewCollection action) (NewCollection m) =
|
||||
NewCollection.updateModel action m
|
||||
& bimap HandleNewCollection NewCollection
|
||||
updatePage (HandleNewCollection _) p = noEff p
|
||||
|
||||
viewPage :: Page -> View Action
|
||||
viewPage Home = text "home"
|
||||
viewPage (ListCollection m) = HandleListCollection <$> ListCollection.viewModel m
|
||||
viewPage (EditValue m) = HandleEditValue <$> EditValue.viewModel m
|
||||
viewPage (NewCollection m) = HandleNewCollection <$> NewCollection.viewModel m
|
||||
|
||||
Reference in New Issue
Block a user