{-# LANGUAGE NoImplicitPrelude #-}
module UI.Draw.Types where
import ClassyPrelude
import Brick (Widget)
import Events.State.Types (State)
import IO.Config.Layout (Config)
import IO.Keyboard.Types (Bindings)
import UI.Types (ResourceName)
data DrawState = DrawState
{ dsLayout :: Config
, dsBindings :: Bindings
, dsDebug :: Bool
, dsState :: State
}
type ReaderDrawState = ReaderT DrawState Identity
type TWidget = Widget ResourceName
type ModalWidget = ReaderDrawState (Text, TWidget)
type DSWidget = ReaderDrawState TWidget