{-# language InstanceSigs #-}
{-# language TypeFamilies #-}
{-# language PatternSynonyms #-}
module FlexTask.YesodConfig
( FlexForm(..)
, Handler
, Widget
, Rendered'
, Rendered
, pattern Singular
, pattern Multiple
) where
import Control.Monad.Reader (Reader)
import Data.Text (Text)
import Yesod
import Yesod.Core.Types (Logger)
newtype FlexForm = FlexForm {
FlexForm -> Logger
appLogger :: Logger
}
pattern Singular :: Text -> [[Text]]
pattern $mSingular :: forall {r}. [[Text]] -> (Text -> r) -> ((# #) -> r) -> r
$bSingular :: Text -> [[Text]]
Singular t = [[t]]
pattern Multiple :: [Text] -> [[Text]]
pattern $mMultiple :: forall {r}. [[Text]] -> ([Text] -> r) -> ((# #) -> r) -> r
$bMultiple :: [Text] -> [[Text]]
Multiple ts = [ts]
type Handler = HandlerFor FlexForm
type Widget = WidgetFor FlexForm ()
type Rendered' m w = m (MForm Handler ([[Text]],w))
type Rendered w = Rendered' (Reader Html) w
instance Eq (Route FlexForm) where
(==) :: Route FlexForm -> Route FlexForm -> Bool
== :: Route FlexForm -> Route FlexForm -> Bool
(==) Route FlexForm
_ Route FlexForm
_ = Bool
True
instance RenderRoute FlexForm where
data Route FlexForm
renderRoute :: Route FlexForm -> ([Text], [(Text, Text)])
renderRoute Route FlexForm
_ = ([],[])
instance Yesod FlexForm
instance RenderMessage FlexForm FormMessage where
renderMessage :: FlexForm -> [Text] -> FormMessage -> Text
renderMessage FlexForm
_ [Text]
_ = FormMessage -> Text
defaultFormMessage