aboutsummaryrefslogtreecommitdiff
path: root/src/client/elm/View/Price.elm
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/elm/View/Price.elm')
-rw-r--r--src/client/elm/View/Price.elm38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/client/elm/View/Price.elm b/src/client/elm/View/Price.elm
new file mode 100644
index 0000000..286bcaa
--- /dev/null
+++ b/src/client/elm/View/Price.elm
@@ -0,0 +1,38 @@
+module View.Price
+ ( price
+ ) where
+
+import String exposing (..)
+
+import Model exposing (Model)
+import Model.Translations exposing (getMessage)
+
+price : Model -> Int -> String
+price model amount =
+ ( formatInt amount
+ ++ " "
+ ++ model.config.currency
+ )
+
+formatInt : Int -> String
+formatInt n =
+ abs n
+ |> toString
+ |> toList
+ |> List.reverse
+ |> group 3
+ |> List.intersperse [' ']
+ |> List.concat
+ |> List.reverse
+ |> fromList
+ |> append (if n < 0 then "-" else "")
+
+group : Int -> List a -> List (List a)
+group n xs =
+ if List.length xs <= n
+ then
+ [xs]
+ else
+ let take = List.take n xs
+ drop = List.drop n xs
+ in take :: (group n drop)