matterhorn-50200.10.0: src/Draw/ReactionEmojiListOverlay.hs
module Draw.ReactionEmojiListOverlay
( drawReactionEmojiListOverlay
)
where
import Prelude ()
import Prelude.MH
import Brick
import Brick.Widgets.List ( listSelectedFocusedAttr )
import qualified Data.Text as T
import Draw.Main
import Draw.ListOverlay ( drawListOverlay, OverlayPosition(..) )
import Types
import Themes
drawReactionEmojiListOverlay :: ChatState -> [Widget Name]
drawReactionEmojiListOverlay st =
let overlay = drawListOverlay (st^.csReactionEmojiListOverlay)
(const $ txt "Search Emoji")
(const $ txt "No matching emoji found.")
(const $ txt "Search emoji:")
renderEmoji
Nothing
OverlayCenter
80
in joinBorders overlay : drawMain False st
renderEmoji :: Bool -> (Bool, T.Text) -> Widget Name
renderEmoji sel (mine, e) =
let maybeForce = if sel
then forceAttr listSelectedFocusedAttr
else id
in maybeForce $
padRight Max $
hBox [ if mine then txt " * " else txt " "
, withDefAttr emojiAttr $ txt $ ":" <> e <> ":"
]