aboutsummaryrefslogtreecommitdiff
path: root/src/View/Ad.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/View/Ad.hs')
-rw-r--r--src/View/Ad.hs92
1 files changed, 0 insertions, 92 deletions
diff --git a/src/View/Ad.hs b/src/View/Ad.hs
deleted file mode 100644
index ec5da2d..0000000
--- a/src/View/Ad.hs
+++ /dev/null
@@ -1,92 +0,0 @@
-{-# LANGUAGE OverloadedStrings #-}
-
-module View.Ad
- ( renderConsoleAds
- , renderAds
- ) where
-
-import Data.List (intersperse)
-import Data.Maybe (fromMaybe)
-
-import Data.Text (Text)
-import qualified Data.Text as T
-
-import Model.Ad (Ad(..))
-import qualified Model.Ad as Ad
-
-import Model.Resume (Resume(..))
-import qualified Model.Resume as Resume
-
-import Model.Detail (Detail(..))
-import qualified Model.Detail as Detail
-
-import Model.URL
-
-renderConsoleAds :: Text -> [Ad] -> Text
-renderConsoleAds time ads =
- let (title, message) = renderAds ads
- titleWithTime =
- T.concat
- [ "\n["
- , time
- , "] "
- , title
- ]
- line = T.map (\_ -> '-') titleWithTime
- in T.intercalate
- "\n"
- [ titleWithTime
- , line
- , ""
- , message
- ]
-
-renderAds :: [Ad] -> (Text, Text)
-renderAds ads =
- let titleMessage = renderTitle $ length ads
- adsMessage = T.intercalate "\n\n" . map renderAd $ ads
- in (titleMessage, adsMessage)
-
-renderTitle :: Int -> Text
-renderTitle count =
- T.concat
- [ T.pack . show $ count
- , agreement " nouvelle"
- , agreement " annonce"
- ]
- where agreement word =
- T.concat
- [ word
- , if count > 1 then "s" else ""
- ]
-
-renderAd :: Ad -> Text
-renderAd ad =
- T.concat
- [ renderResume (Ad.resume ad)
- , "\n\n"
- , renderDetail (Ad.detail ad)
- ]
-
-renderResume :: Resume -> Text
-renderResume resume =
- let formatPrice price = T.concat [" - ", price]
- price = fromMaybe "" . fmap formatPrice . Resume.price $ resume
- titleLine = T.concat [Resume.name resume, price]
- in T.intercalate "\n" [titleLine, Resume.url resume]
-
-renderDetail :: Detail -> Text
-renderDetail detail =
- T.concat
- [ fromMaybe "−" (Detail.description detail)
- , renderURLs "\n\nImages" (Detail.images detail)
- ]
-
-renderURLs :: Text -> [URL] -> Text
-renderURLs title [] = ""
-renderURLs title urls =
- T.concat
- [ title
- , "\n\n"
- , T.intercalate "\n" urls
- ]