git.iko.soy/reflex-route-simple
on master help sign in
Readme.md+1−1
since splitsnapshots
unifiedsplit
@@ -75,7 +75,7 @@ The `Proxy`s are useful because you can over over them in a sufficiently smart e
75We can now run our routes, supplying a lambda that looks through all possible routes and decides what page should be displayed. You can pattern-match on the exact same structures we used earlier to create the routes:
75We can now run our routes, supplying a lambda that looks through all possible routes and decides what page should be displayed. You can pattern-match on the exact same structures we used earlier to create the routes:
76
76
77```haskell
77```haskell
78−bodyW :: MonadWidget t m => Model -> m ()
78+bodyW :: MonadWidget t m => m ()
79bodyW = runRouteT' \case
79bodyW = runRouteT' \case
80 Nothing -> articlesW
80 Nothing -> articlesW
81 Just IndexR -> articlesW
81 Just IndexR -> articlesW
default.nix+1
@@ -56,6 +56,7 @@ let
56 ./cabal.project
56 ./cabal.project
57 ];
57 ];
58 };
58 };
59+ flags.example = true;
59 };
60 };
60 }
61 }
61 ];
62 ];
reflex-route-simple.cabal+8−2
@@ -4,6 +4,10 @@ version: 0.1.0.0
4author: Ilya Kostyuchenko
4author: Ilya Kostyuchenko
5maintainer: ilyakooo0@gmail.com
5maintainer: ilyakooo0@gmail.com
6
6
7+flag example
8+ default: False
9+ manual: True
10+
7library
11library
8 exposed-modules:
12 exposed-modules:
9 Reflex.Dom.Route.Simple,
13 Reflex.Dom.Route.Simple,
@@ -90,8 +94,10 @@ executable reflex-route-simple-example
90 reflex-dom,
94 reflex-dom,
91 reflex-route-simple,
95 reflex-route-simple,
92 text,
96 text,
93− containers,
97+ containers
98+ if flag(example)
99+ build-depends:
94− lorem
100+ lorem
95 hs-source-dirs: app
101 hs-source-dirs: app
96 default-language: Haskell2010
102 default-language: Haskell2010
97 ghc-options:
103 ghc-options:
src/Reflex/Dom/Route/Simple/Internal/MonadRoute.hs+6
@@ -67,6 +67,12 @@ instance HasJSContext m => HasJSContext (RouteT t r m) where
67
67
68instance (Monad m, MonadRoute r t m) => MonadRoute r t (ReaderT r' m)
68instance (Monad m, MonadRoute r t m) => MonadRoute r t (ReaderT r' m)
69
69
70+instance (Monad m, MonadRoute r t m) => MonadRoute r t (EventWriterT t w m)
71+
72+instance (Monad m, MonadReader r m) => MonadReader r (RouteT t u m) where
73+ ask = lift ask
74+ local f (RouteT m) = RouteT $ local f m
75+
70instance Requester t m => Requester t (RouteT t r m) where
76instance Requester t m => Requester t (RouteT t r m) where
71 type Request (RouteT t r m) = Request m
77 type Request (RouteT t r m) = Request m
72 type Response (RouteT t r m) = Response m
78 type Response (RouteT t r m) = Response m