{-# LANGUAGE OverloadedStrings #-} module Design.LoggedIn.Table ( tableDesign ) where import Data.Monoid ((<>)) import Clay import qualified Clay.Display as D import Design.Color as C import Design.Media import Design.Constants import Design.Helper tableDesign :: Css tableDesign = ".table" ? do display D.table width (pct 100) textAlign (alignSide (sideCenter)) "border-spacing" -: "10 px" ".header" <> ".row" ? display tableRow let headerHeight = (px 70) ".header" ? do fontWeight bold backgroundColor C.blue color C.white fontSize iconFontSize lineHeight headerHeight ".row" ? do fontSize (px 18) lineHeight (px rowHeightPx) hover & do let (borderW, triangleW, triangleH) = (4, 6, 8) ".cell:first-child::before" ? do display block content (stringContent "") position absolute top (px 0) left (px 0) width (px borderW) height (px rowHeightPx) backgroundColor C.green ".cell:first-child::after" ? do display block content (stringContent "") position absolute top (px (rowHeightPx `Prelude.div` 2 - triangleH)) left (px borderW) width (px 0) height (px 0) borderTop solid (px triangleH) transparent borderBottom solid (px triangleH) transparent borderLeft solid (px triangleW) C.green nthChild "odd" & do backgroundColor C.lightGrey ".edition" & do backgroundColor C.paymentFocus ".delete" |> button ? visibility visible ".cell" ? do display tableCell position relative ".category" & width (pct 40) ".cost" & do width (pct 17) ".refund" & color C.green ".user" & width (pct 20) ".date" & do width (pct 20) smallScreen $ do ".shortDate" ? display inline ".longDate" ? display none largeScreen $ do ".shortDate" ? display none ".longDate" ? display inline ".delete" & do position relative width (pct 3) textAlign (alignSide sideCenter) button ? do defaultButton C.red C.white (px rowHeightPx) focusLighten position absolute top (px 0) right (px 0) width (pct 100) visibility hidden