aboutsummaryrefslogtreecommitdiffstats
path: root/frontend/app/Page.hs
diff options
context:
space:
mode:
authorLibravatar Alexander Foremny <aforemny@posteo.de>2024-12-17 23:53:00 +0100
committerLibravatar Alexander Foremny <aforemny@posteo.de>2025-02-19 18:18:40 +0100
commit57b892ef54c1747953b25395bfab78835e62d2a7 (patch)
tree3ab36fb71dd3c1a2c33bcc3fe0f32d122ed4f4aa /frontend/app/Page.hs
parent311aed88660ed99cffab926ba25757421f8545b3 (diff)
style menu
Diffstat (limited to 'frontend/app/Page.hs')
-rw-r--r--frontend/app/Page.hs31
1 files changed, 19 insertions, 12 deletions
diff --git a/frontend/app/Page.hs b/frontend/app/Page.hs
index e1c8415..ed1e44d 100644
--- a/frontend/app/Page.hs
+++ b/frontend/app/Page.hs
@@ -4,6 +4,7 @@ module Page
initialPage,
updatePage,
viewPage,
+ route,
)
where
@@ -13,8 +14,8 @@ import Data.Bifunctor
import Data.Default
import Data.Function
import Effect (Eff)
-import Miso
-import Miso.String (fromMisoString)
+import Miso hiding (route)
+import Miso.String (MisoString, fromMisoString)
import Page.EditValue qualified as EditValue
import Page.ListCollection qualified as ListCollection
import Page.NewCollection qualified as NewCollection
@@ -23,8 +24,8 @@ import Route qualified as Route
data Page
= Home
- | ListCollection ListCollection.Model
- | EditValue EditValue.Model
+ | ListCollection MisoString ListCollection.Model
+ | EditValue MisoString MisoString EditValue.Model
| NewCollection NewCollection.Model
deriving (Show, Eq)
@@ -36,24 +37,30 @@ instance Default Page where
initialPage :: Route -> JSM (Either SomeException Page)
initialPage Route.Home = pure (Right Home)
initialPage (Route.ListCollection c) =
- fmap ListCollection <$> ListCollection.initialModel (Collection (fromMisoString c))
+ fmap (ListCollection c) <$> ListCollection.initialModel (Collection (fromMisoString c))
initialPage (Route.EditValue c f) =
- fmap EditValue <$> EditValue.initialModel (CollectionItem (Collection (fromMisoString c)) (fromMisoString f))
+ fmap (EditValue c f) <$> EditValue.initialModel (CollectionItem (Collection (fromMisoString c)) (fromMisoString f))
initialPage Route.NewCollection =
fmap NewCollection <$> NewCollection.initialModel
+route :: Page -> Route
+route Home = Route.Home
+route (ListCollection c _) = Route.ListCollection c
+route (EditValue c f _) = Route.EditValue c f
+route (NewCollection _) = Route.NewCollection
+
update__handleListCollection :: ListCollection.Action -> Action
update__handleListCollection action = Action $ \case
- ListCollection m ->
+ ListCollection c m ->
ListCollection.updateModel action m
- & first (bimap update__handleListCollection ListCollection)
+ & first (bimap update__handleListCollection (ListCollection c))
p -> (noEff p, [])
update__handleEditValue :: EditValue.Action -> Action
update__handleEditValue action = Action $ \case
- EditValue m ->
+ EditValue c f m ->
EditValue.updateModel action m
- & first (bimap update__handleEditValue EditValue)
+ & first (bimap update__handleEditValue (EditValue c f))
p -> (noEff p, [])
update__handleNewCollection :: NewCollection.Action -> Action
@@ -68,6 +75,6 @@ updatePage (Action f) m = f m
viewPage :: Page -> View Action
viewPage Home = text "home"
-viewPage (ListCollection m) = update__handleListCollection <$> ListCollection.viewModel m
-viewPage (EditValue m) = update__handleEditValue <$> EditValue.viewModel m
+viewPage (ListCollection _ m) = update__handleListCollection <$> ListCollection.viewModel m
+viewPage (EditValue _ _ m) = update__handleEditValue <$> EditValue.viewModel m
viewPage (NewCollection m) = update__handleNewCollection <$> NewCollection.viewModel m