aboutsummaryrefslogtreecommitdiff
path: root/client/src/View/Payment.hs
blob: 934f720e246bc004657d4fa7fa64985b71f17bf1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
module View.Payment
  ( widget
  , PaymentIn(..)
  , PaymentOut(..)
  ) where

import           Reflex.Dom          (MonadWidget)
import qualified Reflex.Dom          as R

import           Common.Model        (Init (..))

import           View.Payment.Header (HeaderIn (..))
import qualified View.Payment.Header as Header
import           View.Payment.Pages  (PagesIn (..), PagesOut (..))
import qualified View.Payment.Pages  as Pages
import           View.Payment.Table  (TableIn (..))
import qualified View.Payment.Table  as Table

data PaymentIn = PaymentIn
  { _paymentIn_init :: Init
  }

data PaymentOut = PaymentOut
  {
  }

widget :: forall t m. MonadWidget t m => PaymentIn -> m PaymentOut
widget paymentIn = do
  R.divClass "payment" $ do
    rec
      _ <- Header.widget $ HeaderIn
        { _headerIn_init = _paymentIn_init $ paymentIn
        }
      _ <- Table.widget $ TableIn
        { _tableIn_init = _paymentIn_init paymentIn
        , _tableIn_currentPage = _pagesOut_currentPage pagesOut
        }
      pagesOut <- Pages.widget $ PagesIn
        { _pagesIn_payments = _init_payments . _paymentIn_init $ paymentIn
        }
    return $ PaymentOut {}