@@ -15,7 +15,6 @@ import qualified Data.Map as Map
15
15
import Functora.Money
16
16
import Functora.Prelude as Prelude
17
17
import Functora.Rates
18
- import Functora.Tags
19
18
import qualified Language.Javascript.JSaddle as JS
20
19
import qualified Material.Button as Button
21
20
import qualified Material.Dialog as Dialog
@@ -75,7 +74,7 @@ data TopOrBottom
75
74
76
75
data ModelMoney = ModelMoney
77
76
{ modelMoneyAmountInput :: Text ,
78
- modelMoneyAmountOutput :: Money (Tags 'Signed),
77
+ modelMoneyAmountOutput :: Money (Tags 'Signed |+| 'MoneyAmount ),
79
78
modelMoneyCurrencyInfo :: CurrencyInfo ,
80
79
modelMoneyCurrencyOpen :: Bool ,
81
80
modelMoneyCurrencySearch :: Text
@@ -94,7 +93,7 @@ mkModel = do
94
93
ct <- getCurrentTime
95
94
prod <- liftIO newBroadcastTChanIO
96
95
cons <- liftIO . atomically $ dupTChan prod
97
- market <- mkMarket
96
+ market <- newMarket
98
97
let btc =
99
98
CurrencyInfo
100
99
{ currencyInfoCode = CurrencyCode " btc" ,
@@ -105,7 +104,7 @@ mkModel = do
105
104
{ currencyInfoCode = CurrencyCode " usd" ,
106
105
currencyInfoText = mempty
107
106
}
108
- let zero = Money 0 :: Money (Tags 'Signed)
107
+ let zero = Tagged 0 :: Money (Tags 'Signed |+| 'MoneyAmount )
109
108
let final =
110
109
ModelData
111
110
{ modelDataTopMoney =
@@ -149,7 +148,7 @@ mkModel = do
149
148
. tryMarket
150
149
. getCurrencyInfo
151
150
$ currencyInfoCode usd
152
- let baseAmt = Money 1 :: Money (Tags 'Signed |+| 'Base)
151
+ let baseAmt = Tagged 1 :: Money (Tags 'Signed |+| 'Base |+| 'MoneyAmount )
153
152
quote <-
154
153
getQuote
155
154
(Funds baseAmt $ currencyInfoCode baseCur)
@@ -160,17 +159,15 @@ mkModel = do
160
159
{ modelDataTopMoney =
161
160
ModelMoney
162
161
{ modelMoneyAmountInput = inspectMoneyAmount baseAmt,
163
- modelMoneyAmountOutput =
164
- mkSignedMoney @ NoTags $ unMoney baseAmt,
162
+ modelMoneyAmountOutput = unTag @ 'Base baseAmt,
165
163
modelMoneyCurrencyInfo = baseCur,
166
164
modelMoneyCurrencyOpen = False ,
167
165
modelMoneyCurrencySearch = mempty
168
166
},
169
167
modelDataBottomMoney =
170
168
ModelMoney
171
169
{ modelMoneyAmountInput = inspectMoneyAmount quoteAmt,
172
- modelMoneyAmountOutput =
173
- mkSignedMoney @ NoTags $ unMoney quoteAmt,
170
+ modelMoneyAmountOutput = unTag @ 'Quote quoteAmt,
174
171
modelMoneyCurrencyInfo = quoteCur,
175
172
modelMoneyCurrencyOpen = False ,
176
173
modelMoneyCurrencySearch = mempty
@@ -401,15 +398,15 @@ evalModel st = do
401
398
& # modelData
402
399
. getBaseMoneyOptic loc
403
400
. # modelMoneyAmountOutput
404
- .~ mkSignedMoney @ NoTags (unMoney baseAmt)
401
+ .~ unTag @ 'Base baseAmt
405
402
& # modelData
406
403
. getQuoteMoneyOptic loc
407
404
. # modelMoneyAmountInput
408
405
.~ inspectMoneyAmount quoteAmt
409
406
& # modelData
410
407
. getQuoteMoneyOptic loc
411
408
. # modelMoneyAmountOutput
412
- .~ mkSignedMoney @ NoTags (unMoney quoteAmt)
409
+ .~ unTag @ 'Quote quoteAmt
413
410
& # modelUpdatedAt
414
411
.~ ct
415
412
@@ -861,9 +858,9 @@ snackbarClosed :: Snackbar.MessageId -> Action
861
858
snackbarClosed msg =
862
859
pureUpdate (& # modelSnackbarQueue %~ Snackbar. close msg)
863
860
864
- inspectMoneyAmount :: (MoneyTags sig tags , From String a ) => Money tags -> a
861
+ inspectMoneyAmount :: (MoneyTags tags , From String a ) => Money tags -> a
865
862
inspectMoneyAmount =
866
- inspectRatio defaultRatioFormat . unMoney
863
+ inspectRatio defaultRatioFormat . unTagged
867
864
868
865
upToDate :: UTCTime -> UTCTime -> Bool
869
866
upToDate lhs rhs =
0 commit comments