mirror of
https://gitlab.com/upRootNutrition/website.git
synced 2025-08-09 11:54:38 -05:00
feat: stuff is fucked but I'm too tired to continue tonight
This commit is contained in:
parent
d2056e032e
commit
277ba17421
37 changed files with 683 additions and 1491 deletions
|
@ -2,22 +2,7 @@ module Config.Helpers.Articles.Article exposing (..)
|
||||||
|
|
||||||
import Config.Data.Identity exposing (pageNames)
|
import Config.Data.Identity exposing (pageNames)
|
||||||
import Config.Helpers.Articles.Types exposing (References)
|
import Config.Helpers.Articles.Types exposing (References)
|
||||||
import Config.Helpers.CardFormat
|
import Config.Helpers.CardFormat exposing (cardMaker)
|
||||||
exposing
|
|
||||||
( cardContentSpacing
|
|
||||||
, cardFormatter
|
|
||||||
, cardMaker
|
|
||||||
, cardSubTitleMaker
|
|
||||||
, cardTitleMaker
|
|
||||||
, desktopCardMaker
|
|
||||||
, desktopImageBoxSize
|
|
||||||
, desktopImageSize
|
|
||||||
, fieldSpacer
|
|
||||||
, mobileCardMaker
|
|
||||||
, mobileImageBoxSize
|
|
||||||
, mobileImageSize
|
|
||||||
, topLevelBox
|
|
||||||
)
|
|
||||||
import Config.Helpers.Format exposing (..)
|
import Config.Helpers.Format exposing (..)
|
||||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||||
import Config.Helpers.Headers.Types exposing (Header)
|
import Config.Helpers.Headers.Types exposing (Header)
|
||||||
|
@ -59,31 +44,22 @@ import Shared exposing (..)
|
||||||
import View exposing (View)
|
import View exposing (View)
|
||||||
|
|
||||||
|
|
||||||
articleMaker : BlogArticle -> Element msg
|
articleMaker : Device -> BlogArticle -> Element msg
|
||||||
articleMaker article =
|
articleMaker device article =
|
||||||
column
|
cardMaker device article.articleName (contentList article) { description = "", src = "String" } article.articleLink
|
||||||
topLevelBox
|
|
||||||
[ cardMaker
|
|
||||||
[ cardTitleMaker (String.toUpper article.articleName)
|
|
||||||
, cardFormatter
|
|
||||||
[ cardContentSpacing
|
|
||||||
[ column
|
|
||||||
fieldSpacer
|
|
||||||
[ cardSubTitleMaker
|
|
||||||
[ articleImage article.articleImage
|
|
||||||
, renderDeviceMarkdown article.articleBody
|
|
||||||
, case article.hasReferences of
|
|
||||||
True ->
|
|
||||||
articleReferences article
|
|
||||||
|
|
||||||
False ->
|
|
||||||
none
|
contentList : BlogArticle -> List (Element msg)
|
||||||
]
|
contentList article =
|
||||||
]
|
[ articleImage article.articleImage
|
||||||
]
|
, renderDeviceMarkdown article.articleBody
|
||||||
]
|
, case article.hasReferences of
|
||||||
]
|
True ->
|
||||||
]
|
articleReferences article
|
||||||
|
|
||||||
|
False ->
|
||||||
|
none
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
articleReferences : BlogArticle -> Element msg
|
articleReferences : BlogArticle -> Element msg
|
||||||
|
|
|
@ -7,7 +7,8 @@ import Config.Data.Identity
|
||||||
import Config.Helpers.Converters exposing (formatName)
|
import Config.Helpers.Converters exposing (formatName)
|
||||||
import Config.Helpers.Format
|
import Config.Helpers.Format
|
||||||
exposing
|
exposing
|
||||||
( paragraphFontSize
|
( headerFontSizeMedium
|
||||||
|
, paragraphFontSize
|
||||||
, paragraphSpacing
|
, paragraphSpacing
|
||||||
)
|
)
|
||||||
import Config.Style.Colour exposing (colourTheme)
|
import Config.Style.Colour exposing (colourTheme)
|
||||||
|
@ -29,303 +30,211 @@ import Element.Border as D
|
||||||
import Element.Font as F
|
import Element.Font as F
|
||||||
import Html.Attributes as H
|
import Html.Attributes as H
|
||||||
import Route.Path as Path exposing (..)
|
import Route.Path as Path exposing (..)
|
||||||
|
import Shared
|
||||||
|
|
||||||
|
|
||||||
topLevelBox : List (Attribute msg)
|
cardMaker : Device -> String -> List (Element msg) -> { description : String, src : String } -> String -> Element msg
|
||||||
topLevelBox =
|
cardMaker device title content image url =
|
||||||
[ E.width fill
|
el
|
||||||
, E.height fill
|
[ width (fill |> minimum 100)
|
||||||
, E.alignTop
|
, width (fill |> maximum 875)
|
||||||
, E.alignRight
|
|
||||||
, padding 10
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
cardMaker : List (Element msg) -> Element msg
|
|
||||||
cardMaker =
|
|
||||||
column
|
|
||||||
[ E.width fill
|
|
||||||
, D.width 5
|
|
||||||
, D.color colourTheme.backgroundDarkGrey
|
|
||||||
, D.rounded 32
|
|
||||||
, glowDeepDarkGrey
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
cardFormatter : List (Element msg) -> Element msg
|
|
||||||
cardFormatter =
|
|
||||||
column
|
|
||||||
[ E.height fill
|
|
||||||
, E.width fill
|
|
||||||
, centerX
|
|
||||||
, B.color colourTheme.backgroundDarkGrey
|
|
||||||
, padding 10
|
, padding 10
|
||||||
, D.roundEach
|
|
||||||
{ topLeft = 0
|
|
||||||
, topRight = 0
|
|
||||||
, bottomRight = 26
|
|
||||||
, bottomLeft = 26
|
|
||||||
}
|
|
||||||
, spacing 8
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
cardSubTitleMaker : List (Element msg) -> Element msg
|
|
||||||
cardSubTitleMaker =
|
|
||||||
paragraph
|
|
||||||
[ F.color colourTheme.textLightGrey
|
|
||||||
, paragraphSpacing
|
|
||||||
, paragraphFontSize
|
|
||||||
, F.size 18
|
|
||||||
, centerX
|
, centerX
|
||||||
, F.center
|
|
||||||
]
|
]
|
||||||
|
<|
|
||||||
|
if
|
||||||
cardContentSpacing : List (Element msg) -> Element msg
|
url
|
||||||
cardContentSpacing =
|
== Path.toString Path.Home_
|
||||||
column
|
|| url
|
||||||
[ paddingEach
|
== Path.toString Path.Contact
|
||||||
{ top = 0
|
|| url
|
||||||
, bottom = 0
|
== Path.toString Path.Debate
|
||||||
, left = 15
|
|| url
|
||||||
, right = 15
|
== Path.toString Path.Debate_Arguments
|
||||||
}
|
|| url
|
||||||
, spacing 8
|
== Path.toString Path.Debate_Cucklist
|
||||||
, width fill
|
|| url
|
||||||
]
|
== Path.toString Path.Debate_Gibberish
|
||||||
|
|| url
|
||||||
|
== Path.toString Path.Donate
|
||||||
imageTransitionStyle : List (Attribute msg)
|
|| url
|
||||||
imageTransitionStyle =
|
== Path.toString Path.Blog
|
||||||
[ D.rounded 100
|
|| url
|
||||||
, D.width 5
|
== Path.toString Path.Blog_Seedoils
|
||||||
, glowDeepDarkGrey
|
|| url
|
||||||
, D.color colourTheme.backgroundDarkGrey
|
== Path.toString Path.Blog_Huntergatherers
|
||||||
, B.color colourTheme.backgroundDarkGrey
|
|| url
|
||||||
, mouseOver
|
== Path.toString Path.Blog_Sapiendiet
|
||||||
[ D.color colourTheme.textDarkOrange
|
|| url
|
||||||
, B.color colourTheme.textDarkOrange
|
== Path.toString Path.Blog_Nagragoodrich
|
||||||
, glowDeepDarkOrange
|
|| url
|
||||||
]
|
== Path.toString Path.Blog_Quacksmashing
|
||||||
, transitionStyleMedium
|
|| url
|
||||||
]
|
== Path.toString Path.Blog_Bigfatsurprise
|
||||||
|
|| url
|
||||||
|
== Path.toString Path.Blog_Everettvegans
|
||||||
desktopCardMaker :
|
|| url
|
||||||
List (Attribute msg)
|
== Path.toString Path.Blog_Meatapologetics
|
||||||
-> List (Attribute msg)
|
|| url
|
||||||
->
|
== Path.toString Path.Blog_Plantbasedmeta
|
||||||
{ src : String
|
|| url
|
||||||
, description : String
|
== Path.toString Path.Blog_Shenanigans
|
||||||
}
|
|| url
|
||||||
-> String
|
== Path.toString Path.Blog_Sweetdeception
|
||||||
-> Element msg
|
|| url
|
||||||
desktopCardMaker size1 size2 image urlLink =
|
== Path.toString Path.Interviews
|
||||||
cardImageMaker size1 size2 image urlLink
|
|| url
|
||||||
|
== Path.toString Path.Nutridex
|
||||||
|
|| url
|
||||||
mobileCardMaker :
|
== Path.toString Path.Services
|
||||||
List (Attribute msg)
|
|| url
|
||||||
-> List (Attribute msg)
|
== Path.toString Path.Services_Analysis
|
||||||
->
|
|| url
|
||||||
{ src : String
|
== Path.toString Path.Services_Coaching
|
||||||
, description : String
|
|| url
|
||||||
}
|
== Path.toString Path.Services_Elm
|
||||||
-> String
|
|| url
|
||||||
-> Element msg
|
== Path.toString Path.Services_Nix
|
||||||
mobileCardMaker size1 size2 image urlLink =
|
|| url
|
||||||
cardImageMaker size1 size2 image urlLink
|
== Path.toString Path.Services_Nutrition
|
||||||
|
then
|
||||||
|
el
|
||||||
cardImageMaker : List (Attribute msg) -> List (Attribute msg) -> { src : String, description : String } -> String -> Element msg
|
[ E.width fill
|
||||||
cardImageMaker size1 size2 image urlLink =
|
, D.width 5
|
||||||
column
|
, D.color colourTheme.backgroundDarkGrey
|
||||||
size1
|
, D.rounded 32
|
||||||
[ el
|
, glowDeepDarkGrey
|
||||||
imageTransitionStyle
|
, mouseOver
|
||||||
(if
|
[ D.color colourTheme.textDarkOrange
|
||||||
urlLink
|
, B.color colourTheme.textDarkOrange
|
||||||
== Path.toString Path.Home_
|
, glowDeepDarkOrange
|
||||||
|| urlLink
|
|
||||||
== Path.toString Path.Contact
|
|
||||||
|| urlLink
|
|
||||||
== Path.toString Path.Debate
|
|
||||||
|| urlLink
|
|
||||||
== Path.toString Path.Debate_Arguments
|
|
||||||
|| urlLink
|
|
||||||
== Path.toString Path.Debate_Cucklist
|
|
||||||
|| urlLink
|
|
||||||
== Path.toString Path.Debate_Gibberish
|
|
||||||
|| urlLink
|
|
||||||
== Path.toString Path.Donate
|
|
||||||
|| urlLink
|
|
||||||
== Path.toString Path.Blog
|
|
||||||
|| urlLink
|
|
||||||
== Path.toString Path.Blog_Seedoils
|
|
||||||
|| urlLink
|
|
||||||
== Path.toString Path.Blog_Huntergatherers
|
|
||||||
|| urlLink
|
|
||||||
== Path.toString Path.Blog_Sapiendiet
|
|
||||||
|| urlLink
|
|
||||||
== Path.toString Path.Blog_Nagragoodrich
|
|
||||||
|| urlLink
|
|
||||||
== Path.toString Path.Blog_Quacksmashing
|
|
||||||
|| urlLink
|
|
||||||
== Path.toString Path.Blog_Bigfatsurprise
|
|
||||||
|| urlLink
|
|
||||||
== Path.toString Path.Blog_Everettvegans
|
|
||||||
|| urlLink
|
|
||||||
== Path.toString Path.Blog_Meatapologetics
|
|
||||||
|| urlLink
|
|
||||||
== Path.toString Path.Blog_Plantbasedmeta
|
|
||||||
|| urlLink
|
|
||||||
== Path.toString Path.Blog_Shenanigans
|
|
||||||
|| urlLink
|
|
||||||
== Path.toString Path.Blog_Sweetdeception
|
|
||||||
|| urlLink
|
|
||||||
== Path.toString Path.Interviews
|
|
||||||
|| urlLink
|
|
||||||
== Path.toString Path.Nutridex
|
|
||||||
|| urlLink
|
|
||||||
== Path.toString Path.Services
|
|
||||||
|| urlLink
|
|
||||||
== Path.toString Path.Services_Analysis
|
|
||||||
|| urlLink
|
|
||||||
== Path.toString Path.Services_Coaching
|
|
||||||
|| urlLink
|
|
||||||
== Path.toString Path.Services_Elm
|
|
||||||
|| urlLink
|
|
||||||
== Path.toString Path.Services_Nix
|
|
||||||
|| urlLink
|
|
||||||
== Path.toString Path.Services_Nutrition
|
|
||||||
then
|
|
||||||
link []
|
|
||||||
{ url = urlLink
|
|
||||||
, label =
|
|
||||||
E.image
|
|
||||||
size2
|
|
||||||
image
|
|
||||||
}
|
|
||||||
|
|
||||||
else
|
|
||||||
newTabLink []
|
|
||||||
{ url = urlLink
|
|
||||||
, label =
|
|
||||||
E.image
|
|
||||||
size2
|
|
||||||
image
|
|
||||||
}
|
|
||||||
)
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
desktopImageSize : List (Attribute msg)
|
|
||||||
desktopImageSize =
|
|
||||||
[ alignRight
|
|
||||||
, alignTop
|
|
||||||
, D.rounded 100
|
|
||||||
, clip
|
|
||||||
, E.width <| px 90
|
|
||||||
, E.height <| px 90
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
mobileImageSize : List (Attribute msg)
|
|
||||||
mobileImageSize =
|
|
||||||
[ D.rounded 100
|
|
||||||
, clip
|
|
||||||
, E.width <| px 45
|
|
||||||
, E.height <| px 45
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
desktopImageBoxSize : List (Attribute msg)
|
|
||||||
desktopImageBoxSize =
|
|
||||||
[ E.width <| px 115
|
|
||||||
, E.height <| px 115
|
|
||||||
, alignTop
|
|
||||||
, alignRight
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
mobileImageBoxSize : List (Attribute msg)
|
|
||||||
mobileImageBoxSize =
|
|
||||||
[ alignTop
|
|
||||||
, centerX
|
|
||||||
, alignLeft
|
|
||||||
, paddingEach
|
|
||||||
{ top = 0
|
|
||||||
, bottom = 10
|
|
||||||
, left = 0
|
|
||||||
, right = 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
cardTitleMaker : String -> Element msg
|
|
||||||
cardTitleMaker title =
|
|
||||||
paragraph
|
|
||||||
[ F.size 20
|
|
||||||
, F.bold
|
|
||||||
, F.color colourTheme.textLightGrey
|
|
||||||
, B.color colourTheme.textDarkOrange
|
|
||||||
, paddingEach
|
|
||||||
{ top = 6
|
|
||||||
, bottom = 3
|
|
||||||
, left = 0
|
|
||||||
, right = 0
|
|
||||||
}
|
|
||||||
, alignBottom
|
|
||||||
, width fill
|
|
||||||
, centerX
|
|
||||||
, F.center
|
|
||||||
, D.roundEach
|
|
||||||
{ topLeft = 26
|
|
||||||
, topRight = 26
|
|
||||||
, bottomRight = 0
|
|
||||||
, bottomLeft = 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
[ text title ]
|
|
||||||
|
|
||||||
|
|
||||||
fieldSpacer : List (Attribute msg)
|
|
||||||
fieldSpacer =
|
|
||||||
[ spacing 8
|
|
||||||
, width fill
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
underConstructionMaker : String -> Element msg
|
|
||||||
underConstructionMaker name =
|
|
||||||
row
|
|
||||||
topLevelBox
|
|
||||||
[ cardMaker
|
|
||||||
[ cardTitleMaker name
|
|
||||||
, cardFormatter
|
|
||||||
[ cardContentSpacing
|
|
||||||
[ column
|
|
||||||
fieldSpacer
|
|
||||||
[ cardSubTitleMaker
|
|
||||||
[ column []
|
|
||||||
[ row
|
|
||||||
[ spacing 10
|
|
||||||
]
|
|
||||||
[ column [ width <| px 35 ] [ html construction ]
|
|
||||||
, column
|
|
||||||
[ width fill
|
|
||||||
, F.color colourTheme.textLightOrange
|
|
||||||
, F.bold
|
|
||||||
, alignBottom
|
|
||||||
]
|
|
||||||
[ text "under construction"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
]
|
||||||
|
, transitionStyleSlow
|
||||||
]
|
]
|
||||||
]
|
<|
|
||||||
|
link [ width fill ]
|
||||||
|
{ url = url
|
||||||
|
, label = cardStructure device title content image
|
||||||
|
}
|
||||||
|
|
||||||
|
else
|
||||||
|
el
|
||||||
|
[ E.width fill
|
||||||
|
, D.width 5
|
||||||
|
, D.color colourTheme.backgroundDarkGrey
|
||||||
|
, D.rounded 32
|
||||||
|
, glowDeepDarkGrey
|
||||||
|
, mouseOver
|
||||||
|
[ D.color colourTheme.textDarkOrange
|
||||||
|
, B.color colourTheme.textDarkOrange
|
||||||
|
, glowDeepDarkOrange
|
||||||
|
]
|
||||||
|
, transitionStyleSlow
|
||||||
|
]
|
||||||
|
<|
|
||||||
|
newTabLink []
|
||||||
|
{ url = url
|
||||||
|
, label = cardStructure device title content image
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
cardStructure : Device -> String -> List (Element msg) -> { description : String, src : String } -> Element msg
|
||||||
|
cardStructure device title content image =
|
||||||
|
column
|
||||||
|
[ width fill
|
||||||
|
]
|
||||||
|
[ el
|
||||||
|
[ headerFontSizeMedium
|
||||||
|
, F.bold
|
||||||
|
, F.color colourTheme.textLightGrey
|
||||||
|
, B.color colourTheme.textDarkOrange
|
||||||
|
, paddingEach
|
||||||
|
{ top = 6
|
||||||
|
, bottom = 3
|
||||||
|
, left = 20
|
||||||
|
, right = 20
|
||||||
|
}
|
||||||
|
, width fill
|
||||||
|
, F.center
|
||||||
|
, D.roundEach
|
||||||
|
{ topLeft = 26
|
||||||
|
, topRight = 26
|
||||||
|
, bottomRight = 0
|
||||||
|
, bottomLeft = 0
|
||||||
|
}
|
||||||
|
]
|
||||||
|
<|
|
||||||
|
paragraph [] [ text title ]
|
||||||
|
, el
|
||||||
|
[ E.height fill
|
||||||
|
, E.width fill
|
||||||
|
, centerX
|
||||||
|
, B.color colourTheme.backgroundDarkGrey
|
||||||
|
, padding 10
|
||||||
|
, D.roundEach
|
||||||
|
{ topLeft = 0
|
||||||
|
, topRight = 0
|
||||||
|
, bottomRight = 26
|
||||||
|
, bottomLeft = 26
|
||||||
|
}
|
||||||
|
, spacing 8
|
||||||
|
]
|
||||||
|
<|
|
||||||
|
el
|
||||||
|
[ paddingEach
|
||||||
|
{ top = 0
|
||||||
|
, bottom = 0
|
||||||
|
, left = 15
|
||||||
|
, right = 15
|
||||||
|
}
|
||||||
|
, spacing 8
|
||||||
|
, width fill
|
||||||
|
]
|
||||||
|
<|
|
||||||
|
row
|
||||||
|
[ width fill ]
|
||||||
|
[ column
|
||||||
|
[ spacing 8
|
||||||
|
, width fill
|
||||||
|
]
|
||||||
|
content
|
||||||
|
, el
|
||||||
|
[ alignRight
|
||||||
|
, alignTop
|
||||||
|
, paddingXY 20 20
|
||||||
|
]
|
||||||
|
<|
|
||||||
|
el
|
||||||
|
[ D.rounded 100
|
||||||
|
, D.width 5
|
||||||
|
, glowDeepDarkGrey
|
||||||
|
, D.color colourTheme.backgroundDarkGrey
|
||||||
|
, B.color colourTheme.backgroundDarkGrey
|
||||||
|
]
|
||||||
|
<|
|
||||||
|
E.image
|
||||||
|
([ alignRight
|
||||||
|
, alignTop
|
||||||
|
, D.rounded 100
|
||||||
|
, clip
|
||||||
|
]
|
||||||
|
++ (case ( device.class, device.orientation ) of
|
||||||
|
( Phone, Portrait ) ->
|
||||||
|
[ E.width <| px 45
|
||||||
|
, E.height <| px 45
|
||||||
|
]
|
||||||
|
|
||||||
|
( Tablet, Portrait ) ->
|
||||||
|
[ E.width <| px 45
|
||||||
|
, E.height <| px 45
|
||||||
|
]
|
||||||
|
|
||||||
|
_ ->
|
||||||
|
[ E.width <| px 90
|
||||||
|
, E.height <| px 90
|
||||||
|
]
|
||||||
|
)
|
||||||
|
)
|
||||||
|
image
|
||||||
|
]
|
||||||
]
|
]
|
||||||
|
|
|
@ -2,29 +2,23 @@ module Config.Helpers.Headers.Header exposing (headerMaker)
|
||||||
|
|
||||||
import Config.Helpers.CardFormat exposing (..)
|
import Config.Helpers.CardFormat exposing (..)
|
||||||
import Config.Helpers.Headers.Types exposing (Header)
|
import Config.Helpers.Headers.Types exposing (Header)
|
||||||
|
import Config.Pages.Contact.Types exposing (Contact)
|
||||||
import Element as E
|
import Element as E
|
||||||
exposing
|
exposing
|
||||||
( Element
|
( Device
|
||||||
|
, Element
|
||||||
, column
|
, column
|
||||||
, row
|
, row
|
||||||
, text
|
, text
|
||||||
)
|
)
|
||||||
|
import Shared exposing (..)
|
||||||
|
|
||||||
|
|
||||||
headerMaker : Header -> Element msg
|
headerMaker : Device -> Header -> Element msg
|
||||||
headerMaker header =
|
headerMaker device header =
|
||||||
row
|
cardMaker device header.headerTitle (contentList header) { description = "", src = "" } ""
|
||||||
topLevelBox
|
|
||||||
[ cardMaker
|
|
||||||
[ cardTitleMaker header.headerTitle
|
contentList : Header -> List (Element msg)
|
||||||
, cardFormatter
|
contentList header =
|
||||||
[ cardContentSpacing
|
[ text header.headerBody ]
|
||||||
[ column
|
|
||||||
fieldSpacer
|
|
||||||
[ cardSubTitleMaker
|
|
||||||
[ text header.headerBody ]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
|
|
|
@ -3,6 +3,7 @@ module Config.Helpers.Response exposing (..)
|
||||||
import Config.Style.Colour exposing (colourTheme)
|
import Config.Style.Colour exposing (colourTheme)
|
||||||
import Element as E exposing (..)
|
import Element as E exposing (..)
|
||||||
import Element.Background as B exposing (color)
|
import Element.Background as B exposing (color)
|
||||||
|
import Html.Attributes exposing (style)
|
||||||
|
|
||||||
|
|
||||||
topLevelContainer : Element msg -> Element msg
|
topLevelContainer : Element msg -> Element msg
|
||||||
|
@ -11,7 +12,6 @@ topLevelContainer =
|
||||||
[ width fill
|
[ width fill
|
||||||
, height fill
|
, height fill
|
||||||
, B.color colourTheme.backgroundLightGrey
|
, B.color colourTheme.backgroundLightGrey
|
||||||
, scrollbarY
|
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
@ -34,7 +34,7 @@ pageListFormat =
|
||||||
[ spacing 30
|
[ spacing 30
|
||||||
, centerX
|
, centerX
|
||||||
, padding 30
|
, padding 30
|
||||||
, width (fill |> minimum 100)
|
, width fill
|
||||||
, width (fill |> maximum 875)
|
, height fill
|
||||||
, scrollbarY
|
, scrollbarY
|
||||||
]
|
]
|
||||||
|
|
|
@ -1,13 +1,14 @@
|
||||||
module Config.Pages.Products.Records.NutriDex exposing (..)
|
module Config.Pages.Products.Records.NutriDex exposing (..)
|
||||||
|
|
||||||
|
import Config.Pages.Products.Types exposing (..)
|
||||||
import Element exposing (..)
|
import Element exposing (..)
|
||||||
import Element.Font as F exposing (..)
|
import Element.Font as F exposing (..)
|
||||||
import Config.Pages.Products.Types exposing (..)
|
|
||||||
|
|
||||||
|
|
||||||
productNutriDex : NutriDex
|
productNutriDex : NutriDex
|
||||||
productNutriDex =
|
productNutriDex =
|
||||||
{ nutriDexTitle = "The NutriDex"
|
{ nutriDexTitle = "The NutriDex"
|
||||||
|
, hasImage = False
|
||||||
, nutriDexFeatures =
|
, nutriDexFeatures =
|
||||||
[ { feature = "The essential nutrient yields of over 700 foods are ranked and adjusted for bioavailability, nutrient absorption capacity, and metabolic conversion inefficiencies!"
|
[ { feature = "The essential nutrient yields of over 700 foods are ranked and adjusted for bioavailability, nutrient absorption capacity, and metabolic conversion inefficiencies!"
|
||||||
, featureTitle = "Nutrient Density Scoring: "
|
, featureTitle = "Nutrient Density Scoring: "
|
||||||
|
|
|
@ -5,6 +5,7 @@ import Config.Helpers.Articles.Types exposing (References)
|
||||||
|
|
||||||
type alias NutriDex =
|
type alias NutriDex =
|
||||||
{ nutriDexTitle : String
|
{ nutriDexTitle : String
|
||||||
|
, hasImage : Bool
|
||||||
, nutriDexFeatures : List Features
|
, nutriDexFeatures : List Features
|
||||||
, nutriDexReference : List References
|
, nutriDexReference : List References
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,6 +38,10 @@ specialNavbarTransition =
|
||||||
htmlAttribute <| style "transition" "opacity .4s"
|
htmlAttribute <| style "transition" "opacity .4s"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- This special transition is needed to avoid weird animation sequencing rather in Chrome-based browsers.
|
||||||
|
|
||||||
|
|
||||||
hoverFontLightOrange : Attribute msg
|
hoverFontLightOrange : Attribute msg
|
||||||
hoverFontLightOrange =
|
hoverFontLightOrange =
|
||||||
mouseOver [ F.color colourTheme.textLightOrange ]
|
mouseOver [ F.color colourTheme.textLightOrange ]
|
||||||
|
|
|
@ -380,6 +380,17 @@ sidebarLogo input =
|
||||||
|
|
||||||
items : NavbarInput contentMsg -> Element contentMsg
|
items : NavbarInput contentMsg -> Element contentMsg
|
||||||
items input =
|
items input =
|
||||||
|
let
|
||||||
|
navbarUnfucker : List (Attr () msg)
|
||||||
|
navbarUnfucker =
|
||||||
|
[ transparent True
|
||||||
|
, htmlAttribute (style "position" "absolute")
|
||||||
|
, htmlAttribute (style "z-index" "-10")
|
||||||
|
, htmlAttribute (style "opacity" "0")
|
||||||
|
, htmlAttribute (style "pointer-events" "none")
|
||||||
|
, htmlAttribute (style "visibility" "hidden")
|
||||||
|
]
|
||||||
|
in
|
||||||
column
|
column
|
||||||
[ scrollbarY
|
[ scrollbarY
|
||||||
, height fill
|
, height fill
|
||||||
|
@ -388,15 +399,37 @@ items input =
|
||||||
<|
|
<|
|
||||||
List.map
|
List.map
|
||||||
(\x ->
|
(\x ->
|
||||||
makeItem input
|
el
|
||||||
{ icon = x.icon
|
([ width fill
|
||||||
, isCurrent = x.isCurrent
|
, transitionStyleMedium
|
||||||
, isNewTabLink = x.isNewTabLink
|
]
|
||||||
, isSubscriberOnly = x.isSubscriberOnly
|
++ (if input.model.isNavbarExpanded then
|
||||||
, name = x.name
|
case input.sharedModel.device.class of
|
||||||
, sharedModel = input.sharedModel
|
_ ->
|
||||||
, url = x.url
|
[ transparent False ]
|
||||||
}
|
|
||||||
|
else
|
||||||
|
case input.sharedModel.device.class of
|
||||||
|
Phone ->
|
||||||
|
navbarUnfucker
|
||||||
|
|
||||||
|
Tablet ->
|
||||||
|
navbarUnfucker
|
||||||
|
|
||||||
|
_ ->
|
||||||
|
[ transparent False ]
|
||||||
|
)
|
||||||
|
)
|
||||||
|
<|
|
||||||
|
makeItem input
|
||||||
|
{ icon = x.icon
|
||||||
|
, isCurrent = x.isCurrent
|
||||||
|
, isNewTabLink = x.isNewTabLink
|
||||||
|
, isSubscriberOnly = x.isSubscriberOnly
|
||||||
|
, name = x.name
|
||||||
|
, sharedModel = input.sharedModel
|
||||||
|
, url = x.url
|
||||||
|
}
|
||||||
)
|
)
|
||||||
[ { icon = home
|
[ { icon = home
|
||||||
, isCurrent = input.route.path == Path.Home_
|
, isCurrent = input.route.path == Path.Home_
|
||||||
|
@ -464,6 +497,25 @@ items input =
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
makeItemLogic : NavbarInput contentMsg -> RowInput contentMsg -> Element contentMsg
|
||||||
|
makeItemLogic input route =
|
||||||
|
if input.model.isNavbarExpanded then
|
||||||
|
case input.sharedModel.device.class of
|
||||||
|
_ ->
|
||||||
|
makeItem input route
|
||||||
|
|
||||||
|
else
|
||||||
|
case input.sharedModel.device.class of
|
||||||
|
Phone ->
|
||||||
|
el [] none
|
||||||
|
|
||||||
|
Tablet ->
|
||||||
|
el [] none
|
||||||
|
|
||||||
|
_ ->
|
||||||
|
makeItem input route
|
||||||
|
|
||||||
|
|
||||||
makeItem : NavbarInput contentMsg -> RowInput contentMsg -> Element contentMsg
|
makeItem : NavbarInput contentMsg -> RowInput contentMsg -> Element contentMsg
|
||||||
makeItem input route =
|
makeItem input route =
|
||||||
(if route.isNewTabLink then
|
(if route.isNewTabLink then
|
||||||
|
@ -555,15 +607,15 @@ makeItem input route =
|
||||||
[]
|
[]
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
[ itemIcon route
|
[ itemIcon input route
|
||||||
, itemText input route
|
, itemText input route
|
||||||
]
|
]
|
||||||
, url = route.url
|
, url = route.url
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
itemIcon : RowInput contentMsg -> Element contentMsg
|
itemIcon : NavbarInput contentMsg -> RowInput contentMsg -> Element contentMsg
|
||||||
itemIcon route =
|
itemIcon input route =
|
||||||
el
|
el
|
||||||
([ height <| px 50
|
([ height <| px 50
|
||||||
, width <| px 20
|
, width <| px 20
|
||||||
|
@ -645,6 +697,7 @@ footerItems input =
|
||||||
, isNewTabLink = True
|
, isNewTabLink = True
|
||||||
, url = "https://x.com/upRootNutrition"
|
, url = "https://x.com/upRootNutrition"
|
||||||
}
|
}
|
||||||
|
|
||||||
-- , { icon = mastodon
|
-- , { icon = mastodon
|
||||||
-- , isNewTabLink = True
|
-- , isNewTabLink = True
|
||||||
-- , url = "https://social.uprootnutrition.com/@nick"
|
-- , url = "https://social.uprootnutrition.com/@nick"
|
||||||
|
|
|
@ -2,22 +2,7 @@ module Pages.Blog exposing (Model, Msg, page)
|
||||||
|
|
||||||
import Config.Data.Identity exposing (pageNames)
|
import Config.Data.Identity exposing (pageNames)
|
||||||
import Config.Helpers.Articles.Article exposing (extractFirstWords)
|
import Config.Helpers.Articles.Article exposing (extractFirstWords)
|
||||||
import Config.Helpers.CardFormat
|
import Config.Helpers.CardFormat exposing (cardMaker)
|
||||||
exposing
|
|
||||||
( cardContentSpacing
|
|
||||||
, cardFormatter
|
|
||||||
, cardMaker
|
|
||||||
, cardTitleMaker
|
|
||||||
, desktopCardMaker
|
|
||||||
, desktopImageBoxSize
|
|
||||||
, desktopImageSize
|
|
||||||
, fieldSpacer
|
|
||||||
, mobileCardMaker
|
|
||||||
, mobileImageBoxSize
|
|
||||||
, mobileImageSize
|
|
||||||
, topLevelBox
|
|
||||||
, underConstructionMaker
|
|
||||||
)
|
|
||||||
import Config.Helpers.Converters
|
import Config.Helpers.Converters
|
||||||
exposing
|
exposing
|
||||||
( formatName
|
( formatName
|
||||||
|
@ -155,17 +140,10 @@ blogList device =
|
||||||
)
|
)
|
||||||
<|
|
<|
|
||||||
List.concat
|
List.concat
|
||||||
[ List.map headerMaker
|
[ List.map (headerMaker device) [ blogHeader ] -- Pass the device to
|
||||||
[ blogHeader ]
|
|
||||||
, (case ( device.class, device.orientation ) of
|
, (case ( device.class, device.orientation ) of
|
||||||
( Phone, Portrait ) ->
|
|
||||||
List.map mobileBlogMaker
|
|
||||||
|
|
||||||
( Tablet, Portrait ) ->
|
|
||||||
List.map mobileBlogMaker
|
|
||||||
|
|
||||||
_ ->
|
_ ->
|
||||||
List.map desktopBlogMaker
|
List.map (blogMaker device)
|
||||||
)
|
)
|
||||||
[ articleShenanigans
|
[ articleShenanigans
|
||||||
, articleSweetDeception
|
, articleSweetDeception
|
||||||
|
@ -189,50 +167,18 @@ blogHeader =
|
||||||
"Blog"
|
"Blog"
|
||||||
in
|
in
|
||||||
{ headerTitle = String.toUpper name
|
{ headerTitle = String.toUpper name
|
||||||
, headerBody = "This page features blog articles written by me, along with contributions from guest authors, covering topics primarily related to nutrition science, health science, and debate."
|
, headerBody = "This page features blog articles written by me, along with contributions from guest authors, covering topics primarily related to nutrition science, health science, and article."
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
desktopBlogMaker : BlogArticle -> Element msg
|
blogMaker : Device -> BlogArticle -> Element msg
|
||||||
desktopBlogMaker article =
|
blogMaker device article =
|
||||||
row
|
cardMaker device article.articleName (contentList article) (articleImage article) article.articleLink
|
||||||
topLevelBox
|
|
||||||
[ desktopCardMaker desktopImageBoxSize desktopImageSize (articleImage article) article.articleLink
|
|
||||||
, cardMaker
|
|
||||||
[ cardTitleMaker article.articleName
|
|
||||||
, cardFormatter
|
|
||||||
[ cardContentSpacing
|
|
||||||
[ column
|
|
||||||
fieldSpacer
|
|
||||||
[ articleMaker article ]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
mobileBlogMaker : BlogArticle -> Element msg
|
contentList : BlogArticle -> List (Element msg)
|
||||||
mobileBlogMaker article =
|
contentList article =
|
||||||
row
|
[ articleMaker article ]
|
||||||
topLevelBox
|
|
||||||
[ column [] []
|
|
||||||
, cardMaker
|
|
||||||
[ cardTitleMaker article.articleName
|
|
||||||
, cardFormatter
|
|
||||||
[ cardContentSpacing
|
|
||||||
[ column
|
|
||||||
fieldSpacer
|
|
||||||
[ row [ width fill, spacing 10 ]
|
|
||||||
[ mobileCardMaker mobileImageBoxSize mobileImageSize (articleImage article) article.articleLink
|
|
||||||
, column
|
|
||||||
[ width fill ]
|
|
||||||
[ articleMaker article ]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
articleImage :
|
articleImage :
|
||||||
|
|
|
@ -2,22 +2,6 @@ module Pages.Blog.Bigfatsurprise exposing (Model, Msg, page)
|
||||||
|
|
||||||
import Config.Data.Identity exposing (pageNames)
|
import Config.Data.Identity exposing (pageNames)
|
||||||
import Config.Helpers.Articles.Article exposing (articleMaker)
|
import Config.Helpers.Articles.Article exposing (articleMaker)
|
||||||
import Config.Helpers.CardFormat
|
|
||||||
exposing
|
|
||||||
( cardContentSpacing
|
|
||||||
, cardFormatter
|
|
||||||
, cardMaker
|
|
||||||
, cardSubTitleMaker
|
|
||||||
, cardTitleMaker
|
|
||||||
, desktopCardMaker
|
|
||||||
, desktopImageBoxSize
|
|
||||||
, desktopImageSize
|
|
||||||
, fieldSpacer
|
|
||||||
, mobileCardMaker
|
|
||||||
, mobileImageBoxSize
|
|
||||||
, mobileImageSize
|
|
||||||
, topLevelBox
|
|
||||||
)
|
|
||||||
import Config.Helpers.Headers.Types exposing (Header)
|
import Config.Helpers.Headers.Types exposing (Header)
|
||||||
import Config.Helpers.Response
|
import Config.Helpers.Response
|
||||||
exposing
|
exposing
|
||||||
|
@ -122,7 +106,7 @@ articleList device =
|
||||||
List.concat
|
List.concat
|
||||||
[ (case ( device.class, device.orientation ) of
|
[ (case ( device.class, device.orientation ) of
|
||||||
_ ->
|
_ ->
|
||||||
List.map articleMaker
|
List.map (articleMaker device)
|
||||||
)
|
)
|
||||||
[ articleBigFatSurprise ]
|
[ articleBigFatSurprise ]
|
||||||
]
|
]
|
||||||
|
|
|
@ -2,22 +2,6 @@ module Pages.Blog.Everettvegans exposing (Model, Msg, page)
|
||||||
|
|
||||||
import Config.Data.Identity exposing (pageNames)
|
import Config.Data.Identity exposing (pageNames)
|
||||||
import Config.Helpers.Articles.Article exposing (articleMaker)
|
import Config.Helpers.Articles.Article exposing (articleMaker)
|
||||||
import Config.Helpers.CardFormat
|
|
||||||
exposing
|
|
||||||
( cardContentSpacing
|
|
||||||
, cardFormatter
|
|
||||||
, cardMaker
|
|
||||||
, cardSubTitleMaker
|
|
||||||
, cardTitleMaker
|
|
||||||
, desktopCardMaker
|
|
||||||
, desktopImageBoxSize
|
|
||||||
, desktopImageSize
|
|
||||||
, fieldSpacer
|
|
||||||
, mobileCardMaker
|
|
||||||
, mobileImageBoxSize
|
|
||||||
, mobileImageSize
|
|
||||||
, topLevelBox
|
|
||||||
)
|
|
||||||
import Config.Helpers.Headers.Types exposing (Header)
|
import Config.Helpers.Headers.Types exposing (Header)
|
||||||
import Config.Helpers.Response
|
import Config.Helpers.Response
|
||||||
exposing
|
exposing
|
||||||
|
@ -122,7 +106,7 @@ articleList device =
|
||||||
List.concat
|
List.concat
|
||||||
[ (case ( device.class, device.orientation ) of
|
[ (case ( device.class, device.orientation ) of
|
||||||
_ ->
|
_ ->
|
||||||
List.map articleMaker
|
List.map (articleMaker device)
|
||||||
)
|
)
|
||||||
[ articleEverettVegans ]
|
[ articleEverettVegans ]
|
||||||
]
|
]
|
||||||
|
|
|
@ -2,22 +2,7 @@ module Pages.Blog.Huntergatherers exposing (Model, Msg, page)
|
||||||
|
|
||||||
import Config.Data.Identity exposing (pageNames)
|
import Config.Data.Identity exposing (pageNames)
|
||||||
import Config.Helpers.Articles.Article exposing (articleMaker)
|
import Config.Helpers.Articles.Article exposing (articleMaker)
|
||||||
import Config.Helpers.CardFormat
|
|
||||||
exposing
|
|
||||||
( cardContentSpacing
|
|
||||||
, cardFormatter
|
|
||||||
, cardMaker
|
|
||||||
, cardSubTitleMaker
|
|
||||||
, cardTitleMaker
|
|
||||||
, desktopCardMaker
|
|
||||||
, desktopImageBoxSize
|
|
||||||
, desktopImageSize
|
|
||||||
, fieldSpacer
|
|
||||||
, mobileCardMaker
|
|
||||||
, mobileImageBoxSize
|
|
||||||
, mobileImageSize
|
|
||||||
, topLevelBox
|
|
||||||
)
|
|
||||||
import Config.Helpers.Headers.Types exposing (Header)
|
import Config.Helpers.Headers.Types exposing (Header)
|
||||||
import Config.Helpers.Response
|
import Config.Helpers.Response
|
||||||
exposing
|
exposing
|
||||||
|
@ -122,7 +107,7 @@ articleList device =
|
||||||
List.concat
|
List.concat
|
||||||
[ (case ( device.class, device.orientation ) of
|
[ (case ( device.class, device.orientation ) of
|
||||||
_ ->
|
_ ->
|
||||||
List.map articleMaker
|
List.map (articleMaker device)
|
||||||
)
|
)
|
||||||
[ articleHunterGatherers ]
|
[ articleHunterGatherers ]
|
||||||
]
|
]
|
||||||
|
|
|
@ -2,22 +2,6 @@ module Pages.Blog.Meatapologetics exposing (Model, Msg, page)
|
||||||
|
|
||||||
import Config.Data.Identity exposing (pageNames)
|
import Config.Data.Identity exposing (pageNames)
|
||||||
import Config.Helpers.Articles.Article exposing (articleMaker)
|
import Config.Helpers.Articles.Article exposing (articleMaker)
|
||||||
import Config.Helpers.CardFormat
|
|
||||||
exposing
|
|
||||||
( cardContentSpacing
|
|
||||||
, cardFormatter
|
|
||||||
, cardMaker
|
|
||||||
, cardSubTitleMaker
|
|
||||||
, cardTitleMaker
|
|
||||||
, desktopCardMaker
|
|
||||||
, desktopImageBoxSize
|
|
||||||
, desktopImageSize
|
|
||||||
, fieldSpacer
|
|
||||||
, mobileCardMaker
|
|
||||||
, mobileImageBoxSize
|
|
||||||
, mobileImageSize
|
|
||||||
, topLevelBox
|
|
||||||
)
|
|
||||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||||
import Config.Helpers.Headers.Types exposing (Header)
|
import Config.Helpers.Headers.Types exposing (Header)
|
||||||
import Config.Helpers.Response
|
import Config.Helpers.Response
|
||||||
|
@ -123,7 +107,7 @@ articleList device =
|
||||||
List.concat
|
List.concat
|
||||||
[ (case ( device.class, device.orientation ) of
|
[ (case ( device.class, device.orientation ) of
|
||||||
_ ->
|
_ ->
|
||||||
List.map articleMaker
|
List.map (articleMaker device)
|
||||||
)
|
)
|
||||||
[ articleMeatApologetics ]
|
[ articleMeatApologetics ]
|
||||||
]
|
]
|
||||||
|
|
|
@ -2,22 +2,6 @@ module Pages.Blog.Nagragoodrich exposing (Model, Msg, page)
|
||||||
|
|
||||||
import Config.Data.Identity exposing (pageNames)
|
import Config.Data.Identity exposing (pageNames)
|
||||||
import Config.Helpers.Articles.Article exposing (articleMaker)
|
import Config.Helpers.Articles.Article exposing (articleMaker)
|
||||||
import Config.Helpers.CardFormat
|
|
||||||
exposing
|
|
||||||
( cardContentSpacing
|
|
||||||
, cardFormatter
|
|
||||||
, cardMaker
|
|
||||||
, cardSubTitleMaker
|
|
||||||
, cardTitleMaker
|
|
||||||
, desktopCardMaker
|
|
||||||
, desktopImageBoxSize
|
|
||||||
, desktopImageSize
|
|
||||||
, fieldSpacer
|
|
||||||
, mobileCardMaker
|
|
||||||
, mobileImageBoxSize
|
|
||||||
, mobileImageSize
|
|
||||||
, topLevelBox
|
|
||||||
)
|
|
||||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||||
import Config.Helpers.Headers.Types exposing (Header)
|
import Config.Helpers.Headers.Types exposing (Header)
|
||||||
import Config.Helpers.Response
|
import Config.Helpers.Response
|
||||||
|
@ -123,7 +107,7 @@ articleList device =
|
||||||
List.concat
|
List.concat
|
||||||
[ (case ( device.class, device.orientation ) of
|
[ (case ( device.class, device.orientation ) of
|
||||||
_ ->
|
_ ->
|
||||||
List.map articleMaker
|
List.map (articleMaker device)
|
||||||
)
|
)
|
||||||
[ articleNagraGoodrich ]
|
[ articleNagraGoodrich ]
|
||||||
]
|
]
|
||||||
|
|
|
@ -2,22 +2,6 @@ module Pages.Blog.Plantbasedmeta exposing (Model, Msg, page)
|
||||||
|
|
||||||
import Config.Data.Identity exposing (pageNames)
|
import Config.Data.Identity exposing (pageNames)
|
||||||
import Config.Helpers.Articles.Article exposing (articleMaker)
|
import Config.Helpers.Articles.Article exposing (articleMaker)
|
||||||
import Config.Helpers.CardFormat
|
|
||||||
exposing
|
|
||||||
( cardContentSpacing
|
|
||||||
, cardFormatter
|
|
||||||
, cardMaker
|
|
||||||
, cardSubTitleMaker
|
|
||||||
, cardTitleMaker
|
|
||||||
, desktopCardMaker
|
|
||||||
, desktopImageBoxSize
|
|
||||||
, desktopImageSize
|
|
||||||
, fieldSpacer
|
|
||||||
, mobileCardMaker
|
|
||||||
, mobileImageBoxSize
|
|
||||||
, mobileImageSize
|
|
||||||
, topLevelBox
|
|
||||||
)
|
|
||||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||||
import Config.Helpers.Headers.Types exposing (Header)
|
import Config.Helpers.Headers.Types exposing (Header)
|
||||||
import Config.Helpers.Response
|
import Config.Helpers.Response
|
||||||
|
@ -123,7 +107,7 @@ articleList device =
|
||||||
List.concat
|
List.concat
|
||||||
[ (case ( device.class, device.orientation ) of
|
[ (case ( device.class, device.orientation ) of
|
||||||
_ ->
|
_ ->
|
||||||
List.map articleMaker
|
List.map (articleMaker device)
|
||||||
)
|
)
|
||||||
[ articlePlantBasedMeta ]
|
[ articlePlantBasedMeta ]
|
||||||
]
|
]
|
||||||
|
|
|
@ -2,22 +2,7 @@ module Pages.Blog.Quacksmashing exposing (Model, Msg, page)
|
||||||
|
|
||||||
import Config.Data.Identity exposing (pageNames)
|
import Config.Data.Identity exposing (pageNames)
|
||||||
import Config.Helpers.Articles.Article exposing (articleMaker)
|
import Config.Helpers.Articles.Article exposing (articleMaker)
|
||||||
import Config.Helpers.CardFormat
|
|
||||||
exposing
|
|
||||||
( cardContentSpacing
|
|
||||||
, cardFormatter
|
|
||||||
, cardMaker
|
|
||||||
, cardSubTitleMaker
|
|
||||||
, cardTitleMaker
|
|
||||||
, desktopCardMaker
|
|
||||||
, desktopImageBoxSize
|
|
||||||
, desktopImageSize
|
|
||||||
, fieldSpacer
|
|
||||||
, mobileCardMaker
|
|
||||||
, mobileImageBoxSize
|
|
||||||
, mobileImageSize
|
|
||||||
, topLevelBox
|
|
||||||
)
|
|
||||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||||
import Config.Helpers.Headers.Types exposing (Header)
|
import Config.Helpers.Headers.Types exposing (Header)
|
||||||
import Config.Helpers.Response
|
import Config.Helpers.Response
|
||||||
|
@ -123,7 +108,7 @@ articleList device =
|
||||||
List.concat
|
List.concat
|
||||||
[ (case ( device.class, device.orientation ) of
|
[ (case ( device.class, device.orientation ) of
|
||||||
_ ->
|
_ ->
|
||||||
List.map articleMaker
|
List.map (articleMaker device)
|
||||||
)
|
)
|
||||||
[ articleQuackSmashing ]
|
[ articleQuackSmashing ]
|
||||||
]
|
]
|
||||||
|
|
|
@ -2,22 +2,7 @@ module Pages.Blog.Sapiendiet exposing (Model, Msg, page)
|
||||||
|
|
||||||
import Config.Data.Identity exposing (pageNames)
|
import Config.Data.Identity exposing (pageNames)
|
||||||
import Config.Helpers.Articles.Article exposing (articleMaker)
|
import Config.Helpers.Articles.Article exposing (articleMaker)
|
||||||
import Config.Helpers.CardFormat
|
|
||||||
exposing
|
|
||||||
( cardContentSpacing
|
|
||||||
, cardFormatter
|
|
||||||
, cardMaker
|
|
||||||
, cardSubTitleMaker
|
|
||||||
, cardTitleMaker
|
|
||||||
, desktopCardMaker
|
|
||||||
, desktopImageBoxSize
|
|
||||||
, desktopImageSize
|
|
||||||
, fieldSpacer
|
|
||||||
, mobileCardMaker
|
|
||||||
, mobileImageBoxSize
|
|
||||||
, mobileImageSize
|
|
||||||
, topLevelBox
|
|
||||||
)
|
|
||||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||||
import Config.Helpers.Headers.Types exposing (Header)
|
import Config.Helpers.Headers.Types exposing (Header)
|
||||||
import Config.Helpers.Response
|
import Config.Helpers.Response
|
||||||
|
@ -123,7 +108,7 @@ articleList device =
|
||||||
List.concat
|
List.concat
|
||||||
[ (case ( device.class, device.orientation ) of
|
[ (case ( device.class, device.orientation ) of
|
||||||
_ ->
|
_ ->
|
||||||
List.map articleMaker
|
List.map (articleMaker device)
|
||||||
)
|
)
|
||||||
[ articleSapienDiet ]
|
[ articleSapienDiet ]
|
||||||
]
|
]
|
||||||
|
|
|
@ -2,22 +2,7 @@ module Pages.Blog.Seedoils exposing (Model, Msg, page)
|
||||||
|
|
||||||
import Config.Data.Identity exposing (pageNames)
|
import Config.Data.Identity exposing (pageNames)
|
||||||
import Config.Helpers.Articles.Article exposing (articleMaker)
|
import Config.Helpers.Articles.Article exposing (articleMaker)
|
||||||
import Config.Helpers.CardFormat
|
|
||||||
exposing
|
|
||||||
( cardContentSpacing
|
|
||||||
, cardFormatter
|
|
||||||
, cardMaker
|
|
||||||
, cardSubTitleMaker
|
|
||||||
, cardTitleMaker
|
|
||||||
, desktopCardMaker
|
|
||||||
, desktopImageBoxSize
|
|
||||||
, desktopImageSize
|
|
||||||
, fieldSpacer
|
|
||||||
, mobileCardMaker
|
|
||||||
, mobileImageBoxSize
|
|
||||||
, mobileImageSize
|
|
||||||
, topLevelBox
|
|
||||||
)
|
|
||||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||||
import Config.Helpers.Headers.Types exposing (Header)
|
import Config.Helpers.Headers.Types exposing (Header)
|
||||||
import Config.Helpers.Response
|
import Config.Helpers.Response
|
||||||
|
@ -123,7 +108,7 @@ articleList device =
|
||||||
List.concat
|
List.concat
|
||||||
[ (case ( device.class, device.orientation ) of
|
[ (case ( device.class, device.orientation ) of
|
||||||
_ ->
|
_ ->
|
||||||
List.map articleMaker
|
List.map (articleMaker device)
|
||||||
)
|
)
|
||||||
[ articleSeedOils ]
|
[ articleSeedOils ]
|
||||||
]
|
]
|
||||||
|
|
|
@ -2,22 +2,7 @@ module Pages.Blog.Shenanigans exposing (Model, Msg, page)
|
||||||
|
|
||||||
import Config.Data.Identity exposing (pageNames)
|
import Config.Data.Identity exposing (pageNames)
|
||||||
import Config.Helpers.Articles.Article exposing (articleMaker)
|
import Config.Helpers.Articles.Article exposing (articleMaker)
|
||||||
import Config.Helpers.CardFormat
|
|
||||||
exposing
|
|
||||||
( cardContentSpacing
|
|
||||||
, cardFormatter
|
|
||||||
, cardMaker
|
|
||||||
, cardSubTitleMaker
|
|
||||||
, cardTitleMaker
|
|
||||||
, desktopCardMaker
|
|
||||||
, desktopImageBoxSize
|
|
||||||
, desktopImageSize
|
|
||||||
, fieldSpacer
|
|
||||||
, mobileCardMaker
|
|
||||||
, mobileImageBoxSize
|
|
||||||
, mobileImageSize
|
|
||||||
, topLevelBox
|
|
||||||
)
|
|
||||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||||
import Config.Helpers.Headers.Types exposing (Header)
|
import Config.Helpers.Headers.Types exposing (Header)
|
||||||
import Config.Helpers.Response
|
import Config.Helpers.Response
|
||||||
|
@ -123,7 +108,7 @@ articleList device =
|
||||||
List.concat
|
List.concat
|
||||||
[ (case ( device.class, device.orientation ) of
|
[ (case ( device.class, device.orientation ) of
|
||||||
_ ->
|
_ ->
|
||||||
List.map articleMaker
|
List.map (articleMaker device)
|
||||||
)
|
)
|
||||||
[ articleShenanigans ]
|
[ articleShenanigans ]
|
||||||
]
|
]
|
||||||
|
|
|
@ -2,22 +2,6 @@ module Pages.Blog.Sweetdeception exposing (Model, Msg, page)
|
||||||
|
|
||||||
import Config.Data.Identity exposing (pageNames)
|
import Config.Data.Identity exposing (pageNames)
|
||||||
import Config.Helpers.Articles.Article exposing (articleMaker)
|
import Config.Helpers.Articles.Article exposing (articleMaker)
|
||||||
import Config.Helpers.CardFormat
|
|
||||||
exposing
|
|
||||||
( cardContentSpacing
|
|
||||||
, cardFormatter
|
|
||||||
, cardMaker
|
|
||||||
, cardSubTitleMaker
|
|
||||||
, cardTitleMaker
|
|
||||||
, desktopCardMaker
|
|
||||||
, desktopImageBoxSize
|
|
||||||
, desktopImageSize
|
|
||||||
, fieldSpacer
|
|
||||||
, mobileCardMaker
|
|
||||||
, mobileImageBoxSize
|
|
||||||
, mobileImageSize
|
|
||||||
, topLevelBox
|
|
||||||
)
|
|
||||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||||
import Config.Helpers.Headers.Types exposing (Header)
|
import Config.Helpers.Headers.Types exposing (Header)
|
||||||
import Config.Helpers.Response
|
import Config.Helpers.Response
|
||||||
|
@ -123,7 +107,7 @@ articleList device =
|
||||||
List.concat
|
List.concat
|
||||||
[ (case ( device.class, device.orientation ) of
|
[ (case ( device.class, device.orientation ) of
|
||||||
_ ->
|
_ ->
|
||||||
List.map articleMaker
|
List.map (articleMaker device)
|
||||||
)
|
)
|
||||||
[ articleSweetDeception ]
|
[ articleSweetDeception ]
|
||||||
]
|
]
|
||||||
|
|
|
@ -1,22 +1,7 @@
|
||||||
module Pages.Contact exposing (Model, Msg, page)
|
module Pages.Contact exposing (Model, Msg, page)
|
||||||
|
|
||||||
import Config.Data.Identity exposing (pageNames)
|
import Config.Data.Identity exposing (pageNames)
|
||||||
import Config.Helpers.CardFormat
|
import Config.Helpers.CardFormat exposing (cardMaker)
|
||||||
exposing
|
|
||||||
( cardContentSpacing
|
|
||||||
, cardFormatter
|
|
||||||
, cardMaker
|
|
||||||
, cardSubTitleMaker
|
|
||||||
, cardTitleMaker
|
|
||||||
, desktopCardMaker
|
|
||||||
, desktopImageBoxSize
|
|
||||||
, desktopImageSize
|
|
||||||
, fieldSpacer
|
|
||||||
, mobileCardMaker
|
|
||||||
, mobileImageBoxSize
|
|
||||||
, mobileImageSize
|
|
||||||
, topLevelBox
|
|
||||||
)
|
|
||||||
import Config.Helpers.Format exposing (..)
|
import Config.Helpers.Format exposing (..)
|
||||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||||
import Config.Helpers.Headers.Types exposing (Header)
|
import Config.Helpers.Headers.Types exposing (Header)
|
||||||
|
@ -131,42 +116,29 @@ contactContainer device =
|
||||||
|
|
||||||
contactList : Device -> Element msg
|
contactList : Device -> Element msg
|
||||||
contactList device =
|
contactList device =
|
||||||
column pageList <|
|
column
|
||||||
|
(case ( device.class, device.orientation ) of
|
||||||
|
_ ->
|
||||||
|
pageList
|
||||||
|
)
|
||||||
|
<|
|
||||||
List.concat
|
List.concat
|
||||||
(case ( device.class, device.orientation ) of
|
[ (case ( device.class, device.orientation ) of
|
||||||
_ ->
|
_ ->
|
||||||
[ [ instructionMaker ] ]
|
List.map (contactMaker device)
|
||||||
)
|
)
|
||||||
|
[]
|
||||||
|
|
||||||
contactHeader : Header
|
|
||||||
contactHeader =
|
|
||||||
let
|
|
||||||
name =
|
|
||||||
"Contact"
|
|
||||||
in
|
|
||||||
{ headerTitle = String.toUpper name
|
|
||||||
, headerBody = "fasdklfjasdlk;fjasdl;fjasdfl;kasjdfl;askdja;lsdkjas;ldfj"
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
instructionMaker : Element msg
|
|
||||||
instructionMaker =
|
|
||||||
row
|
|
||||||
topLevelBox
|
|
||||||
[ cardMaker
|
|
||||||
[ cardTitleMaker (String.toUpper pageNames.pageContact)
|
|
||||||
, cardFormatter
|
|
||||||
[ cardContentSpacing
|
|
||||||
[ column
|
|
||||||
fieldSpacer
|
|
||||||
[ cardSubTitleMaker
|
|
||||||
[ instructionBody ]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
]
|
||||||
]
|
|
||||||
|
|
||||||
|
contactMaker : Device -> Contact -> Element msg
|
||||||
|
contactMaker device contact =
|
||||||
|
cardMaker device contact.contactName (contentList contact) { description = "", src = "" } contact.contactLink
|
||||||
|
|
||||||
|
|
||||||
|
contentList : Contact -> List (Element msg)
|
||||||
|
contentList contact =
|
||||||
|
[ instructionBody ]
|
||||||
|
|
||||||
|
|
||||||
instructionBody : Element msg
|
instructionBody : Element msg
|
||||||
|
|
|
@ -11,21 +11,7 @@ import Config.Data.Identity
|
||||||
exposing
|
exposing
|
||||||
( pageNames
|
( pageNames
|
||||||
)
|
)
|
||||||
import Config.Helpers.CardFormat
|
import Config.Helpers.CardFormat exposing (cardMaker)
|
||||||
exposing
|
|
||||||
( cardContentSpacing
|
|
||||||
, cardFormatter
|
|
||||||
, cardMaker
|
|
||||||
, cardTitleMaker
|
|
||||||
, desktopCardMaker
|
|
||||||
, desktopImageBoxSize
|
|
||||||
, desktopImageSize
|
|
||||||
, fieldSpacer
|
|
||||||
, mobileCardMaker
|
|
||||||
, mobileImageBoxSize
|
|
||||||
, mobileImageSize
|
|
||||||
, topLevelBox
|
|
||||||
)
|
|
||||||
import Config.Helpers.Converters exposing (formatName)
|
import Config.Helpers.Converters exposing (formatName)
|
||||||
import Config.Helpers.Format
|
import Config.Helpers.Format
|
||||||
exposing
|
exposing
|
||||||
|
@ -155,17 +141,11 @@ debateList device =
|
||||||
)
|
)
|
||||||
<|
|
<|
|
||||||
List.concat
|
List.concat
|
||||||
[ List.map headerMaker
|
[ List.map (headerMaker device)
|
||||||
[ debateHeader ]
|
[ debateHeader ]
|
||||||
, (case ( device.class, device.orientation ) of
|
, (case ( device.class, device.orientation ) of
|
||||||
( Phone, Portrait ) ->
|
|
||||||
List.map mobileDebateMaker
|
|
||||||
|
|
||||||
( Tablet, Portrait ) ->
|
|
||||||
List.map mobileDebateMaker
|
|
||||||
|
|
||||||
_ ->
|
_ ->
|
||||||
List.map desktopDebateMaker
|
List.map (debateMaker device)
|
||||||
)
|
)
|
||||||
[ debateArguments
|
[ debateArguments
|
||||||
, debateCuckList
|
, debateCuckList
|
||||||
|
@ -185,46 +165,14 @@ debateHeader =
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
desktopDebateMaker : Debate -> Element msg
|
debateMaker : Device -> Debate -> Element msg
|
||||||
desktopDebateMaker debate =
|
debateMaker device debate =
|
||||||
row
|
cardMaker device debate.debateTitle (contentList debate) (debateImage debate) debate.debateLink
|
||||||
topLevelBox
|
|
||||||
[ desktopCardMaker desktopImageBoxSize desktopImageSize (debateImage debate) debate.debateLink
|
|
||||||
, cardMaker
|
|
||||||
[ cardTitleMaker debate.debateTitle
|
|
||||||
, cardFormatter
|
|
||||||
[ cardContentSpacing
|
|
||||||
[ column
|
|
||||||
fieldSpacer
|
|
||||||
[ descriptionMaker debate ]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
mobileDebateMaker : Debate -> Element msg
|
contentList : Debate -> List (Element msg)
|
||||||
mobileDebateMaker debate =
|
contentList debate =
|
||||||
row
|
[ descriptionMaker debate ]
|
||||||
topLevelBox
|
|
||||||
[ column [] []
|
|
||||||
, cardMaker
|
|
||||||
[ cardTitleMaker debate.debateTitle
|
|
||||||
, cardFormatter
|
|
||||||
[ cardContentSpacing
|
|
||||||
[ column
|
|
||||||
fieldSpacer
|
|
||||||
[ row [ width fill, spacing 10 ]
|
|
||||||
[ mobileCardMaker mobileImageBoxSize mobileImageSize (debateImage debate) debate.debateLink
|
|
||||||
, column
|
|
||||||
[ width fill ]
|
|
||||||
[ descriptionMaker debate ]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
debateImage :
|
debateImage :
|
||||||
|
|
|
@ -1,21 +1,7 @@
|
||||||
module Pages.Debate.Arguments exposing (Model, Msg, page)
|
module Pages.Debate.Arguments exposing (Model, Msg, page)
|
||||||
|
|
||||||
import Config.Data.Identity exposing (pageNames)
|
import Config.Data.Identity exposing (pageNames)
|
||||||
import Config.Helpers.CardFormat
|
import Config.Helpers.CardFormat exposing (cardMaker)
|
||||||
exposing
|
|
||||||
( cardContentSpacing
|
|
||||||
, cardFormatter
|
|
||||||
, cardMaker
|
|
||||||
, cardTitleMaker
|
|
||||||
, desktopCardMaker
|
|
||||||
, desktopImageBoxSize
|
|
||||||
, desktopImageSize
|
|
||||||
, fieldSpacer
|
|
||||||
, mobileCardMaker
|
|
||||||
, mobileImageBoxSize
|
|
||||||
, mobileImageSize
|
|
||||||
, topLevelBox
|
|
||||||
)
|
|
||||||
import Config.Helpers.Converters exposing (toTitleCase)
|
import Config.Helpers.Converters exposing (toTitleCase)
|
||||||
import Config.Helpers.Format
|
import Config.Helpers.Format
|
||||||
exposing
|
exposing
|
||||||
|
@ -150,17 +136,11 @@ debateList device =
|
||||||
)
|
)
|
||||||
<|
|
<|
|
||||||
List.concat
|
List.concat
|
||||||
[ List.map headerMaker
|
[ List.map (headerMaker device)
|
||||||
[ argumentHeader ]
|
[ argumentHeader ]
|
||||||
, (case ( device.class, device.orientation ) of
|
, (case ( device.class, device.orientation ) of
|
||||||
( Phone, Portrait ) ->
|
|
||||||
List.map argumentMakerMobile
|
|
||||||
|
|
||||||
( Tablet, Portrait ) ->
|
|
||||||
List.map argumentMakerMobile
|
|
||||||
|
|
||||||
_ ->
|
_ ->
|
||||||
List.map argumentMaker
|
List.map (argumentMaker device)
|
||||||
)
|
)
|
||||||
argumentList
|
argumentList
|
||||||
]
|
]
|
||||||
|
@ -177,60 +157,18 @@ argumentHeader =
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
argumentMaker : Argument -> Element msg
|
argumentMaker : Device -> Argument -> Element msg
|
||||||
argumentMaker argument =
|
argumentMaker device argument =
|
||||||
row
|
cardMaker device argument.argumentTitle (contentList argument) (argumentImage argument) argument.proofLink
|
||||||
topLevelBox
|
|
||||||
[ desktopCardMaker desktopImageBoxSize desktopImageSize (argumentImage argument) (argumentLink argument)
|
|
||||||
, cardMaker
|
|
||||||
[ cardTitleMaker argument.argumentTitle
|
|
||||||
, cardFormatter
|
|
||||||
[ cardContentSpacing
|
|
||||||
[ column
|
|
||||||
fieldSpacer
|
|
||||||
[ -- propositionMakerDesktop argument
|
|
||||||
-- , reductioMakerDesktop argument
|
|
||||||
-- ,
|
|
||||||
summaryMakerDesktop argument
|
|
||||||
, strengthBar argument
|
|
||||||
, tableMaker argument
|
|
||||||
, desktopFormalizationMaker argument
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
argumentMakerMobile : Argument -> Element msg
|
contentList : Argument -> List (Element msg)
|
||||||
argumentMakerMobile argument =
|
contentList argument =
|
||||||
row
|
[ summaryMakerDesktop argument
|
||||||
topLevelBox
|
, strengthBar argument
|
||||||
[ column [] []
|
, tableMaker argument
|
||||||
, cardMaker
|
, desktopFormalizationMaker argument
|
||||||
[ cardTitleMaker argument.argumentTitle
|
]
|
||||||
, cardFormatter
|
|
||||||
[ cardContentSpacing
|
|
||||||
[ column
|
|
||||||
fieldSpacer
|
|
||||||
[ row [ spacing 10, E.width fill ]
|
|
||||||
[ mobileCardMaker mobileImageBoxSize mobileImageSize (argumentImage argument) (argumentLink argument)
|
|
||||||
|
|
||||||
-- , column [ E.width fill ]
|
|
||||||
-- [ propositionMakerMobile argument
|
|
||||||
-- ]
|
|
||||||
]
|
|
||||||
|
|
||||||
-- , reductioMakerMobile argument
|
|
||||||
, summaryMakerMobile argument
|
|
||||||
, strengthBar argument
|
|
||||||
, tableMaker argument
|
|
||||||
, mobileFormalizationMaker argument
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
argumentImage : Argument -> { src : String, description : String }
|
argumentImage : Argument -> { src : String, description : String }
|
||||||
|
@ -240,11 +178,6 @@ argumentImage argument =
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
argumentLink : Argument -> String
|
|
||||||
argumentLink argument =
|
|
||||||
argument.proofLink
|
|
||||||
|
|
||||||
|
|
||||||
infoSpacing =
|
infoSpacing =
|
||||||
E.width <| px 100
|
E.width <| px 100
|
||||||
|
|
||||||
|
|
|
@ -1,21 +1,7 @@
|
||||||
module Pages.Debate.Cucklist exposing (Model, Msg, page)
|
module Pages.Debate.Cucklist exposing (Model, Msg, page)
|
||||||
|
|
||||||
import Config.Data.Identity exposing (pageNames)
|
import Config.Data.Identity exposing (pageNames)
|
||||||
import Config.Helpers.CardFormat
|
import Config.Helpers.CardFormat exposing (cardMaker)
|
||||||
exposing
|
|
||||||
( cardContentSpacing
|
|
||||||
, cardFormatter
|
|
||||||
, cardMaker
|
|
||||||
, cardTitleMaker
|
|
||||||
, desktopCardMaker
|
|
||||||
, desktopImageBoxSize
|
|
||||||
, desktopImageSize
|
|
||||||
, fieldSpacer
|
|
||||||
, mobileCardMaker
|
|
||||||
, mobileImageBoxSize
|
|
||||||
, mobileImageSize
|
|
||||||
, topLevelBox
|
|
||||||
)
|
|
||||||
import Config.Helpers.Converters exposing (formatSocial)
|
import Config.Helpers.Converters exposing (formatSocial)
|
||||||
import Config.Helpers.Format
|
import Config.Helpers.Format
|
||||||
exposing
|
exposing
|
||||||
|
@ -143,17 +129,11 @@ cucksList device =
|
||||||
)
|
)
|
||||||
<|
|
<|
|
||||||
List.concat
|
List.concat
|
||||||
[ List.map headerMaker
|
[ List.map (headerMaker device)
|
||||||
[ cuckListHeader ]
|
[ cuckListHeader ]
|
||||||
, (case ( device.class, device.orientation ) of
|
, (case ( device.class, device.orientation ) of
|
||||||
( Phone, Portrait ) ->
|
|
||||||
List.map mobileCuckMaker
|
|
||||||
|
|
||||||
( Tablet, Portrait ) ->
|
|
||||||
List.map mobileCuckMaker
|
|
||||||
|
|
||||||
_ ->
|
_ ->
|
||||||
List.map desktopCuckMaker
|
List.map (cuckMaker device)
|
||||||
)
|
)
|
||||||
cuckList
|
cuckList
|
||||||
]
|
]
|
||||||
|
@ -170,56 +150,17 @@ cuckListHeader =
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
desktopCuckMaker : Cuck -> Element msg
|
cuckMaker : Device -> Cuck -> Element msg
|
||||||
desktopCuckMaker cuck =
|
cuckMaker device cuck =
|
||||||
row
|
cardMaker device cuck.cuckName (contentList cuck) (cuckImage cuck) cuck.cuckSocial
|
||||||
topLevelBox
|
|
||||||
[ desktopCardMaker desktopImageBoxSize desktopImageSize (cuckImage cuck) (cuckSocial cuck)
|
|
||||||
, cardMaker
|
|
||||||
[ cardTitleMaker (cuckTitle cuck)
|
|
||||||
, cardFormatter
|
|
||||||
[ cardContentSpacing
|
|
||||||
[ column
|
|
||||||
fieldSpacer
|
|
||||||
[ socialMaker cuck
|
|
||||||
, dodgeTitle cuck
|
|
||||||
, dodgeMaker cuck
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
mobileCuckMaker : Cuck -> Element msg
|
contentList : Cuck -> List (Element msg)
|
||||||
mobileCuckMaker cuck =
|
contentList cuck =
|
||||||
column
|
[ socialMaker cuck
|
||||||
topLevelBox
|
, dodgeTitle cuck
|
||||||
[ column [] []
|
, dodgeMaker cuck
|
||||||
, cardMaker
|
]
|
||||||
[ cardTitleMaker (cuckTitle cuck)
|
|
||||||
, cardFormatter
|
|
||||||
[ cardContentSpacing
|
|
||||||
[ column
|
|
||||||
fieldSpacer
|
|
||||||
[ column
|
|
||||||
[ alignTop
|
|
||||||
, centerX
|
|
||||||
, alignLeft
|
|
||||||
, spacing 3
|
|
||||||
]
|
|
||||||
[ row [ spacing 10 ]
|
|
||||||
[ mobileCardMaker mobileImageBoxSize mobileImageSize (cuckImage cuck) (cuckSocial cuck)
|
|
||||||
, socialMaker cuck
|
|
||||||
]
|
|
||||||
, dodgeTitle cuck
|
|
||||||
, dodgeMaker cuck
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
cuckImage :
|
cuckImage :
|
||||||
|
@ -234,16 +175,6 @@ cuckImage cuck =
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
cuckTitle : Cuck -> String
|
|
||||||
cuckTitle cuck =
|
|
||||||
cuck.cuckName
|
|
||||||
|
|
||||||
|
|
||||||
cuckSocial : Cuck -> String
|
|
||||||
cuckSocial cuck =
|
|
||||||
cuck.cuckSocial
|
|
||||||
|
|
||||||
|
|
||||||
dodgeMaker : Cuck -> Element msg
|
dodgeMaker : Cuck -> Element msg
|
||||||
dodgeMaker cuck =
|
dodgeMaker cuck =
|
||||||
column
|
column
|
||||||
|
@ -418,6 +349,7 @@ circumstance cuck dodge =
|
||||||
text "Chose to gesture vaguely instead of engaging"
|
text "Chose to gesture vaguely instead of engaging"
|
||||||
, el [ F.color colourTheme.textLightGrey ] <|
|
, el [ F.color colourTheme.textLightGrey ] <|
|
||||||
text "."
|
text "."
|
||||||
|
|
||||||
-- , receipts cuck dodge
|
-- , receipts cuck dodge
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
|
@ -1,21 +1,7 @@
|
||||||
module Pages.Debate.Gibberish exposing (Model, Msg, page)
|
module Pages.Debate.Gibberish exposing (Model, Msg, page)
|
||||||
|
|
||||||
import Config.Data.Identity exposing (pageNames)
|
import Config.Data.Identity exposing (pageNames)
|
||||||
import Config.Helpers.CardFormat
|
import Config.Helpers.CardFormat exposing (cardMaker)
|
||||||
exposing
|
|
||||||
( cardContentSpacing
|
|
||||||
, cardFormatter
|
|
||||||
, cardMaker
|
|
||||||
, cardTitleMaker
|
|
||||||
, desktopCardMaker
|
|
||||||
, desktopImageBoxSize
|
|
||||||
, desktopImageSize
|
|
||||||
, fieldSpacer
|
|
||||||
, mobileCardMaker
|
|
||||||
, mobileImageBoxSize
|
|
||||||
, mobileImageSize
|
|
||||||
, topLevelBox
|
|
||||||
)
|
|
||||||
import Config.Helpers.Converters exposing (toTitleCase)
|
import Config.Helpers.Converters exposing (toTitleCase)
|
||||||
import Config.Helpers.Format
|
import Config.Helpers.Format
|
||||||
exposing
|
exposing
|
||||||
|
@ -148,17 +134,11 @@ gibberishList device =
|
||||||
)
|
)
|
||||||
<|
|
<|
|
||||||
List.concat
|
List.concat
|
||||||
[ List.map headerMaker
|
[ List.map (headerMaker device)
|
||||||
[ gibberishHeader ]
|
[ gibberishHeader ]
|
||||||
, (case ( device.class, device.orientation ) of
|
, (case ( device.class, device.orientation ) of
|
||||||
( Phone, Portrait ) ->
|
|
||||||
List.map mobileGibberishMaker
|
|
||||||
|
|
||||||
( Tablet, Portrait ) ->
|
|
||||||
List.map mobileGibberishMaker
|
|
||||||
|
|
||||||
_ ->
|
_ ->
|
||||||
List.map desktopGibberishMaker
|
List.map (gibberishMaker device)
|
||||||
)
|
)
|
||||||
[ epistemologyGibberish
|
[ epistemologyGibberish
|
||||||
, theologyGibberish
|
, theologyGibberish
|
||||||
|
@ -182,47 +162,34 @@ gibberishHeader =
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
desktopGibberishMaker : Gibberish -> Element msg
|
gibberishMaker : Device -> Gibberish -> Element msg
|
||||||
desktopGibberishMaker gibberish =
|
gibberishMaker device gibberish =
|
||||||
row
|
cardMaker device gibberish.gibberishTitle (contentList gibberish) (gibberishImage gibberish) gibberish.gibberishLink
|
||||||
topLevelBox
|
|
||||||
[ desktopCardMaker desktopImageBoxSize desktopImageSize (gibberishImage gibberish) gibberish.gibberishLink
|
|
||||||
, cardMaker
|
|
||||||
[ cardTitleMaker (gibberishTitle gibberish)
|
|
||||||
, cardFormatter
|
|
||||||
[ column [ spacing 20, padding 10 ]
|
|
||||||
[ descriptionMaker gibberish
|
|
||||||
, gibberishMakerBody gibberish
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
mobileGibberishMaker : Gibberish -> Element msg
|
contentList : Gibberish -> List (Element msg)
|
||||||
mobileGibberishMaker gibberish =
|
contentList gibberish =
|
||||||
row
|
[ descriptionMaker gibberish
|
||||||
topLevelBox
|
, gibberishMakerBody gibberish
|
||||||
[ cardMaker
|
]
|
||||||
[ cardTitleMaker (gibberishTitle gibberish)
|
|
||||||
, cardFormatter
|
|
||||||
[ row [ spacing 20, padding 10 ]
|
|
||||||
[ column [] [ mobileCardMaker mobileImageBoxSize mobileImageSize (gibberishImage gibberish) gibberish.gibberishLink ]
|
|
||||||
, column [ width fill ]
|
|
||||||
[ descriptionMaker gibberish
|
|
||||||
]
|
|
||||||
]
|
|
||||||
, domainList gibberish
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
gibberishMakerBody : Gibberish -> Element msg
|
gibberishMakerBody : Gibberish -> Element msg
|
||||||
gibberishMakerBody gibberish =
|
gibberishMakerBody gibberish =
|
||||||
cardContentSpacing
|
column
|
||||||
|
[ paddingEach
|
||||||
|
{ top = 0
|
||||||
|
, bottom = 0
|
||||||
|
, left = 15
|
||||||
|
, right = 15
|
||||||
|
}
|
||||||
|
, spacing 8
|
||||||
|
, width fill
|
||||||
|
]
|
||||||
[ column
|
[ column
|
||||||
fieldSpacer
|
[ spacing 8
|
||||||
|
, width fill
|
||||||
|
]
|
||||||
[ paragraph
|
[ paragraph
|
||||||
[ F.color colourTheme.textLightGrey
|
[ F.color colourTheme.textLightGrey
|
||||||
, paragraphSpacing
|
, paragraphSpacing
|
||||||
|
|
|
@ -1,21 +1,7 @@
|
||||||
module Pages.Donate exposing (Model, Msg, page)
|
module Pages.Donate exposing (Model, Msg, page)
|
||||||
|
|
||||||
import Config.Data.Identity as I exposing (..)
|
import Config.Data.Identity as I exposing (..)
|
||||||
import Config.Helpers.CardFormat
|
import Config.Helpers.CardFormat exposing (cardMaker)
|
||||||
exposing
|
|
||||||
( cardContentSpacing
|
|
||||||
, cardFormatter
|
|
||||||
, cardMaker
|
|
||||||
, cardTitleMaker
|
|
||||||
, desktopCardMaker
|
|
||||||
, desktopImageBoxSize
|
|
||||||
, desktopImageSize
|
|
||||||
, fieldSpacer
|
|
||||||
, mobileCardMaker
|
|
||||||
, mobileImageBoxSize
|
|
||||||
, mobileImageSize
|
|
||||||
, topLevelBox
|
|
||||||
)
|
|
||||||
import Config.Helpers.Format
|
import Config.Helpers.Format
|
||||||
exposing
|
exposing
|
||||||
( headerFontSizeSmall
|
( headerFontSizeSmall
|
||||||
|
@ -145,17 +131,11 @@ donateList device =
|
||||||
)
|
)
|
||||||
<|
|
<|
|
||||||
List.concat
|
List.concat
|
||||||
[ List.map headerMaker
|
[ List.map (headerMaker device)
|
||||||
[ donateHeader ]
|
[ donateHeader ]
|
||||||
, (case ( device.class, device.orientation ) of
|
, (case ( device.class, device.orientation ) of
|
||||||
( Phone, Portrait ) ->
|
|
||||||
List.map (\donate -> donateMakerMobile donate device)
|
|
||||||
|
|
||||||
( Tablet, Portrait ) ->
|
|
||||||
List.map (\donate -> donateMakerMobile donate device)
|
|
||||||
|
|
||||||
_ ->
|
_ ->
|
||||||
List.map (\donate -> donateMaker donate device)
|
List.map (\donate -> donateMaker device donate)
|
||||||
)
|
)
|
||||||
[ donateLiberaPay
|
[ donateLiberaPay
|
||||||
, donateStripe
|
, donateStripe
|
||||||
|
@ -179,63 +159,21 @@ donateHeader =
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
donateMaker : Donate -> Device -> Element msg
|
donateMaker : Device -> Donate -> Element msg
|
||||||
donateMaker donate device =
|
donateMaker device donate =
|
||||||
row
|
cardMaker device donate.donateName (contentList device donate) (donateImage donate) donate.donateLink
|
||||||
topLevelBox
|
|
||||||
[ desktopCardMaker desktopImageBoxSize desktopImageSize (donateImage donate) donate.donateLink
|
|
||||||
, cardMaker
|
|
||||||
[ cardTitleMaker donate.donateName
|
|
||||||
, cardFormatter
|
|
||||||
[ cardContentSpacing
|
|
||||||
[ column
|
|
||||||
fieldSpacer
|
|
||||||
[ feeMaker donate
|
|
||||||
, preferenceMaker donate
|
|
||||||
, tableMaker donate device
|
|
||||||
, proTitleMaker donate
|
|
||||||
, proMaker donate
|
|
||||||
, conTitleMaker donate
|
|
||||||
, conMaker donate
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
donateMakerMobile : Donate -> Device -> Element msg
|
contentList : Device -> Donate -> List (Element msg)
|
||||||
donateMakerMobile donate device =
|
contentList device donate =
|
||||||
row
|
[ feeMaker donate
|
||||||
topLevelBox
|
, preferenceMaker donate
|
||||||
[ column [] []
|
, tableMaker donate device
|
||||||
, cardMaker
|
, proTitleMaker donate
|
||||||
[ cardTitleMaker donate.donateName
|
, proMaker donate
|
||||||
, cardFormatter
|
, conTitleMaker donate
|
||||||
[ cardContentSpacing
|
, conMaker donate
|
||||||
[ column
|
]
|
||||||
fieldSpacer
|
|
||||||
[ row [ width fill, spacing 10 ]
|
|
||||||
[ mobileCardMaker mobileImageBoxSize
|
|
||||||
mobileImageSize
|
|
||||||
(donateImage donate)
|
|
||||||
donate.donateLink
|
|
||||||
, column
|
|
||||||
[ width fill ]
|
|
||||||
[ feeMaker donate
|
|
||||||
, preferenceMaker donate
|
|
||||||
]
|
|
||||||
]
|
|
||||||
, tableMaker donate device
|
|
||||||
, proTitleMaker donate
|
|
||||||
, proMaker donate
|
|
||||||
, conTitleMaker donate
|
|
||||||
, conMaker donate
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
donateImage :
|
donateImage :
|
||||||
|
|
|
@ -120,39 +120,56 @@ homeList device =
|
||||||
column pageListCenter
|
column pageListCenter
|
||||||
[ case device.class of
|
[ case device.class of
|
||||||
Desktop ->
|
Desktop ->
|
||||||
desktopHomePage
|
homePage device upRootLarge
|
||||||
|
|
||||||
BigDesktop ->
|
BigDesktop ->
|
||||||
desktopHomePage
|
homePage device upRootLarge
|
||||||
|
|
||||||
Tablet ->
|
Tablet ->
|
||||||
case device.orientation of
|
case device.orientation of
|
||||||
Portrait ->
|
_ ->
|
||||||
mobileLargeHomePage
|
homePage device upRootMedium
|
||||||
|
|
||||||
Landscape ->
|
|
||||||
mobileLargeHomePage
|
|
||||||
|
|
||||||
Phone ->
|
Phone ->
|
||||||
case device.orientation of
|
case device.orientation of
|
||||||
Portrait ->
|
_ ->
|
||||||
mobileSmallHomePage
|
homePage device upRootSmall
|
||||||
|
|
||||||
Landscape ->
|
|
||||||
mobileSmallHomePage
|
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
homePage : Html msg -> Element msg
|
homePage : Device -> Html msg -> Element msg
|
||||||
homePage image =
|
homePage device image =
|
||||||
column
|
column
|
||||||
[ centerX
|
[ centerX
|
||||||
, centerY
|
, centerY
|
||||||
, E.spacing 20
|
, E.spacing 20
|
||||||
|
, E.width (E.fill |> minimum 100)
|
||||||
|
, E.width (E.fill |> maximum 875)
|
||||||
]
|
]
|
||||||
[ el [ centerX, E.width E.fill, E.height <| px 100 ] <|
|
[ el
|
||||||
|
[ centerX
|
||||||
|
, E.width <|
|
||||||
|
px <|
|
||||||
|
case device.class of
|
||||||
|
Desktop ->
|
||||||
|
675
|
||||||
|
|
||||||
|
BigDesktop ->
|
||||||
|
675
|
||||||
|
|
||||||
|
Tablet ->
|
||||||
|
case device.orientation of
|
||||||
|
_ ->
|
||||||
|
300
|
||||||
|
|
||||||
|
Phone ->
|
||||||
|
case device.orientation of
|
||||||
|
_ ->
|
||||||
|
150
|
||||||
|
]
|
||||||
|
<|
|
||||||
html image
|
html image
|
||||||
, column
|
, el
|
||||||
[ paddingEach
|
[ paddingEach
|
||||||
{ top = 15
|
{ top = 15
|
||||||
, bottom = 15
|
, bottom = 15
|
||||||
|
@ -165,40 +182,12 @@ homePage image =
|
||||||
, E.width E.fill
|
, E.width E.fill
|
||||||
, E.spacing 8
|
, E.spacing 8
|
||||||
]
|
]
|
||||||
[ paragraph
|
<|
|
||||||
([ F.color colourTheme.textLightGrey
|
paragraph
|
||||||
, paragraphSpacing
|
[ F.color colourTheme.textLightGrey
|
||||||
, paragraphFontSize
|
, paragraphSpacing
|
||||||
]
|
, paragraphFontSize
|
||||||
++ [ centerX ]
|
, centerX
|
||||||
)
|
]
|
||||||
[ text "upRootNutrition is an open source project, created by Nick Hiebert, designed to elevate the quality of nutrition science communication in online discourse. By applying more rigorous systems of reasoning, such as formal logic and semantic analysis, upRootNutrition aims to cut through the misinformation and sophistry that are endemic on social media." ]
|
[ text "upRootNutrition is an open source project, created by Nick Hiebert, designed to elevate the quality of nutrition science communication in online discourse. By applying more rigorous systems of reasoning, such as formal logic and semantic analysis, upRootNutrition aims to cut through the misinformation and sophistry that are endemic on social media." ]
|
||||||
]
|
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
desktopHomePageImage : Html msg
|
|
||||||
desktopHomePageImage =
|
|
||||||
upRootLarge
|
|
||||||
|
|
||||||
|
|
||||||
mobileLargeHomePageImage : Html msg
|
|
||||||
mobileLargeHomePageImage =
|
|
||||||
upRootMedium
|
|
||||||
|
|
||||||
|
|
||||||
mobileSmallHomePageImage : Html msg
|
|
||||||
mobileSmallHomePageImage =
|
|
||||||
upRootSmall
|
|
||||||
|
|
||||||
|
|
||||||
desktopHomePage =
|
|
||||||
homePage desktopHomePageImage
|
|
||||||
|
|
||||||
|
|
||||||
mobileLargeHomePage =
|
|
||||||
homePage mobileLargeHomePageImage
|
|
||||||
|
|
||||||
|
|
||||||
mobileSmallHomePage =
|
|
||||||
homePage mobileSmallHomePageImage
|
|
||||||
|
|
|
@ -1,25 +1,12 @@
|
||||||
module Pages.Interviews exposing (Model, Msg, page)
|
module Pages.Interviews exposing (Model, Msg, page)
|
||||||
|
|
||||||
import Config.Data.Identity exposing (pageNames)
|
import Config.Data.Identity exposing (pageNames)
|
||||||
import Config.Helpers.CardFormat
|
import Config.Helpers.CardFormat exposing (cardMaker)
|
||||||
exposing
|
|
||||||
( cardContentSpacing
|
|
||||||
, cardFormatter
|
|
||||||
, cardMaker
|
|
||||||
, cardTitleMaker
|
|
||||||
, desktopCardMaker
|
|
||||||
, desktopImageBoxSize
|
|
||||||
, desktopImageSize
|
|
||||||
, fieldSpacer
|
|
||||||
, mobileCardMaker
|
|
||||||
, mobileImageBoxSize
|
|
||||||
, mobileImageSize
|
|
||||||
, topLevelBox
|
|
||||||
)
|
|
||||||
import Config.Helpers.Converters exposing (formatSocial)
|
import Config.Helpers.Converters exposing (formatSocial)
|
||||||
import Config.Helpers.Format
|
import Config.Helpers.Format
|
||||||
exposing
|
exposing
|
||||||
( paragraphFontSize
|
( headerFontSizeSmall
|
||||||
|
, paragraphFontSize
|
||||||
, paragraphSpacing
|
, paragraphSpacing
|
||||||
)
|
)
|
||||||
import Config.Helpers.Headers.Header exposing (..)
|
import Config.Helpers.Headers.Header exposing (..)
|
||||||
|
@ -151,17 +138,11 @@ interviewList device =
|
||||||
)
|
)
|
||||||
<|
|
<|
|
||||||
List.concat
|
List.concat
|
||||||
[ List.map headerMaker
|
[ List.map (headerMaker device)
|
||||||
[ interviewHeader ]
|
[ interviewHeader ]
|
||||||
, (case ( device.class, device.orientation ) of
|
, (case ( device.class, device.orientation ) of
|
||||||
( Phone, Portrait ) ->
|
|
||||||
List.map interviewMakerMobile
|
|
||||||
|
|
||||||
( Tablet, Portrait ) ->
|
|
||||||
List.map interviewMakerMobile
|
|
||||||
|
|
||||||
_ ->
|
_ ->
|
||||||
List.map interviewMaker
|
List.map (interviewMaker device)
|
||||||
)
|
)
|
||||||
[ sigmaNutritionRadio
|
[ sigmaNutritionRadio
|
||||||
, markBellsPowerProject
|
, markBellsPowerProject
|
||||||
|
@ -187,48 +168,16 @@ interviewHeader =
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
interviewMaker : Interview -> Element msg
|
interviewMaker : Device -> Interview -> Element msg
|
||||||
interviewMaker interview =
|
interviewMaker device interview =
|
||||||
row
|
cardMaker device interview.interviewName (contentList interview) (interviewImage interview) interview.interviewSocial
|
||||||
topLevelBox
|
|
||||||
[ desktopCardMaker desktopImageBoxSize desktopImageSize (interviewImage interview) interview.interviewSocial
|
|
||||||
, cardMaker
|
|
||||||
[ cardTitleMaker interview.interviewName
|
|
||||||
, cardFormatter
|
|
||||||
[ cardContentSpacing
|
|
||||||
[ column
|
|
||||||
fieldSpacer
|
|
||||||
[ appearanceTitle interview
|
|
||||||
, appearanceMaker interview
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
interviewMakerMobile : Interview -> Element msg
|
contentList : Interview -> List (Element msg)
|
||||||
interviewMakerMobile interview =
|
contentList interview =
|
||||||
row
|
[ appearanceTitle interview
|
||||||
topLevelBox
|
, appearanceMaker interview
|
||||||
[ column [] []
|
]
|
||||||
, cardMaker
|
|
||||||
[ cardTitleMaker interview.interviewName
|
|
||||||
, cardFormatter
|
|
||||||
[ cardContentSpacing
|
|
||||||
[ column
|
|
||||||
fieldSpacer
|
|
||||||
[ row [ spacing 10 ]
|
|
||||||
[ mobileCardMaker mobileImageBoxSize mobileImageSize (interviewImage interview) interview.interviewSocial
|
|
||||||
, socialMaker interview
|
|
||||||
]
|
|
||||||
, appearanceTitle interview
|
|
||||||
, appearanceMaker interview
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
interviewImage : Interview -> { src : String, description : String }
|
interviewImage : Interview -> { src : String, description : String }
|
||||||
|
@ -243,10 +192,8 @@ socialMaker interview =
|
||||||
paragraph
|
paragraph
|
||||||
[ F.color colourTheme.textLightGrey
|
[ F.color colourTheme.textLightGrey
|
||||||
, paragraphSpacing
|
, paragraphSpacing
|
||||||
, paragraphFontSize
|
|
||||||
, F.bold
|
, F.bold
|
||||||
, F.size 18
|
, headerFontSizeSmall
|
||||||
, spacing 5
|
|
||||||
]
|
]
|
||||||
[ text "Social: "
|
[ text "Social: "
|
||||||
, newTabLink
|
, newTabLink
|
||||||
|
@ -270,9 +217,8 @@ appearanceTitle interview =
|
||||||
paragraph
|
paragraph
|
||||||
[ F.color colourTheme.textLightGrey
|
[ F.color colourTheme.textLightGrey
|
||||||
, paragraphSpacing
|
, paragraphSpacing
|
||||||
, paragraphFontSize
|
, headerFontSizeSmall
|
||||||
, F.bold
|
, F.bold
|
||||||
, F.size 18
|
|
||||||
]
|
]
|
||||||
[ text "Appearances: " ]
|
[ text "Appearances: " ]
|
||||||
|
|
||||||
|
@ -287,39 +233,25 @@ appearanceMaker interview =
|
||||||
|
|
||||||
makeAppearance : Appearance -> Int -> Element msg
|
makeAppearance : Appearance -> Int -> Element msg
|
||||||
makeAppearance appearanceEntry index =
|
makeAppearance appearanceEntry index =
|
||||||
column
|
el
|
||||||
[ F.color colourTheme.textLightGrey
|
[ alignLeft
|
||||||
, paragraphSpacing
|
|
||||||
, paragraphFontSize
|
|
||||||
, alignLeft
|
|
||||||
, spacing 8
|
|
||||||
, width fill
|
, width fill
|
||||||
]
|
]
|
||||||
[ row
|
<|
|
||||||
([ F.color colourTheme.textLightGrey
|
row
|
||||||
, paragraphSpacing
|
[ E.width fill
|
||||||
, paragraphFontSize
|
, spacing 5
|
||||||
]
|
]
|
||||||
++ [ F.size 18
|
[ el
|
||||||
, E.width fill
|
|
||||||
, paddingEach
|
|
||||||
{ top = 0
|
|
||||||
, bottom = 0
|
|
||||||
, left = 35
|
|
||||||
, right = 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
)
|
|
||||||
[ column
|
|
||||||
[ F.color colourTheme.textLightGrey
|
[ F.color colourTheme.textLightGrey
|
||||||
, paragraphSpacing
|
, paragraphSpacing
|
||||||
, paragraphFontSize
|
, headerFontSizeSmall
|
||||||
, F.size 18
|
, F.bold
|
||||||
, alignTop
|
, alignTop
|
||||||
, alignRight
|
|
||||||
, F.alignRight
|
, F.alignRight
|
||||||
]
|
]
|
||||||
[ text (String.fromInt index ++ ". ") ]
|
<|
|
||||||
|
text (String.fromInt index ++ ". ")
|
||||||
, column
|
, column
|
||||||
[ spacing 8
|
[ spacing 8
|
||||||
, width fill
|
, width fill
|
||||||
|
@ -331,7 +263,6 @@ makeAppearance appearanceEntry index =
|
||||||
, subjectList appearanceEntry
|
, subjectList appearanceEntry
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
episodeMaker : Appearance -> Element msg
|
episodeMaker : Appearance -> Element msg
|
||||||
|
@ -359,6 +290,7 @@ experienceMaker appearanceEntry =
|
||||||
row
|
row
|
||||||
[ width fill
|
[ width fill
|
||||||
, height fill
|
, height fill
|
||||||
|
, spacing 5
|
||||||
]
|
]
|
||||||
[ column
|
[ column
|
||||||
[ E.alignTop
|
[ E.alignTop
|
||||||
|
@ -367,23 +299,15 @@ experienceMaker appearanceEntry =
|
||||||
[ paragraph
|
[ paragraph
|
||||||
[ F.color colourTheme.textLightGrey
|
[ F.color colourTheme.textLightGrey
|
||||||
, paragraphSpacing
|
, paragraphSpacing
|
||||||
, paragraphFontSize
|
, headerFontSizeSmall
|
||||||
, F.bold
|
, F.bold
|
||||||
, F.size 18
|
|
||||||
, E.width fill
|
|
||||||
]
|
]
|
||||||
[ el
|
[ el
|
||||||
[ tooltip
|
[ tooltip
|
||||||
"This represents how pleasant it was to interact with the host(s)."
|
"This represents how pleasant it was to interact with the host(s)."
|
||||||
]
|
]
|
||||||
(el
|
(el
|
||||||
[ paddingEach
|
[]
|
||||||
{ top = 0
|
|
||||||
, right = 10
|
|
||||||
, bottom = 0
|
|
||||||
, left = 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
<|
|
<|
|
||||||
text "Pleasantness:"
|
text "Pleasantness:"
|
||||||
)
|
)
|
||||||
|
@ -439,29 +363,26 @@ dateMaker appearanceEntry =
|
||||||
row
|
row
|
||||||
[ F.color colourTheme.textLightGrey
|
[ F.color colourTheme.textLightGrey
|
||||||
, paragraphSpacing
|
, paragraphSpacing
|
||||||
, paragraphFontSize
|
, headerFontSizeSmall
|
||||||
, F.bold
|
, F.bold
|
||||||
]
|
]
|
||||||
[ column
|
[ el
|
||||||
[ alignTop
|
[ alignTop
|
||||||
]
|
]
|
||||||
[ text "Published:"
|
<|
|
||||||
]
|
text
|
||||||
, column
|
"Published:"
|
||||||
|
, el
|
||||||
[ alignTop
|
[ alignTop
|
||||||
, width fill
|
, width fill
|
||||||
]
|
]
|
||||||
[ paragraph
|
<|
|
||||||
|
paragraph
|
||||||
[ F.regular
|
[ F.regular
|
||||||
, paddingEach
|
, paragraphFontSize
|
||||||
{ top = 0
|
]
|
||||||
, right = 0
|
[ text appearanceEntry.appearanceYear
|
||||||
, bottom = 0
|
|
||||||
, left = 3
|
|
||||||
}
|
|
||||||
]
|
]
|
||||||
[ text appearanceEntry.appearanceYear ]
|
|
||||||
]
|
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
@ -470,7 +391,7 @@ subjectMaker appearanceEntry =
|
||||||
paragraph
|
paragraph
|
||||||
[ F.color colourTheme.textLightGrey
|
[ F.color colourTheme.textLightGrey
|
||||||
, paragraphSpacing
|
, paragraphSpacing
|
||||||
, paragraphFontSize
|
, headerFontSizeSmall
|
||||||
, F.bold
|
, F.bold
|
||||||
]
|
]
|
||||||
[ column
|
[ column
|
||||||
|
@ -490,7 +411,7 @@ subjectList appearanceEntry =
|
||||||
{ top = 0
|
{ top = 0
|
||||||
, right = 0
|
, right = 0
|
||||||
, bottom = 0
|
, bottom = 0
|
||||||
, left = 25
|
, left = 10
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
<|
|
<|
|
||||||
|
@ -504,17 +425,10 @@ makeSubject subjects =
|
||||||
el
|
el
|
||||||
[ E.width fill
|
[ E.width fill
|
||||||
, alignLeft
|
, alignLeft
|
||||||
, paddingEach
|
|
||||||
{ top = 0
|
|
||||||
, right = 0
|
|
||||||
, bottom = 0
|
|
||||||
, left = 8
|
|
||||||
}
|
|
||||||
]
|
]
|
||||||
<|
|
<|
|
||||||
el
|
paragraph
|
||||||
[ F.regular
|
[ F.regular
|
||||||
, paragraphFontSize
|
, paragraphFontSize
|
||||||
]
|
]
|
||||||
<|
|
[ text ("• " ++ subjects.subject) ]
|
||||||
text ("‣ " ++ subjects.subject)
|
|
||||||
|
|
|
@ -1,21 +1,7 @@
|
||||||
module Pages.NotFound_ exposing (Model, Msg, page)
|
module Pages.NotFound_ exposing (Model, Msg, page)
|
||||||
|
|
||||||
import Config.Data.Identity exposing (pageNames)
|
import Config.Data.Identity exposing (pageNames)
|
||||||
import Config.Helpers.CardFormat
|
import Config.Helpers.CardFormat exposing (cardMaker)
|
||||||
exposing
|
|
||||||
( cardContentSpacing
|
|
||||||
, cardFormatter
|
|
||||||
, cardMaker
|
|
||||||
, cardTitleMaker
|
|
||||||
, desktopCardMaker
|
|
||||||
, desktopImageBoxSize
|
|
||||||
, desktopImageSize
|
|
||||||
, fieldSpacer
|
|
||||||
, mobileCardMaker
|
|
||||||
, mobileImageBoxSize
|
|
||||||
, mobileImageSize
|
|
||||||
, topLevelBox
|
|
||||||
)
|
|
||||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||||
import Config.Helpers.Headers.Types exposing (Header)
|
import Config.Helpers.Headers.Types exposing (Header)
|
||||||
import Config.Helpers.Response
|
import Config.Helpers.Response
|
||||||
|
|
|
@ -3,22 +3,7 @@ module Pages.Nutridex exposing (Model, Msg, page)
|
||||||
import Config.Data.Identity exposing (pageNames)
|
import Config.Data.Identity exposing (pageNames)
|
||||||
import Config.Helpers.Articles.Article exposing (makeReference)
|
import Config.Helpers.Articles.Article exposing (makeReference)
|
||||||
import Config.Helpers.Articles.Types exposing (References)
|
import Config.Helpers.Articles.Types exposing (References)
|
||||||
import Config.Helpers.CardFormat
|
import Config.Helpers.CardFormat exposing (cardMaker)
|
||||||
exposing
|
|
||||||
( cardContentSpacing
|
|
||||||
, cardFormatter
|
|
||||||
, cardMaker
|
|
||||||
, cardSubTitleMaker
|
|
||||||
, cardTitleMaker
|
|
||||||
, desktopCardMaker
|
|
||||||
, desktopImageBoxSize
|
|
||||||
, desktopImageSize
|
|
||||||
, fieldSpacer
|
|
||||||
, mobileCardMaker
|
|
||||||
, mobileImageBoxSize
|
|
||||||
, mobileImageSize
|
|
||||||
, topLevelBox
|
|
||||||
)
|
|
||||||
import Config.Helpers.Format
|
import Config.Helpers.Format
|
||||||
exposing
|
exposing
|
||||||
( divider
|
( divider
|
||||||
|
@ -151,46 +136,31 @@ nutriDexList device =
|
||||||
<|
|
<|
|
||||||
List.concat
|
List.concat
|
||||||
[ (case ( device.class, device.orientation ) of
|
[ (case ( device.class, device.orientation ) of
|
||||||
( Phone, Portrait ) ->
|
|
||||||
List.map (\nutridex -> nutriDexMaker nutridex device)
|
|
||||||
|
|
||||||
( Tablet, Portrait ) ->
|
|
||||||
List.map (\nutridex -> nutriDexMaker nutridex device)
|
|
||||||
|
|
||||||
_ ->
|
_ ->
|
||||||
List.map (\nutridex -> nutriDexMaker nutridex device)
|
List.map (\nutridex -> nutriDexMaker device nutridex)
|
||||||
)
|
)
|
||||||
[ productNutriDex ]
|
[ productNutriDex ]
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
nutriDexMaker : NutriDex -> Device -> Element msg
|
nutriDexMaker : Device -> NutriDex -> Element msg
|
||||||
nutriDexMaker nutridex device =
|
nutriDexMaker device nutridex =
|
||||||
row
|
cardMaker device nutridex.nutriDexTitle (contentList device nutridex) { description = "", src = "" } ""
|
||||||
topLevelBox
|
|
||||||
[ cardMaker
|
|
||||||
[ cardTitleMaker (String.toUpper nutridex.nutriDexTitle)
|
contentList : Device -> NutriDex -> List (Element msg)
|
||||||
, cardFormatter
|
contentList device nutridex =
|
||||||
[ cardContentSpacing
|
[ featureList nutridex device
|
||||||
[ column
|
, nutriDexBodyMaker device
|
||||||
fieldSpacer
|
, nutriDexAdjustments device
|
||||||
[ cardSubTitleMaker
|
, column [ spacing 10 ]
|
||||||
[ featureList nutridex device
|
[ nutriDexVitamins
|
||||||
, nutriDexBodyMaker device
|
, nutriDexFattyAcids
|
||||||
, nutriDexAdjustments device
|
, nutriDexMinerals
|
||||||
, column [ spacing 10 ]
|
, nutriDexAminoAcids
|
||||||
[ nutriDexVitamins
|
|
||||||
, nutriDexFattyAcids
|
|
||||||
, nutriDexMinerals
|
|
||||||
, nutriDexAminoAcids
|
|
||||||
]
|
|
||||||
, nutriDexReferences nutridex device
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
]
|
||||||
|
, nutriDexReferences nutridex device
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
makeFeature : Features -> Element msg
|
makeFeature : Features -> Element msg
|
||||||
|
@ -303,6 +273,7 @@ featureList nutridex device =
|
||||||
, D.rounded 30
|
, D.rounded 30
|
||||||
, F.size 25
|
, F.size 25
|
||||||
, F.bold
|
, F.bold
|
||||||
|
, transitionStyleMedium
|
||||||
, hoverPageButtonDeepDarkOrange
|
, hoverPageButtonDeepDarkOrange
|
||||||
, paddingEach
|
, paddingEach
|
||||||
{ top = 10
|
{ top = 10
|
||||||
|
@ -456,16 +427,12 @@ nutriDexBodyMaker device =
|
||||||
|
|
||||||
referenceFormat : List (Attr () msg)
|
referenceFormat : List (Attr () msg)
|
||||||
referenceFormat =
|
referenceFormat =
|
||||||
[ F.color colourTheme.textLightGrey
|
[ paragraphFontSize
|
||||||
, paragraphSpacing
|
, F.color colourTheme.textLightOrange
|
||||||
, paragraphFontSize
|
, alignTop
|
||||||
|
, hoverFontDarkOrange
|
||||||
|
, transitionStyleMedium
|
||||||
]
|
]
|
||||||
++ [ F.color colourTheme.textLightOrange
|
|
||||||
, F.size 12
|
|
||||||
, alignTop
|
|
||||||
, hoverFontDarkOrange
|
|
||||||
, transitionStyleFast
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
nutriDexAdjustments : Device -> Element msg
|
nutriDexAdjustments : Device -> Element msg
|
||||||
|
|
|
@ -2,24 +2,11 @@ module Pages.Services exposing (Model, Msg, page)
|
||||||
|
|
||||||
import Browser
|
import Browser
|
||||||
import Config.Data.Identity exposing (pageNames)
|
import Config.Data.Identity exposing (pageNames)
|
||||||
import Config.Helpers.CardFormat
|
import Config.Helpers.CardFormat exposing (cardMaker)
|
||||||
exposing
|
|
||||||
( cardContentSpacing
|
|
||||||
, cardFormatter
|
|
||||||
, cardMaker
|
|
||||||
, cardTitleMaker
|
|
||||||
, desktopCardMaker
|
|
||||||
, desktopImageBoxSize
|
|
||||||
, desktopImageSize
|
|
||||||
, fieldSpacer
|
|
||||||
, mobileCardMaker
|
|
||||||
, mobileImageBoxSize
|
|
||||||
, mobileImageSize
|
|
||||||
, topLevelBox
|
|
||||||
)
|
|
||||||
import Config.Helpers.Format
|
import Config.Helpers.Format
|
||||||
exposing
|
exposing
|
||||||
( headerFontSizeSmall
|
( headerFontSizeMedium
|
||||||
|
, headerFontSizeSmall
|
||||||
, paragraphFontSize
|
, paragraphFontSize
|
||||||
, paragraphSpacing
|
, paragraphSpacing
|
||||||
)
|
)
|
||||||
|
@ -38,6 +25,8 @@ import Config.Pages.Services.Records.NixBuilds exposing (..)
|
||||||
import Config.Pages.Services.Records.NutritionScience exposing (..)
|
import Config.Pages.Services.Records.NutritionScience exposing (..)
|
||||||
import Config.Pages.Services.Types exposing (..)
|
import Config.Pages.Services.Types exposing (..)
|
||||||
import Config.Style.Colour as T exposing (..)
|
import Config.Style.Colour as T exposing (..)
|
||||||
|
import Config.Style.Glow exposing (glowDeepDarkGrey, glowDeepDarkOrange)
|
||||||
|
import Config.Style.Transitions exposing (transitionStyleMedium)
|
||||||
import Effect exposing (Effect)
|
import Effect exposing (Effect)
|
||||||
import Element as E exposing (..)
|
import Element as E exposing (..)
|
||||||
import Element.Background as B
|
import Element.Background as B
|
||||||
|
@ -135,17 +124,11 @@ servicesList device =
|
||||||
)
|
)
|
||||||
<|
|
<|
|
||||||
List.concat
|
List.concat
|
||||||
[ List.map headerMaker
|
[ List.map (headerMaker device)
|
||||||
[ servicesHeader ]
|
[ servicesHeader ]
|
||||||
, (case ( device.class, device.orientation ) of
|
, (case ( device.class, device.orientation ) of
|
||||||
( Phone, Portrait ) ->
|
|
||||||
List.map serviceMakerMobile
|
|
||||||
|
|
||||||
( Tablet, Portrait ) ->
|
|
||||||
List.map serviceMakerMobile
|
|
||||||
|
|
||||||
_ ->
|
_ ->
|
||||||
List.map serviceMaker
|
List.map (serviceMaker device)
|
||||||
)
|
)
|
||||||
[ servicesDebateAnalysis
|
[ servicesDebateAnalysis
|
||||||
, servicesDebateCoaching
|
, servicesDebateCoaching
|
||||||
|
@ -167,46 +150,17 @@ servicesHeader =
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
serviceMaker : Service msg -> Element msg
|
serviceMaker : Device -> Service msg -> Element msg
|
||||||
serviceMaker service =
|
serviceMaker device service =
|
||||||
row
|
cardMaker device service.serviceName (contentList service) (serviceImage service) service.serviceLink
|
||||||
topLevelBox
|
|
||||||
[ desktopCardMaker desktopImageBoxSize desktopImageSize (serviceImage service) service.serviceLink
|
|
||||||
, cardMaker
|
|
||||||
[ cardTitleMaker service.serviceName
|
|
||||||
, cardFormatter
|
|
||||||
[ cardContentSpacing
|
|
||||||
[ column
|
|
||||||
fieldSpacer
|
|
||||||
[ rateMaker service
|
|
||||||
, descriptionMaker service
|
|
||||||
, offeringMaker service
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
serviceMakerMobile : Service msg -> Element msg
|
contentList : Service msg -> List (Element msg)
|
||||||
serviceMakerMobile service =
|
contentList service =
|
||||||
row
|
[ rateMaker service
|
||||||
topLevelBox
|
, descriptionMaker service
|
||||||
[ column [] []
|
, offeringMaker service
|
||||||
, cardMaker
|
]
|
||||||
[ cardTitleMaker service.serviceName
|
|
||||||
, cardFormatter
|
|
||||||
[ cardContentSpacing
|
|
||||||
[ column
|
|
||||||
fieldSpacer
|
|
||||||
[ row [ spacing 10 ] [ mobileCardMaker mobileImageBoxSize mobileImageSize (serviceImage service) service.serviceLink, rateMaker service ]
|
|
||||||
, descriptionMaker service
|
|
||||||
, offeringMaker service
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
serviceImage : Service msg -> { src : String, description : String }
|
serviceImage : Service msg -> { src : String, description : String }
|
||||||
|
|
|
@ -109,34 +109,25 @@ analysisList device =
|
||||||
List.concat
|
List.concat
|
||||||
(case ( device.class, device.orientation ) of
|
(case ( device.class, device.orientation ) of
|
||||||
_ ->
|
_ ->
|
||||||
[ [ serviceMaker ] ]
|
[ [ headerMaker device ] ]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
serviceMaker : Element msg
|
headerMaker : Device -> Element msg
|
||||||
serviceMaker =
|
headerMaker device =
|
||||||
row
|
cardMaker device "" contentList { description = "", src = "" } ""
|
||||||
topLevelBox
|
|
||||||
[ cardMaker
|
|
||||||
[ cardTitleMaker (String.toUpper servicesDebateAnalysis.serviceName)
|
contentList : List (Element msg)
|
||||||
, cardFormatter
|
contentList =
|
||||||
[ cardContentSpacing
|
[ column
|
||||||
[ column
|
bodyFormat
|
||||||
fieldSpacer
|
[ chunkMaker servicesDebateAnalysis.serviceArticle.articleParagraph.paragraph1
|
||||||
[ cardSubTitleMaker
|
, chunkMaker
|
||||||
[ column
|
servicesDebateAnalysis.serviceArticle.articleParagraph.paragraph2
|
||||||
bodyFormat
|
, titleMaker servicesDebateAnalysis.serviceArticle.articleTitles.title1
|
||||||
[ chunkMaker servicesDebateAnalysis.serviceArticle.articleParagraph.paragraph1
|
, numberMaker servicesDebateAnalysis.serviceArticle.articleListEntries.list1
|
||||||
, chunkMaker
|
, titleMaker servicesDebateAnalysis.serviceArticle.articleTitles.title2
|
||||||
servicesDebateAnalysis.serviceArticle.articleParagraph.paragraph2
|
, bulletPointMaker servicesDebateAnalysis.serviceArticle.articleListEntries.list2
|
||||||
, titleMaker servicesDebateAnalysis.serviceArticle.articleTitles.title1
|
|
||||||
, numberMaker servicesDebateAnalysis.serviceArticle.articleListEntries.list1
|
|
||||||
, titleMaker servicesDebateAnalysis.serviceArticle.articleTitles.title2
|
|
||||||
, bulletPointMaker servicesDebateAnalysis.serviceArticle.articleListEntries.list2
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
]
|
||||||
|
]
|
||||||
|
|
|
@ -114,40 +114,31 @@ coachingList device =
|
||||||
List.concat
|
List.concat
|
||||||
(case ( device.class, device.orientation ) of
|
(case ( device.class, device.orientation ) of
|
||||||
_ ->
|
_ ->
|
||||||
[ [ serviceMaker ] ]
|
[ [ headerMaker device ] ]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
serviceMaker : Element msg
|
headerMaker : Device -> Element msg
|
||||||
serviceMaker =
|
headerMaker device =
|
||||||
row
|
cardMaker device "" contentList { description = "", src = "" } ""
|
||||||
topLevelBox
|
|
||||||
[ cardMaker
|
|
||||||
[ cardTitleMaker (String.toUpper servicesDebateCoaching.serviceName)
|
|
||||||
, cardFormatter
|
|
||||||
[ cardContentSpacing
|
|
||||||
[ column
|
|
||||||
fieldSpacer
|
|
||||||
[ cardSubTitleMaker
|
|
||||||
[ column
|
|
||||||
bodyFormat
|
|
||||||
[ chunkMaker servicesDebateCoaching.serviceArticle.articleParagraph.paragraph1
|
|
||||||
, chunkMaker servicesDebateCoaching.serviceArticle.articleParagraph.paragraph2
|
|
||||||
, titleMaker servicesDebateCoaching.serviceArticle.articleTitles.title1
|
|
||||||
, numberMaker servicesDebateCoaching.serviceArticle.articleListEntries.list1
|
|
||||||
, titleMaker servicesDebateCoaching.serviceArticle.articleTitles.title2
|
|
||||||
|
|
||||||
-- modules
|
|
||||||
, highlightedBlockMaker servicesDebateCoaching.serviceArticle.articleTitles.title3 servicesDebateCoaching.serviceArticle.articleListEntries.list3
|
contentList : List (Element msg)
|
||||||
, highlightedBlockMaker servicesDebateCoaching.serviceArticle.articleTitles.title4 servicesDebateCoaching.serviceArticle.articleListEntries.list4
|
contentList =
|
||||||
, highlightedBlockMaker servicesDebateCoaching.serviceArticle.articleTitles.title5 servicesDebateCoaching.serviceArticle.articleListEntries.list5
|
[ column
|
||||||
, highlightedBlockMaker servicesDebateCoaching.serviceArticle.articleTitles.title6 servicesDebateCoaching.serviceArticle.articleListEntries.list6
|
bodyFormat
|
||||||
, highlightedBlockMaker servicesDebateCoaching.serviceArticle.articleTitles.title7 servicesDebateCoaching.serviceArticle.articleListEntries.list7
|
[ chunkMaker servicesDebateCoaching.serviceArticle.articleParagraph.paragraph1
|
||||||
, highlightedBlockMaker servicesDebateCoaching.serviceArticle.articleTitles.title8 servicesDebateCoaching.serviceArticle.articleListEntries.list8
|
, chunkMaker servicesDebateCoaching.serviceArticle.articleParagraph.paragraph2
|
||||||
]
|
, titleMaker servicesDebateCoaching.serviceArticle.articleTitles.title1
|
||||||
]
|
, numberMaker servicesDebateCoaching.serviceArticle.articleListEntries.list1
|
||||||
]
|
, titleMaker servicesDebateCoaching.serviceArticle.articleTitles.title2
|
||||||
]
|
|
||||||
]
|
-- modules
|
||||||
]
|
, highlightedBlockMaker servicesDebateCoaching.serviceArticle.articleTitles.title3 servicesDebateCoaching.serviceArticle.articleListEntries.list3
|
||||||
|
, highlightedBlockMaker servicesDebateCoaching.serviceArticle.articleTitles.title4 servicesDebateCoaching.serviceArticle.articleListEntries.list4
|
||||||
|
, highlightedBlockMaker servicesDebateCoaching.serviceArticle.articleTitles.title5 servicesDebateCoaching.serviceArticle.articleListEntries.list5
|
||||||
|
, highlightedBlockMaker servicesDebateCoaching.serviceArticle.articleTitles.title6 servicesDebateCoaching.serviceArticle.articleListEntries.list6
|
||||||
|
, highlightedBlockMaker servicesDebateCoaching.serviceArticle.articleTitles.title7 servicesDebateCoaching.serviceArticle.articleListEntries.list7
|
||||||
|
, highlightedBlockMaker servicesDebateCoaching.serviceArticle.articleTitles.title8 servicesDebateCoaching.serviceArticle.articleListEntries.list8
|
||||||
]
|
]
|
||||||
|
]
|
||||||
|
|
|
@ -114,39 +114,30 @@ elmBuildsList device =
|
||||||
List.concat
|
List.concat
|
||||||
(case ( device.class, device.orientation ) of
|
(case ( device.class, device.orientation ) of
|
||||||
_ ->
|
_ ->
|
||||||
[ [ serviceMaker ] ]
|
[ [ headerMaker device ] ]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
serviceMaker : Element msg
|
headerMaker : Device -> Element msg
|
||||||
serviceMaker =
|
headerMaker device =
|
||||||
row
|
cardMaker device "" contentList { description = "", src = "" } ""
|
||||||
topLevelBox
|
|
||||||
[ cardMaker
|
|
||||||
[ cardTitleMaker (String.toUpper servicesElmBuilds.serviceName)
|
contentList : List (Element msg)
|
||||||
, cardFormatter
|
contentList =
|
||||||
[ cardContentSpacing
|
[ column
|
||||||
[ column
|
bodyFormat
|
||||||
fieldSpacer
|
[ chunkMaker servicesElmBuilds.serviceArticle.articleParagraph.paragraph1
|
||||||
[ cardSubTitleMaker
|
, chunkMaker servicesElmBuilds.serviceArticle.articleParagraph.paragraph2
|
||||||
[ column
|
, chunkMaker servicesElmBuilds.serviceArticle.articleParagraph.paragraph3
|
||||||
bodyFormat
|
, titleMaker servicesElmBuilds.serviceArticle.articleTitles.title1
|
||||||
[ chunkMaker servicesElmBuilds.serviceArticle.articleParagraph.paragraph1
|
, numberMaker servicesElmBuilds.serviceArticle.articleListEntries.list1
|
||||||
, chunkMaker servicesElmBuilds.serviceArticle.articleParagraph.paragraph2
|
, titleMaker servicesElmBuilds.serviceArticle.articleTitles.title2
|
||||||
, chunkMaker servicesElmBuilds.serviceArticle.articleParagraph.paragraph3
|
, bulletPointMaker servicesElmBuilds.serviceArticle.articleListEntries.list2
|
||||||
, titleMaker servicesElmBuilds.serviceArticle.articleTitles.title1
|
, titleMaker servicesElmBuilds.serviceArticle.articleTitles.title3
|
||||||
, numberMaker servicesElmBuilds.serviceArticle.articleListEntries.list1
|
, elmCodeRenderer
|
||||||
, titleMaker servicesElmBuilds.serviceArticle.articleTitles.title2
|
|
||||||
, bulletPointMaker servicesElmBuilds.serviceArticle.articleListEntries.list2
|
|
||||||
, titleMaker servicesElmBuilds.serviceArticle.articleTitles.title3
|
|
||||||
, elmCodeRenderer
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
]
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
elmCodeRenderer : Element msg
|
elmCodeRenderer : Element msg
|
||||||
|
|
|
@ -114,39 +114,30 @@ elmBuildsList device =
|
||||||
List.concat
|
List.concat
|
||||||
(case ( device.class, device.orientation ) of
|
(case ( device.class, device.orientation ) of
|
||||||
_ ->
|
_ ->
|
||||||
[ [ serviceMaker ] ]
|
[ [ headerMaker device ] ]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
serviceMaker : Element msg
|
headerMaker : Device -> Element msg
|
||||||
serviceMaker =
|
headerMaker device =
|
||||||
row
|
cardMaker device "" contentList { description = "", src = "" } ""
|
||||||
topLevelBox
|
|
||||||
[ cardMaker
|
|
||||||
[ cardTitleMaker (String.toUpper servicesNixBuilds.serviceName)
|
contentList : List (Element msg)
|
||||||
, cardFormatter
|
contentList =
|
||||||
[ cardContentSpacing
|
[ column
|
||||||
[ column
|
bodyFormat
|
||||||
fieldSpacer
|
[ chunkMaker servicesNixBuilds.serviceArticle.articleParagraph.paragraph1
|
||||||
[ cardSubTitleMaker
|
, chunkMaker servicesNixBuilds.serviceArticle.articleParagraph.paragraph2
|
||||||
[ column
|
, chunkMaker servicesNixBuilds.serviceArticle.articleParagraph.paragraph3
|
||||||
bodyFormat
|
, titleMaker servicesNixBuilds.serviceArticle.articleTitles.title1
|
||||||
[ chunkMaker servicesNixBuilds.serviceArticle.articleParagraph.paragraph1
|
, numberMaker servicesNixBuilds.serviceArticle.articleListEntries.list1
|
||||||
, chunkMaker servicesNixBuilds.serviceArticle.articleParagraph.paragraph2
|
, titleMaker servicesNixBuilds.serviceArticle.articleTitles.title2
|
||||||
, chunkMaker servicesNixBuilds.serviceArticle.articleParagraph.paragraph3
|
, bulletPointMaker servicesNixBuilds.serviceArticle.articleListEntries.list2
|
||||||
, titleMaker servicesNixBuilds.serviceArticle.articleTitles.title1
|
, titleMaker servicesNixBuilds.serviceArticle.articleTitles.title3
|
||||||
, numberMaker servicesNixBuilds.serviceArticle.articleListEntries.list1
|
, nixCodeRenderer
|
||||||
, titleMaker servicesNixBuilds.serviceArticle.articleTitles.title2
|
|
||||||
, bulletPointMaker servicesNixBuilds.serviceArticle.articleListEntries.list2
|
|
||||||
, titleMaker servicesNixBuilds.serviceArticle.articleTitles.title3
|
|
||||||
, nixCodeRenderer
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
]
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
renderCodeLine : SyntaxColors -> List (Element msg) -> Element msg
|
renderCodeLine : SyntaxColors -> List (Element msg) -> Element msg
|
||||||
|
|
|
@ -114,33 +114,24 @@ nutritionList device =
|
||||||
List.concat
|
List.concat
|
||||||
(case ( device.class, device.orientation ) of
|
(case ( device.class, device.orientation ) of
|
||||||
_ ->
|
_ ->
|
||||||
[ [ serviceMaker ] ]
|
[ [ headerMaker device ] ]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
serviceMaker : Element msg
|
headerMaker : Device -> Element msg
|
||||||
serviceMaker =
|
headerMaker device =
|
||||||
row
|
cardMaker device "" contentList { description = "", src = "" } ""
|
||||||
topLevelBox
|
|
||||||
[ cardMaker
|
|
||||||
[ cardTitleMaker (String.toUpper servicesNutritionScience.serviceName)
|
contentList : List (Element msg)
|
||||||
, cardFormatter
|
contentList =
|
||||||
[ cardContentSpacing
|
[ column
|
||||||
[ column
|
bodyFormat
|
||||||
fieldSpacer
|
[ chunkMaker servicesNutritionScience.serviceArticle.articleParagraph.paragraph1
|
||||||
[ cardSubTitleMaker
|
, chunkMaker servicesNutritionScience.serviceArticle.articleParagraph.paragraph2
|
||||||
[ column
|
, titleMaker servicesNutritionScience.serviceArticle.articleTitles.title1
|
||||||
bodyFormat
|
, numberMaker servicesNutritionScience.serviceArticle.articleListEntries.list1
|
||||||
[ chunkMaker servicesNutritionScience.serviceArticle.articleParagraph.paragraph1
|
, titleMaker servicesNutritionScience.serviceArticle.articleTitles.title2
|
||||||
, chunkMaker servicesNutritionScience.serviceArticle.articleParagraph.paragraph2
|
, bulletPointMaker servicesNutritionScience.serviceArticle.articleListEntries.list2
|
||||||
, titleMaker servicesNutritionScience.serviceArticle.articleTitles.title1
|
|
||||||
, numberMaker servicesNutritionScience.serviceArticle.articleListEntries.list1
|
|
||||||
, titleMaker servicesNutritionScience.serviceArticle.articleTitles.title2
|
|
||||||
, bulletPointMaker servicesNutritionScience.serviceArticle.articleListEntries.list2
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
]
|
||||||
|
]
|
||||||
|
|
|
@ -1,8 +1,32 @@
|
||||||
* {
|
* {
|
||||||
scrollbar-width: none;
|
scrollbar-width: thin;
|
||||||
}
|
scrollbar-color: rgb(120, 60, 0) rgb(20, 20, 20);
|
||||||
|
}
|
||||||
|
|
||||||
*::-webkit-scrollbar {
|
*::-webkit-scrollbar {
|
||||||
display: none;
|
width: 10px;
|
||||||
}
|
height: 10px;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
*::-webkit-scrollbar-track {
|
||||||
|
background: rgb(30, 30, 30);
|
||||||
|
border-radius: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
*::-webkit-scrollbar-thumb {
|
||||||
|
background: rgb(120, 60, 0);
|
||||||
|
border-radius: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
*::-webkit-scrollbar-thumb:hover {
|
||||||
|
background: rgb(120, 60, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
*::-webkit-scrollbar-corner {
|
||||||
|
background: rgb(30, 30, 30);
|
||||||
|
}
|
||||||
|
|
||||||
|
*::-webkit-scrollbar {
|
||||||
|
display: none;
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue