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)