diff options
author | Joris Guyonvarch | 2014-04-06 22:55:16 +0200 |
---|---|---|
committer | Joris | 2019-05-01 15:34:22 +0200 |
commit | 0fe906ae7453aa684e998bbcc7a78b62d84f0206 (patch) | |
tree | d3968af830b964193349187fb6fc583780cd0ce3 /src/View/Interval.hs | |
parent | 8b11c4be2b3ac354fa14534662dbd92374617a3e (diff) |
Show resume and projects from a configuration file
Diffstat (limited to 'src/View/Interval.hs')
-rw-r--r-- | src/View/Interval.hs | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/View/Interval.hs b/src/View/Interval.hs new file mode 100644 index 0000000..05cb62c --- /dev/null +++ b/src/View/Interval.hs @@ -0,0 +1,39 @@ +module View.Interval + ( renderDurationAndInterval + , renderYearInterval + , renderDuration + ) where + +import Data.Maybe (fromMaybe) + +import Model.Date +import Model.Translation.Language +import qualified Model.Translation.Key as K +import Model.Translation.Message + +renderDurationAndInterval :: Language -> Date -> Date -> Maybe Date -> String +renderDurationAndInterval language currentDate beginDate mbEndDate = + let duration = renderDuration language beginDate (fromMaybe currentDate mbEndDate) + interval = renderYearInterval language beginDate mbEndDate + in duration ++ ", " ++ interval + +renderDuration :: Language -> Date -> Date -> String +renderDuration language d1 d2 = + let (years, months) = yearAndMonthDiff d1 d2 + renderYears = (show years) ++ " " ++ (getMessage (K.YearText years) language) + renderMonths = (show months) ++ " " ++ (getMessage (K.MonthText months) language) + spaceAnd = " " ++ (getMessage K.And language) ++ " " + in if years > 0 then + renderYears ++ (if months > 0 then spaceAnd ++ renderMonths else "") + else + renderMonths + +renderYearInterval :: Language -> Date -> (Maybe Date) -> String +renderYearInterval language beginDate Nothing = + (getMessage K.Since language) ++ " " ++ (show . year $ beginDate) +renderYearInterval language beginDate (Just endDate) = + let beginYear = year beginDate + endYear = year endDate + in if beginYear == endYear + then show beginYear + else (show beginYear) ++ " " ++ (getMessage K.To language) ++ " " ++ (show endYear) |