started on render
[ekitaihs.git] / Render.hs
1 module Render ( buildInitialState, ekitaiApp ) where
2
3 import Brick.AttrMap
4 import Brick.Main
5 import Brick.Types
6 import Brick.Widgets.Core
7 import Graphics.Vty.Input.Events
8
9 type ResourceName = String
10
11 data EkitaiState =
12     EkitaiState deriving (Show)
13
14 ekitaiApp :: App EkitaiState e ResourceName
15 ekitaiApp = App
16     { appDraw = drawEkitai
17     , appChooseCursor = showFirstCursor
18     , appHandleEvent = handleEkitaiEvent
19     , appStartEvent = pure
20     , appAttrMap = const $ attrMap mempty []
21     }
22
23 buildInitialState :: IO EkitaiState
24 buildInitialState = pure EkitaiState
25
26 drawEkitai :: EkitaiState -> [Widget ResourceName]
27 drawEkitai state = []
28
29 handleEkitaiEvent :: EkitaiState -> BrickEvent n e -> EventM n (Next EkitaiState)
30 handleEkitaiEvent s e =
31     case e of
32         VtyEvent vtye ->
33             case vtye of
34                 EvKey (KChar 'q') [] -> halt s
35                 _ -> continue s
36         _ -> continue s 
37