1 module Render ( buildInitialState, ekitaiApp ) where
6 import Brick.Widgets.Core
7 import Graphics.Vty.Input.Events
9 type ResourceName = String
12 EkitaiState deriving (Show)
14 ekitaiApp :: App EkitaiState e ResourceName
16 { appDraw = drawEkitai
17 , appChooseCursor = showFirstCursor
18 , appHandleEvent = handleEkitaiEvent
19 , appStartEvent = pure
20 , appAttrMap = const $ attrMap mempty []
23 buildInitialState :: IO EkitaiState
24 buildInitialState = pure EkitaiState
26 drawEkitai :: EkitaiState -> [Widget ResourceName]
29 handleEkitaiEvent :: EkitaiState -> BrickEvent n e -> EventM n (Next EkitaiState)
30 handleEkitaiEvent s e =
34 EvKey (KChar 'q') [] -> halt s