summaryrefslogtreecommitdiff
path: root/Com/InfluencedByBooks/Core.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Com/InfluencedByBooks/Core.hs')
-rw-r--r--Com/InfluencedByBooks/Core.hs102
1 files changed, 58 insertions, 44 deletions
diff --git a/Com/InfluencedByBooks/Core.hs b/Com/InfluencedByBooks/Core.hs
index 6984004..2b98914 100644
--- a/Com/InfluencedByBooks/Core.hs
+++ b/Com/InfluencedByBooks/Core.hs
@@ -7,16 +7,18 @@
-- | Main app logic
module Com.InfluencedByBooks.Core where
-import Com.Simatime.Alpha
-import Com.Simatime.Network
-import Data.Aeson hiding (Success)
-import Data.Data (Data, Typeable)
-import Data.Text (Text)
-import GHC.Generics (Generic)
-import Miso
-import Miso.String
-import Servant.API
-import Servant.Links
+import Alpha
+import Com.Simatime.Network
+import Data.Aeson hiding ( Success )
+import Data.Data ( Data
+ , Typeable
+ )
+import Data.Text ( Text )
+import GHC.Generics ( Generic )
+import Miso
+import Miso.String
+import Servant.API
+import Servant.Links
-- * entity data types
@@ -79,51 +81,63 @@ handlers :: Model -> View Action
handlers = home
notfound :: View Action
-notfound = div_ [] [ text "404" ]
+notfound = div_ [] [text "404"]
goHome :: URI
-goHome = linkURI $ safeLink
- (Proxy :: Proxy AppRoutes)
- (Proxy :: Proxy Home)
+goHome = linkURI $ safeLink (Proxy :: Proxy AppRoutes) (Proxy :: Proxy Home)
see :: Model -> View Action
-see m = div_ [ class_ "container mt-5" ]
- [ div_ [ class_ "jumbotron" ]
- [ h1_ [ class_ "display-4" ] [ text "Influenced by books" ]
- , p_ [ class_ "lead" ] [ text "Influential people and the books that made them." ]
- , p_ [ class_ "lead" ]
- [ a_ [ href_ "http://eepurl.com/ghBFjv" ]
- [ text "Get new book recommendations from the world's influencers in your email." ]
- ]
+see m = div_
+ [class_ "container mt-5"]
+ [ div_
+ [class_ "jumbotron"]
+ [ h1_ [class_ "display-4"] [text "Influenced by books"]
+ , p_ [class_ "lead"]
+ [text "Influential people and the books that made them."]
+ , p_
+ [class_ "lead"]
+ [ a_
+ [href_ "http://eepurl.com/ghBFjv"]
+ [ text
+ "Get new book recommendations from the world's influencers in your email."
+ ]
]
- , div_ [ class_ "card-columns" ] $ case people m of
- NotAsked -> [ text "Initializing..." ]
- Loading -> [ text "Loading..." ]
- Failure err -> [ text err ]
- Success ps -> seePerson </ ps
+ ]
+ , div_ [class_ "card-columns"] $ case people m of
+ NotAsked -> [text "Initializing..."]
+ Loading -> [text "Loading..."]
+ Failure err -> [text err]
+ Success ps -> seePerson </ ps
]
seePerson :: Person -> View Action
-seePerson person = div_ [ class_ "card" ]
- [ div_ [ class_ "card-img" ]
- [ img_ [ class_ "card-img img-fluid", src_ $ ms $ _pic person ]]
- , div_ [ class_ "card-body" ]
- [ h4_ [ class_ "card-title" ] [ text $ ms $ _name person ]
- , h6_ [] [ a_ [ class_ "fab fa-twitter"
- , href_ $ "https://twitter.com/" <> (ms $ _twitter person) ] []
- , a_ [ class_ "fas fa-globe", href_ $ ms $ _website person ] []
- ]
- , p_ [ class_ "card-text" ]
- [ text $ ms $ _blurb person
- , ul_ [] $ seeBook </ _books person
+seePerson person = div_
+ [class_ "card"]
+ [ div_ [class_ "card-img"]
+ [img_ [class_ "card-img img-fluid", src_ $ ms $ _pic person]]
+ , div_
+ [class_ "card-body"]
+ [ h4_ [class_ "card-title"] [text $ ms $ _name person]
+ , h6_
+ []
+ [ a_
+ [ class_ "fab fa-twitter"
+ , href_ $ "https://twitter.com/" <> (ms $ _twitter person)
+ ]
+ []
+ , a_ [class_ "fas fa-globe", href_ $ ms $ _website person] []
]
+ , p_ [class_ "card-text"]
+ [text $ ms $ _blurb person, ul_ [] $ seeBook </ _books person]
]
]
seeBook :: Book -> View Action
-seeBook book = li_ []
- [ a_ [ class_ "text-dark"
- , href_ $ "https://www.amazon.com/dp/" <> (ms $ _amznref book)
- ]
- [ text $ ms $ _title book ]
+seeBook book = li_
+ []
+ [ a_
+ [ class_ "text-dark"
+ , href_ $ "https://www.amazon.com/dp/" <> (ms $ _amznref book)
+ ]
+ [text $ ms $ _title book]
]