@@ -34,7 +34,7 @@ instance Reflex t => Default (ButtonConfig t) where
3434
3535-- | A button widget that contains a sub-widget
3636button
37− :: (Reflex t, Monad m, HasFocusReader t m, HasDisplayRegion t m, HasImageWriter t m, HasInput t m)
37+ :: (Reflex t, Monad m, HasFocusReader t m, HasTheme t m, HasDisplayRegion t m, HasImageWriter t m, HasInput t m)
3838 => ButtonConfig t
3939 -> m ()
4040 -> m (Event t ())
@@ -52,7 +52,7 @@ button cfg child = do
5252
5353-- | A button widget that displays text that can change
5454textButton
55− :: (Reflex t, Monad m, HasDisplayRegion t m, HasFocusReader t m, HasImageWriter t m, HasInput t m)
55+ :: (Reflex t, Monad m, HasDisplayRegion t m, HasFocusReader t m, HasTheme t m, HasImageWriter t m, HasInput t m)
5656 => ButtonConfig t
5757 -> Behavior t Text
5858 -> m (Event t ())
@@ -60,7 +60,7 @@ textButton cfg = button cfg . text -- TODO Centering etc.
6060
6161-- | A button widget that displays a static bit of text
6262textButtonStatic
63− :: (Reflex t, Monad m, HasDisplayRegion t m, HasFocusReader t m, HasImageWriter t m, HasInput t m)
63+ :: (Reflex t, Monad m, HasDisplayRegion t m, HasFocusReader t m, HasTheme t m, HasImageWriter t m, HasInput t m)
6464 => ButtonConfig t
6565 -> Text
6666 -> m (Event t ())
@@ -70,19 +70,20 @@ textButtonStatic cfg = textButton cfg . pure
7070
7171-- | A clickable link widget
7272link
73− :: (Reflex t, Monad m, HasDisplayRegion t m, HasImageWriter t m, HasInput t m)
73+ :: (Reflex t, Monad m, HasDisplayRegion t m, HasImageWriter t m, HasInput t m, HasTheme t m)
7474 => Behavior t Text
7575 -> m (Event t MouseUp)
7676link t = do
77+ bt <- theme
7778 let cfg = RichTextConfig
78− { _richTextConfig_attributes = pure $ V.withStyle V.defAttr V.underline
79+ { _richTextConfig_attributes = fmap (\attr -> V.withStyle attr V.underline) bt
7980 }
8081 richText cfg t
8182 mouseUp
8283
8384-- | A clickable link widget with a static label
8485linkStatic
85− :: (Reflex t, Monad m, HasImageWriter t m, HasDisplayRegion t m, HasInput t m)
86+ :: (Reflex t, Monad m, HasImageWriter t m, HasDisplayRegion t m, HasInput t m, HasTheme t m)
8687 => Text
8788 -> m (Event t MouseUp)
8889linkStatic = link . pure
@@ -128,7 +129,7 @@ instance (Reflex t) => Default (CheckboxConfig t) where
128129
129130-- | A checkbox widget
130131checkbox
131− :: (MonadHold t m, MonadFix m, Reflex t, HasInput t m, HasDisplayRegion t m, HasImageWriter t m, HasFocusReader t m)
132+ :: (MonadHold t m, MonadFix m, Reflex t, HasInput t m, HasDisplayRegion t m, HasImageWriter t m, HasFocusReader t m, HasTheme t m)
132133 => CheckboxConfig t
133134 -> Bool
134135 -> m (Dynamic t Bool)