summaryrefslogtreecommitdiff
path: root/Biz/Devalloc/Page/Signup.hs
diff options
context:
space:
mode:
authorBen Sima <ben@bsima.me>2020-12-06 10:04:08 -0500
committerBen Sima <ben@bsima.me>2020-12-06 10:04:08 -0500
commit83c473947589cd90fc74fb59e9c9c28a677583c3 (patch)
treecbe7ae61b5f6cf7a1be4b2c7d7fcb5c516c73234 /Biz/Devalloc/Page/Signup.hs
parented4778e3bc72d1995ae88c36486a546118f7aa2d (diff)
Finish Devalloc miso app prototype
After hours of trying to get a page abstraction working in a Miso app (both Devalloc and Hero) I had a revelation: Miso is an SPA - *single* page application - framework, and so trying to put multiple pages into it is fundamentally at odds with the rest of the architecture. Of course this is also a problem with Elm's pattern of nesting models in order to create a page abstraction. They can pull it off because they don't also try to do isomorphic rendering. In hindsight this should be obvious... if I actually do want some kind of page-like abstraction or separation, then I need a much more complex server that can embed different Miso apps based on some logic. But this is more like multi-tenancy, or something. Also I'm starting to think that I don't want Devalloc to be an SPA anyway, so I'll try an experimental branch where I rip it out and just use Servant, Lucid, and Turbolinks.
Diffstat (limited to 'Biz/Devalloc/Page/Signup.hs')
-rw-r--r--Biz/Devalloc/Page/Signup.hs46
1 files changed, 0 insertions, 46 deletions
diff --git a/Biz/Devalloc/Page/Signup.hs b/Biz/Devalloc/Page/Signup.hs
deleted file mode 100644
index 8debf53..0000000
--- a/Biz/Devalloc/Page/Signup.hs
+++ /dev/null
@@ -1,46 +0,0 @@
-{-# LANGUAGE OverloadedStrings #-}
-{-# LANGUAGE NoImplicitPrelude #-}
-
-module Biz.Devalloc.Page.Signup
- ( Move (..),
- Path,
- Form (..),
- path,
- view,
- host,
- )
-where
-
-import Alpha
-import Biz.App (HtmlApp (..))
-import Miso
-import Miso.String
-import Servant.API
-import Servant.Links
-import Servant.Server (Handler)
-
-data Move = NoMove
-
-type Path = View Move
-
-newtype Form = Form
- { uri :: URI
- }
-
-path :: URI
-path = linkURI <| safeLink (Proxy :: Proxy Path) (Proxy :: Proxy Path)
-
-host :: Handler (HtmlApp (View Move))
-host =
- Form {uri = path}
- |> view
- |> HtmlApp
- |> pure
-
-view :: Form -> View Move
-view _ =
- div_
- []
- [ h1_ [] [text "Signup coming soon"],
- p_ [] [a_ [href_ "/"] [text "Go back home"]]
- ]