Skip to content

Commit 65d0f07

Browse files
committed
new tags work with ghcjs and currency-converter
1 parent 6879807 commit 65d0f07

File tree

2 files changed

+12
-15
lines changed

2 files changed

+12
-15
lines changed

ghcjs/currency-converter/Main.hs

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ import qualified Data.Map as Map
1515
import Functora.Money
1616
import Functora.Prelude as Prelude
1717
import Functora.Rates
18-
import Functora.Tags
1918
import qualified Language.Javascript.JSaddle as JS
2019
import qualified Material.Button as Button
2120
import qualified Material.Dialog as Dialog
@@ -75,7 +74,7 @@ data TopOrBottom
7574

7675
data ModelMoney = ModelMoney
7776
{ modelMoneyAmountInput :: Text,
78-
modelMoneyAmountOutput :: Money (Tags 'Signed),
77+
modelMoneyAmountOutput :: Money (Tags 'Signed |+| 'MoneyAmount),
7978
modelMoneyCurrencyInfo :: CurrencyInfo,
8079
modelMoneyCurrencyOpen :: Bool,
8180
modelMoneyCurrencySearch :: Text
@@ -94,7 +93,7 @@ mkModel = do
9493
ct <- getCurrentTime
9594
prod <- liftIO newBroadcastTChanIO
9695
cons <- liftIO . atomically $ dupTChan prod
97-
market <- mkMarket
96+
market <- newMarket
9897
let btc =
9998
CurrencyInfo
10099
{ currencyInfoCode = CurrencyCode "btc",
@@ -105,7 +104,7 @@ mkModel = do
105104
{ currencyInfoCode = CurrencyCode "usd",
106105
currencyInfoText = mempty
107106
}
108-
let zero = Money 0 :: Money (Tags 'Signed)
107+
let zero = Tagged 0 :: Money (Tags 'Signed |+| 'MoneyAmount)
109108
let final =
110109
ModelData
111110
{ modelDataTopMoney =
@@ -149,7 +148,7 @@ mkModel = do
149148
. tryMarket
150149
. getCurrencyInfo
151150
$ currencyInfoCode usd
152-
let baseAmt = Money 1 :: Money (Tags 'Signed |+| 'Base)
151+
let baseAmt = Tagged 1 :: Money (Tags 'Signed |+| 'Base |+| 'MoneyAmount)
153152
quote <-
154153
getQuote
155154
(Funds baseAmt $ currencyInfoCode baseCur)
@@ -160,17 +159,15 @@ mkModel = do
160159
{ modelDataTopMoney =
161160
ModelMoney
162161
{ modelMoneyAmountInput = inspectMoneyAmount baseAmt,
163-
modelMoneyAmountOutput =
164-
mkSignedMoney @NoTags $ unMoney baseAmt,
162+
modelMoneyAmountOutput = unTag @'Base baseAmt,
165163
modelMoneyCurrencyInfo = baseCur,
166164
modelMoneyCurrencyOpen = False,
167165
modelMoneyCurrencySearch = mempty
168166
},
169167
modelDataBottomMoney =
170168
ModelMoney
171169
{ modelMoneyAmountInput = inspectMoneyAmount quoteAmt,
172-
modelMoneyAmountOutput =
173-
mkSignedMoney @NoTags $ unMoney quoteAmt,
170+
modelMoneyAmountOutput = unTag @'Quote quoteAmt,
174171
modelMoneyCurrencyInfo = quoteCur,
175172
modelMoneyCurrencyOpen = False,
176173
modelMoneyCurrencySearch = mempty
@@ -401,15 +398,15 @@ evalModel st = do
401398
& #modelData
402399
. getBaseMoneyOptic loc
403400
. #modelMoneyAmountOutput
404-
.~ mkSignedMoney @NoTags (unMoney baseAmt)
401+
.~ unTag @'Base baseAmt
405402
& #modelData
406403
. getQuoteMoneyOptic loc
407404
. #modelMoneyAmountInput
408405
.~ inspectMoneyAmount quoteAmt
409406
& #modelData
410407
. getQuoteMoneyOptic loc
411408
. #modelMoneyAmountOutput
412-
.~ mkSignedMoney @NoTags (unMoney quoteAmt)
409+
.~ unTag @'Quote quoteAmt
413410
& #modelUpdatedAt
414411
.~ ct
415412

@@ -861,9 +858,9 @@ snackbarClosed :: Snackbar.MessageId -> Action
861858
snackbarClosed msg =
862859
pureUpdate (& #modelSnackbarQueue %~ Snackbar.close msg)
863860

864-
inspectMoneyAmount :: (MoneyTags sig tags, From String a) => Money tags -> a
861+
inspectMoneyAmount :: (MoneyTags tags, From String a) => Money tags -> a
865862
inspectMoneyAmount =
866-
inspectRatio defaultRatioFormat . unMoney
863+
inspectRatio defaultRatioFormat . unTagged
867864

868865
upToDate :: UTCTime -> UTCTime -> Bool
869866
upToDate lhs rhs =

ghcjs/currency-converter/default.nix

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
let
22
# functora = ../..;
33
functora = fetchTarball {
4-
url = "https://github.com/functora/functora.github.io/archive/923e8084025482aff11777970122e68a7c1de1d4.tar.gz";
5-
sha256 = "02hczswjnmv41smgz7swlk9gigk22i8brl0f4jkx7k5hjhgapqnn";
4+
url = "https://github.com/functora/functora.github.io/archive/687980745c94639d3a8479363d4195b5d0c45033.tar.gz";
5+
sha256 = "0rzkhwwkal0rpif4sjmp61viq0afm3d9lmlkj8vyr4fv5zk7ydjn";
66
};
77
functora-miso = import "${functora}/ghcjs/miso/default.nix" {
88
overlays = import ./overlays.nix {inherit functora;};

0 commit comments

Comments
 (0)