aboutsummaryrefslogtreecommitdiff
path: root/client/src/View/Payment.hs
blob: 15892c45aa87f4a43580196d5fe79c836d2b55fc (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
42
43
module View.Payment
  ( widget
  , PaymentIn(..)
  , PaymentOut(..)
  ) where

import           Prelude             hiding (init)
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 = init
        }
      _ <- Table.widget $ TableIn
        { _tableIn_init = init
        , _tableIn_currentPage = _pagesOut_currentPage pagesOut
        }
      pagesOut <- Pages.widget $ PagesIn
        { _pagesIn_payments = _init_payments init
        }
    return $ PaymentOut {}
  where init = _paymentIn_init paymentIn