aboutsummaryrefslogtreecommitdiff
path: root/src/client/LoggedIn/View
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/LoggedIn/View')
-rw-r--r--src/client/LoggedIn/View/Format.elm37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/client/LoggedIn/View/Format.elm b/src/client/LoggedIn/View/Format.elm
new file mode 100644
index 0000000..f41e2cd
--- /dev/null
+++ b/src/client/LoggedIn/View/Format.elm
@@ -0,0 +1,37 @@
+module LoggedIn.View.Format exposing
+ ( price
+ )
+
+import String exposing (..)
+
+import Model.Conf exposing (Conf)
+
+price : Conf -> Int -> String
+price conf amount =
+ ( number amount
+ ++ " "
+ ++ conf.currency
+ )
+
+number : Int -> String
+number 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)