{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE NoImplicitPrelude #-}

-- | Front-end
--
-- : exe ibb.js
--
-- : dep clay
-- : dep miso
-- : dep protolude
-- : dep servant
-- : dep text
-- : dep aeson
-- : dep containers
-- : dep ghcjs-base
module Com.InfluencedByBooks.Client where

import           Alpha
import           Com.InfluencedByBooks.Core     ( Action(..)
                                                , see
                                                , init
                                                )
import           Com.InfluencedByBooks.Move     ( move )
import           Miso                           ( App(..)
                                                , defaultEvents
                                                , miso
                                                )

main :: IO ()
main = miso $ \u -> App { model = init u, .. }
 where
  initialAction = FetchPeople
  update        = move
  view          = see
  events        = defaultEvents
  subs          = []
  mountPoint    = Nothing