aboutsummaryrefslogtreecommitdiff
path: root/client/src/View/Payment/Header.hs
diff options
context:
space:
mode:
Diffstat (limited to 'client/src/View/Payment/Header.hs')
-rw-r--r--client/src/View/Payment/Header.hs39
1 files changed, 15 insertions, 24 deletions
diff --git a/client/src/View/Payment/Header.hs b/client/src/View/Payment/Header.hs
index 1bdee8d..7281195 100644
--- a/client/src/View/Payment/Header.hs
+++ b/client/src/View/Payment/Header.hs
@@ -17,10 +17,10 @@ import Prelude hiding (init)
import Reflex.Dom (Dynamic, Event, MonadWidget, Reflex)
import qualified Reflex.Dom as R
-import Common.Model (Category, CreatedPayment (..),
- Currency, ExceedingPayer (..),
- Frequency (..), Income (..), Init (..),
- Payment (..), PaymentCategory,
+import Common.Model (Category, Currency,
+ ExceedingPayer (..), Frequency (..),
+ Income (..), Init (..), Payment (..),
+ PaymentCategory, SavedPayment (..),
User (..))
import qualified Common.Model as CM
import qualified Common.Msg as Msg
@@ -28,11 +28,10 @@ import qualified Common.View.Format as Format
import Component (ButtonIn (..), ButtonOut (..),
InputIn (..), InputOut (..),
- ModalIn (..), ModalOut (..),
SelectIn (..), SelectOut (..))
import qualified Component as Component
+import qualified Component.Modal as Modal
import qualified Util.List as L
-import View.Payment.Add (AddIn (..), AddOut (..))
import qualified View.Payment.Add as Add
data HeaderIn t = HeaderIn
@@ -45,7 +44,7 @@ data HeaderIn t = HeaderIn
data HeaderOut t = HeaderOut
{ _headerOut_searchName :: Dynamic t Text
, _headerOut_searchFrequency :: Dynamic t Frequency
- , _headerOut_addPayment :: Event t CreatedPayment
+ , _headerOut_addPayment :: Event t SavedPayment
}
widget :: forall t m. MonadWidget t m => HeaderIn t -> m (HeaderOut t)
@@ -90,7 +89,7 @@ payerAndAdd
-> Dynamic t [PaymentCategory]
-> Currency
-> Dynamic t Frequency
- -> m (Event t CreatedPayment)
+ -> m (Event t SavedPayment)
payerAndAdd incomes payments users categories paymentCategories currency frequency = do
time <- liftIO Time.getCurrentTime
R.divClass "payerAndAdd" $ do
@@ -119,22 +118,14 @@ payerAndAdd incomes payments users categories paymentCategories currency frequen
, _buttonIn_submit = False
})
- rec
- modalOut <- Component.modal $ ModalIn
- { _modalIn_show = addPaymentClic
- , _modalIn_hide = R.leftmost $
- [ _addOut_cancel addOut
- , fmap (const ()) . _addOut_addPayment $ addOut
- ]
- , _modalIn_content = Add.view $ AddIn
- { _addIn_categories = categories
- , _addIn_paymentCategories = paymentCategories
- , _addIn_frequency = frequency
- , _addIn_cancel = _modalOut_hide modalOut
- }
- }
- let addOut = _modalOut_content modalOut
- return (_addOut_addPayment addOut)
+ Modal.view $ Modal.Input
+ { Modal._input_show = addPaymentClic
+ , Modal._input_content = Add.view $ Add.Input
+ { Add._input_categories = categories
+ , Add._input_paymentCategories = paymentCategories
+ , Add._input_frequency = frequency
+ }
+ }
searchLine
:: forall t m. MonadWidget t m