module Handler.Admin.ErrorMessage ( getAdminErrMsgR, postAdminErrMsgR ) where import Import import Handler.Utils import Data.Aeson.Encode.Pretty (encodePrettyToTextBuilder) getAdminErrMsgR, postAdminErrMsgR :: Handler Html getAdminErrMsgR = postAdminErrMsgR postAdminErrMsgR = do ((ctResult, ctView), ctEncoding) <- runFormPost . renderAForm FormStandard $ unTextarea <$> areq textareaField (fslpI MsgErrMsgCiphertext "Ciphertext") Nothing plaintext <- formResultMaybe ctResult $ exceptT (\err -> Nothing <$ addMessageI Error err) (return . Just) . (encodedSecretBoxOpen :: Text -> ExceptT EncodedSecretBoxException Handler Value) let ctView' = wrapForm ctView def{ formAction = Just . SomeRoute $ AdminErrMsgR, formEncoding = ctEncoding } defaultLayout [whamlet| $maybe t <- plaintext
$case t
$of String t'
#{t'}
$of t'
#{encodePrettyToTextBuilder t'}
^{ctView'}
|]