{-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE GADTs #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE QuasiQuotes #-} {-# LANGUAGE RankNTypes #-} {-# LANGUAGE TemplateHaskell #-} module Hledger.Web.Widget.AddForm ( addForm , addModal ) where import Control.Monad.State.Strict (evalStateT) import Data.Bifunctor (first) import Data.List (dropWhileEnd, nub, sort, unfoldr) import Data.Maybe (isJust) import Data.Semigroup ((<>)) import Data.Text (Text) import qualified Data.Text as T import Data.Time (Day) import Text.Blaze.Internal (Markup, preEscapedString) import Text.JSON import Text.Megaparsec (eof, parseErrorPretty, runParser) import Yesod import Hledger import Hledger.Web.Settings (widgetFile) -- XXX