mirror of
https://gitlab.com/upRootNutrition/website.git
synced 2025-06-17 04:45:12 -05:00
feat: refactoring and tidying up
This commit is contained in:
parent
62be86f2f9
commit
2295c85fca
112 changed files with 862 additions and 1698 deletions
|
@ -1,6 +1,7 @@
|
|||
module Pages.Blog exposing (Model, Msg, page)
|
||||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Articles.Article exposing (extractFirstWords)
|
||||
import Config.Helpers.CardFormat
|
||||
exposing
|
||||
( cardContentSpacing
|
||||
|
@ -24,10 +25,17 @@ import Config.Helpers.Converters
|
|||
)
|
||||
import Config.Helpers.Format
|
||||
exposing
|
||||
( paragraphFontSize
|
||||
( headerFontSizeSmall
|
||||
, paragraphFontSize
|
||||
, paragraphSpacing
|
||||
)
|
||||
import Config.Helpers.Header exposing (..)
|
||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Markdown
|
||||
exposing
|
||||
( renderDeviceMarkdown
|
||||
, renderDeviceMarkdownNoToc
|
||||
)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageList
|
||||
|
@ -263,7 +271,7 @@ articleMaker article =
|
|||
, right = 0
|
||||
}
|
||||
]
|
||||
[ text article.articleDescription ]
|
||||
[ renderDeviceMarkdownNoToc (extractFirstWords article.articleBody) ]
|
||||
]
|
||||
]
|
||||
)
|
||||
|
@ -273,16 +281,16 @@ articleMaker article =
|
|||
infoRow : String -> String -> Element msg
|
||||
infoRow label value =
|
||||
row [ width fill ]
|
||||
[ el [ width <| px 85 ] <|
|
||||
paragraph
|
||||
[ el [ width <| px 88 ] <|
|
||||
el
|
||||
[ F.color colourTheme.textLightOrange
|
||||
, paragraphSpacing
|
||||
, paragraphFontSize
|
||||
, F.bold
|
||||
, F.size 18
|
||||
, headerFontSizeSmall
|
||||
, E.width fill
|
||||
]
|
||||
[ text label ]
|
||||
<|
|
||||
text label
|
||||
, el [ width fill ] <|
|
||||
paragraph
|
||||
[ F.color colourTheme.textLightGrey
|
||||
|
@ -296,8 +304,18 @@ infoRow label value =
|
|||
|
||||
articleRows : BlogArticle -> List (Element msg)
|
||||
articleRows article =
|
||||
[ infoRow "Author:" article.articleAuthor
|
||||
, infoRow "Published:" article.articlePublished
|
||||
let
|
||||
referenceCount =
|
||||
List.length article.articleReferences
|
||||
in
|
||||
[ infoRow "Published:" article.articlePublished
|
||||
, infoRow "Author:" article.articleAuthor
|
||||
, infoRow "Duration:" (String.fromInt (wordCount article.articleBody // 225) ++ " minutes")
|
||||
, infoRow "Words:" (String.fromInt (wordCount article.articleBody))
|
||||
]
|
||||
++ (if referenceCount > 2 then
|
||||
[ infoRow "Sources:" (String.fromInt referenceCount) ]
|
||||
|
||||
else
|
||||
[]
|
||||
)
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
module Pages.Blog.Bigfatsurprise exposing (Model, Msg, page)
|
||||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Articles.Article exposing (articleMaker)
|
||||
import Config.Helpers.CardFormat
|
||||
exposing
|
||||
( cardContentSpacing
|
||||
|
@ -17,45 +18,16 @@ import Config.Helpers.CardFormat
|
|||
, mobileImageSize
|
||||
, topLevelBox
|
||||
)
|
||||
import Config.Helpers.Format exposing (..)
|
||||
import Config.Helpers.Header
|
||||
exposing
|
||||
( Header
|
||||
, headerMaker
|
||||
)
|
||||
import Config.Helpers.Markdown exposing (..)
|
||||
import Config.Helpers.References exposing (makeReference)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageList
|
||||
, topLevelContainer
|
||||
)
|
||||
import Config.Helpers.StrengthBar
|
||||
exposing
|
||||
( barMaker
|
||||
, barPadding
|
||||
)
|
||||
import Config.Helpers.ToolTip exposing (..)
|
||||
import Config.Helpers.Viewport exposing (resetViewport)
|
||||
import Config.Pages.Blog.Records.BigFatSurprise exposing (articleBigFatSurprise)
|
||||
import Config.Pages.Blog.Types exposing (BlogArticle)
|
||||
import Config.Pages.Contact.Types exposing (..)
|
||||
import Config.Pages.Interviews.Types exposing (..)
|
||||
import Config.Pages.Products.Types exposing (..)
|
||||
import Config.Style.Colour exposing (colourTheme)
|
||||
import Config.Style.Transitions
|
||||
exposing
|
||||
( hoverFontDarkOrange
|
||||
, transitionStyleFast
|
||||
, transitionStyleSlow
|
||||
)
|
||||
import Effect exposing (Effect)
|
||||
import Element as E exposing (..)
|
||||
import Element.Background as B
|
||||
import Element.Border as D
|
||||
import Element.Font as F
|
||||
import Html
|
||||
import Html.Attributes as H exposing (style)
|
||||
import Layouts
|
||||
import Page exposing (Page)
|
||||
import Route exposing (Route)
|
||||
|
@ -90,7 +62,9 @@ type alias Model =
|
|||
init : () -> ( Model, Effect Msg )
|
||||
init () =
|
||||
( {}
|
||||
, Effect.none
|
||||
, Effect.map
|
||||
(\_ -> NoOp)
|
||||
(Effect.sendCmd resetViewport)
|
||||
)
|
||||
|
||||
|
||||
|
@ -152,44 +126,3 @@ articleList device =
|
|||
)
|
||||
[ articleBigFatSurprise ]
|
||||
]
|
||||
|
||||
|
||||
articleMaker : BlogArticle -> Element msg
|
||||
articleMaker article =
|
||||
column
|
||||
topLevelBox
|
||||
[ cardMaker
|
||||
[ cardTitleMaker (String.toUpper articleBigFatSurprise.articleName)
|
||||
, cardFormatter
|
||||
[ cardContentSpacing
|
||||
[ column
|
||||
fieldSpacer
|
||||
[ cardSubTitleMaker
|
||||
[ articleImage articleBigFatSurprise.articleImage
|
||||
, renderDeviceMarkdown articleBigFatSurprise.articleBody
|
||||
, articleReferences article
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
|
||||
|
||||
articleReferences : BlogArticle -> Element msg
|
||||
articleReferences article =
|
||||
column
|
||||
[ width fill
|
||||
, height fill
|
||||
, paddingEach
|
||||
{ top = 10
|
||||
, right = 0
|
||||
, bottom = 0
|
||||
, left = 0
|
||||
}
|
||||
]
|
||||
[ column [ width fill, F.size 15, spacing 10 ] <|
|
||||
List.map2 (\x y -> makeReference x y)
|
||||
article.articleReferences
|
||||
(List.range 1 (List.length article.articleReferences))
|
||||
]
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
module Pages.Blog.Everettvegans exposing (Model, Msg, page)
|
||||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Articles.Article exposing (articleMaker)
|
||||
import Config.Helpers.CardFormat
|
||||
exposing
|
||||
( cardContentSpacing
|
||||
|
@ -17,45 +18,16 @@ import Config.Helpers.CardFormat
|
|||
, mobileImageSize
|
||||
, topLevelBox
|
||||
)
|
||||
import Config.Helpers.Format exposing (..)
|
||||
import Config.Helpers.Header
|
||||
exposing
|
||||
( Header
|
||||
, headerMaker
|
||||
)
|
||||
import Config.Helpers.Markdown exposing (..)
|
||||
import Config.Helpers.References exposing (makeReference)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageList
|
||||
, topLevelContainer
|
||||
)
|
||||
import Config.Helpers.StrengthBar
|
||||
exposing
|
||||
( barMaker
|
||||
, barPadding
|
||||
)
|
||||
import Config.Helpers.ToolTip exposing (..)
|
||||
import Config.Helpers.Viewport exposing (resetViewport)
|
||||
import Config.Pages.Blog.Records.EverettVegans exposing (articleEverettVegans)
|
||||
import Config.Pages.Blog.Types exposing (BlogArticle)
|
||||
import Config.Pages.Contact.Types exposing (..)
|
||||
import Config.Pages.Interviews.Types exposing (..)
|
||||
import Config.Pages.Products.Types exposing (..)
|
||||
import Config.Style.Colour exposing (colourTheme)
|
||||
import Config.Style.Transitions
|
||||
exposing
|
||||
( hoverFontDarkOrange
|
||||
, transitionStyleFast
|
||||
, transitionStyleSlow
|
||||
)
|
||||
import Effect exposing (Effect)
|
||||
import Element as E exposing (..)
|
||||
import Element.Background as B
|
||||
import Element.Border as D
|
||||
import Element.Font as F
|
||||
import Html
|
||||
import Html.Attributes as H exposing (style)
|
||||
import Layouts
|
||||
import Page exposing (Page)
|
||||
import Route exposing (Route)
|
||||
|
@ -90,7 +62,9 @@ type alias Model =
|
|||
init : () -> ( Model, Effect Msg )
|
||||
init () =
|
||||
( {}
|
||||
, Effect.none
|
||||
, Effect.map
|
||||
(\_ -> NoOp)
|
||||
(Effect.sendCmd resetViewport)
|
||||
)
|
||||
|
||||
|
||||
|
@ -152,44 +126,3 @@ articleList device =
|
|||
)
|
||||
[ articleEverettVegans ]
|
||||
]
|
||||
|
||||
|
||||
articleMaker : BlogArticle -> Element msg
|
||||
articleMaker article =
|
||||
column
|
||||
topLevelBox
|
||||
[ cardMaker
|
||||
[ cardTitleMaker (String.toUpper articleEverettVegans.articleName)
|
||||
, cardFormatter
|
||||
[ cardContentSpacing
|
||||
[ column
|
||||
fieldSpacer
|
||||
[ cardSubTitleMaker
|
||||
[ articleImage articleEverettVegans.articleImage
|
||||
, renderDeviceMarkdown articleEverettVegans.articleBody
|
||||
, articleReferences article
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
|
||||
|
||||
articleReferences : BlogArticle -> Element msg
|
||||
articleReferences article =
|
||||
column
|
||||
[ width fill
|
||||
, height fill
|
||||
, paddingEach
|
||||
{ top = 10
|
||||
, right = 0
|
||||
, bottom = 0
|
||||
, left = 0
|
||||
}
|
||||
]
|
||||
[ column [ width fill, F.size 15, spacing 10 ] <|
|
||||
List.map2 (\x y -> makeReference x y)
|
||||
article.articleReferences
|
||||
(List.range 1 (List.length article.articleReferences))
|
||||
]
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
module Pages.Blog.Huntergatherers exposing (Model, Msg, page)
|
||||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Articles.Article exposing (articleMaker)
|
||||
import Config.Helpers.CardFormat
|
||||
exposing
|
||||
( cardContentSpacing
|
||||
|
@ -17,45 +18,16 @@ import Config.Helpers.CardFormat
|
|||
, mobileImageSize
|
||||
, topLevelBox
|
||||
)
|
||||
import Config.Helpers.Format exposing (..)
|
||||
import Config.Helpers.Header
|
||||
exposing
|
||||
( Header
|
||||
, headerMaker
|
||||
)
|
||||
import Config.Helpers.Markdown exposing (..)
|
||||
import Config.Helpers.References exposing (makeReference)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageList
|
||||
, topLevelContainer
|
||||
)
|
||||
import Config.Helpers.StrengthBar
|
||||
exposing
|
||||
( barMaker
|
||||
, barPadding
|
||||
)
|
||||
import Config.Helpers.ToolTip exposing (..)
|
||||
import Config.Helpers.Viewport exposing (resetViewport)
|
||||
import Config.Pages.Blog.Records.HunterGatherers exposing (articleHunterGatherers)
|
||||
import Config.Pages.Blog.Types exposing (BlogArticle)
|
||||
import Config.Pages.Contact.Types exposing (..)
|
||||
import Config.Pages.Interviews.Types exposing (..)
|
||||
import Config.Pages.Products.Types exposing (..)
|
||||
import Config.Style.Colour exposing (colourTheme)
|
||||
import Config.Style.Transitions
|
||||
exposing
|
||||
( hoverFontDarkOrange
|
||||
, transitionStyleFast
|
||||
, transitionStyleSlow
|
||||
)
|
||||
import Effect exposing (Effect)
|
||||
import Element as E exposing (..)
|
||||
import Element.Background as B
|
||||
import Element.Border as D
|
||||
import Element.Font as F
|
||||
import Html
|
||||
import Html.Attributes as H exposing (style)
|
||||
import Layouts
|
||||
import Page exposing (Page)
|
||||
import Route exposing (Route)
|
||||
|
@ -90,7 +62,9 @@ type alias Model =
|
|||
init : () -> ( Model, Effect Msg )
|
||||
init () =
|
||||
( {}
|
||||
, Effect.none
|
||||
, Effect.map
|
||||
(\_ -> NoOp)
|
||||
(Effect.sendCmd resetViewport)
|
||||
)
|
||||
|
||||
|
||||
|
@ -152,44 +126,3 @@ articleList device =
|
|||
)
|
||||
[ articleHunterGatherers ]
|
||||
]
|
||||
|
||||
|
||||
articleMaker : BlogArticle -> Element msg
|
||||
articleMaker article =
|
||||
column
|
||||
topLevelBox
|
||||
[ cardMaker
|
||||
[ cardTitleMaker (String.toUpper articleHunterGatherers.articleName)
|
||||
, cardFormatter
|
||||
[ cardContentSpacing
|
||||
[ column
|
||||
fieldSpacer
|
||||
[ cardSubTitleMaker
|
||||
[ articleImage articleHunterGatherers.articleImage
|
||||
, renderDeviceMarkdown articleHunterGatherers.articleBody
|
||||
, articleReferences article
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
|
||||
|
||||
articleReferences : BlogArticle -> Element msg
|
||||
articleReferences article =
|
||||
column
|
||||
[ width fill
|
||||
, height fill
|
||||
, paddingEach
|
||||
{ top = 10
|
||||
, right = 0
|
||||
, bottom = 0
|
||||
, left = 0
|
||||
}
|
||||
]
|
||||
[ column [ width fill, F.size 15, spacing 10 ] <|
|
||||
List.map2 (\x y -> makeReference x y)
|
||||
article.articleReferences
|
||||
(List.range 1 (List.length article.articleReferences))
|
||||
]
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
module Pages.Blog.Meatapologetics exposing (Model, Msg, page)
|
||||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Articles.Article exposing (articleMaker)
|
||||
import Config.Helpers.CardFormat
|
||||
exposing
|
||||
( cardContentSpacing
|
||||
|
@ -17,45 +18,17 @@ import Config.Helpers.CardFormat
|
|||
, mobileImageSize
|
||||
, topLevelBox
|
||||
)
|
||||
import Config.Helpers.Format exposing (..)
|
||||
import Config.Helpers.Header
|
||||
exposing
|
||||
( Header
|
||||
, headerMaker
|
||||
)
|
||||
import Config.Helpers.Markdown exposing (..)
|
||||
import Config.Helpers.References exposing (makeReference)
|
||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageList
|
||||
, topLevelContainer
|
||||
)
|
||||
import Config.Helpers.StrengthBar
|
||||
exposing
|
||||
( barMaker
|
||||
, barPadding
|
||||
)
|
||||
import Config.Helpers.ToolTip exposing (..)
|
||||
import Config.Helpers.Viewport exposing (resetViewport)
|
||||
import Config.Pages.Blog.Records.MeatApologetics exposing (articleMeatApologetics)
|
||||
import Config.Pages.Blog.Types exposing (BlogArticle)
|
||||
import Config.Pages.Contact.Types exposing (..)
|
||||
import Config.Pages.Interviews.Types exposing (..)
|
||||
import Config.Pages.Products.Types exposing (..)
|
||||
import Config.Style.Colour exposing (colourTheme)
|
||||
import Config.Style.Transitions
|
||||
exposing
|
||||
( hoverFontDarkOrange
|
||||
, transitionStyleFast
|
||||
, transitionStyleSlow
|
||||
)
|
||||
import Effect exposing (Effect)
|
||||
import Element as E exposing (..)
|
||||
import Element.Background as B
|
||||
import Element.Border as D
|
||||
import Element.Font as F
|
||||
import Html
|
||||
import Html.Attributes as H exposing (style)
|
||||
import Layouts
|
||||
import Page exposing (Page)
|
||||
import Route exposing (Route)
|
||||
|
@ -90,7 +63,9 @@ type alias Model =
|
|||
init : () -> ( Model, Effect Msg )
|
||||
init () =
|
||||
( {}
|
||||
, Effect.none
|
||||
, Effect.map
|
||||
(\_ -> NoOp)
|
||||
(Effect.sendCmd resetViewport)
|
||||
)
|
||||
|
||||
|
||||
|
@ -152,44 +127,3 @@ articleList device =
|
|||
)
|
||||
[ articleMeatApologetics ]
|
||||
]
|
||||
|
||||
|
||||
articleMaker : BlogArticle -> Element msg
|
||||
articleMaker article =
|
||||
column
|
||||
topLevelBox
|
||||
[ cardMaker
|
||||
[ cardTitleMaker (String.toUpper articleMeatApologetics.articleName)
|
||||
, cardFormatter
|
||||
[ cardContentSpacing
|
||||
[ column
|
||||
fieldSpacer
|
||||
[ cardSubTitleMaker
|
||||
[ articleImage articleMeatApologetics.articleImage
|
||||
, renderDeviceMarkdown articleMeatApologetics.articleBody
|
||||
, articleReferences article
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
|
||||
|
||||
articleReferences : BlogArticle -> Element msg
|
||||
articleReferences article =
|
||||
column
|
||||
[ width fill
|
||||
, height fill
|
||||
, paddingEach
|
||||
{ top = 10
|
||||
, right = 0
|
||||
, bottom = 0
|
||||
, left = 0
|
||||
}
|
||||
]
|
||||
[ column [ width fill, F.size 15, spacing 10 ] <|
|
||||
List.map2 (\x y -> makeReference x y)
|
||||
article.articleReferences
|
||||
(List.range 1 (List.length article.articleReferences))
|
||||
]
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
module Pages.Blog.Nagragoodrich exposing (Model, Msg, page)
|
||||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Articles.Article exposing (articleMaker)
|
||||
import Config.Helpers.CardFormat
|
||||
exposing
|
||||
( cardContentSpacing
|
||||
|
@ -17,45 +18,17 @@ import Config.Helpers.CardFormat
|
|||
, mobileImageSize
|
||||
, topLevelBox
|
||||
)
|
||||
import Config.Helpers.Format exposing (..)
|
||||
import Config.Helpers.Header
|
||||
exposing
|
||||
( Header
|
||||
, headerMaker
|
||||
)
|
||||
import Config.Helpers.Markdown exposing (..)
|
||||
import Config.Helpers.References exposing (makeReference)
|
||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageList
|
||||
, topLevelContainer
|
||||
)
|
||||
import Config.Helpers.StrengthBar
|
||||
exposing
|
||||
( barMaker
|
||||
, barPadding
|
||||
)
|
||||
import Config.Helpers.ToolTip exposing (..)
|
||||
import Config.Helpers.Viewport exposing (resetViewport)
|
||||
import Config.Pages.Blog.Records.NagraGoodrich exposing (articleNagraGoodrich)
|
||||
import Config.Pages.Blog.Types exposing (BlogArticle)
|
||||
import Config.Pages.Contact.Types exposing (..)
|
||||
import Config.Pages.Interviews.Types exposing (..)
|
||||
import Config.Pages.Products.Types exposing (..)
|
||||
import Config.Style.Colour exposing (colourTheme)
|
||||
import Config.Style.Transitions
|
||||
exposing
|
||||
( hoverFontDarkOrange
|
||||
, transitionStyleFast
|
||||
, transitionStyleSlow
|
||||
)
|
||||
import Effect exposing (Effect)
|
||||
import Element as E exposing (..)
|
||||
import Element.Background as B
|
||||
import Element.Border as D
|
||||
import Element.Font as F
|
||||
import Html
|
||||
import Html.Attributes as H exposing (style)
|
||||
import Layouts
|
||||
import Page exposing (Page)
|
||||
import Route exposing (Route)
|
||||
|
@ -90,7 +63,9 @@ type alias Model =
|
|||
init : () -> ( Model, Effect Msg )
|
||||
init () =
|
||||
( {}
|
||||
, Effect.none
|
||||
, Effect.map
|
||||
(\_ -> NoOp)
|
||||
(Effect.sendCmd resetViewport)
|
||||
)
|
||||
|
||||
|
||||
|
@ -152,43 +127,3 @@ articleList device =
|
|||
)
|
||||
[ articleNagraGoodrich ]
|
||||
]
|
||||
|
||||
|
||||
articleMaker : BlogArticle -> Element msg
|
||||
articleMaker article =
|
||||
column
|
||||
topLevelBox
|
||||
[ cardMaker
|
||||
[ cardTitleMaker (String.toUpper articleNagraGoodrich.articleName)
|
||||
, cardFormatter
|
||||
[ cardContentSpacing
|
||||
[ column
|
||||
fieldSpacer
|
||||
[ cardSubTitleMaker
|
||||
[ articleImage articleNagraGoodrich.articleImage
|
||||
, renderDeviceMarkdown articleNagraGoodrich.articleBody
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
|
||||
|
||||
articleReferences : BlogArticle -> Element msg
|
||||
articleReferences article =
|
||||
column
|
||||
[ width fill
|
||||
, height fill
|
||||
, paddingEach
|
||||
{ top = 10
|
||||
, right = 0
|
||||
, bottom = 0
|
||||
, left = 0
|
||||
}
|
||||
]
|
||||
[ column [ width fill, F.size 15, spacing 10 ] <|
|
||||
List.map2 (\x y -> makeReference x y)
|
||||
article.articleReferences
|
||||
(List.range 1 (List.length article.articleReferences))
|
||||
]
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
module Pages.Blog.Plantbasedmeta exposing (Model, Msg, page)
|
||||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Articles.Article exposing (articleMaker)
|
||||
import Config.Helpers.CardFormat
|
||||
exposing
|
||||
( cardContentSpacing
|
||||
|
@ -17,45 +18,17 @@ import Config.Helpers.CardFormat
|
|||
, mobileImageSize
|
||||
, topLevelBox
|
||||
)
|
||||
import Config.Helpers.Format exposing (..)
|
||||
import Config.Helpers.Header
|
||||
exposing
|
||||
( Header
|
||||
, headerMaker
|
||||
)
|
||||
import Config.Helpers.Markdown exposing (..)
|
||||
import Config.Helpers.References exposing (makeReference)
|
||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageList
|
||||
, topLevelContainer
|
||||
)
|
||||
import Config.Helpers.StrengthBar
|
||||
exposing
|
||||
( barMaker
|
||||
, barPadding
|
||||
)
|
||||
import Config.Helpers.ToolTip exposing (..)
|
||||
import Config.Helpers.Viewport exposing (resetViewport)
|
||||
import Config.Pages.Blog.Records.PlantBasedMeta exposing (articlePlantBasedMeta)
|
||||
import Config.Pages.Blog.Types exposing (BlogArticle)
|
||||
import Config.Pages.Contact.Types exposing (..)
|
||||
import Config.Pages.Interviews.Types exposing (..)
|
||||
import Config.Pages.Products.Types exposing (..)
|
||||
import Config.Style.Colour exposing (colourTheme)
|
||||
import Config.Style.Transitions
|
||||
exposing
|
||||
( hoverFontDarkOrange
|
||||
, transitionStyleFast
|
||||
, transitionStyleSlow
|
||||
)
|
||||
import Effect exposing (Effect)
|
||||
import Element as E exposing (..)
|
||||
import Element.Background as B
|
||||
import Element.Border as D
|
||||
import Element.Font as F
|
||||
import Html
|
||||
import Html.Attributes as H exposing (style)
|
||||
import Layouts
|
||||
import Page exposing (Page)
|
||||
import Route exposing (Route)
|
||||
|
@ -90,7 +63,9 @@ type alias Model =
|
|||
init : () -> ( Model, Effect Msg )
|
||||
init () =
|
||||
( {}
|
||||
, Effect.none
|
||||
, Effect.map
|
||||
(\_ -> NoOp)
|
||||
(Effect.sendCmd resetViewport)
|
||||
)
|
||||
|
||||
|
||||
|
@ -152,43 +127,3 @@ articleList device =
|
|||
)
|
||||
[ articlePlantBasedMeta ]
|
||||
]
|
||||
|
||||
|
||||
articleMaker : BlogArticle -> Element msg
|
||||
articleMaker article =
|
||||
column
|
||||
topLevelBox
|
||||
[ cardMaker
|
||||
[ cardTitleMaker (String.toUpper articlePlantBasedMeta.articleName)
|
||||
, cardFormatter
|
||||
[ cardContentSpacing
|
||||
[ column
|
||||
fieldSpacer
|
||||
[ cardSubTitleMaker
|
||||
[ articleImage articlePlantBasedMeta.articleImage
|
||||
, renderDeviceMarkdown articlePlantBasedMeta.articleBody
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
|
||||
|
||||
articleReferences : BlogArticle -> Element msg
|
||||
articleReferences article =
|
||||
column
|
||||
[ width fill
|
||||
, height fill
|
||||
, paddingEach
|
||||
{ top = 10
|
||||
, right = 0
|
||||
, bottom = 0
|
||||
, left = 0
|
||||
}
|
||||
]
|
||||
[ column [ width fill, F.size 15, spacing 10 ] <|
|
||||
List.map2 (\x y -> makeReference x y)
|
||||
article.articleReferences
|
||||
(List.range 1 (List.length article.articleReferences))
|
||||
]
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
module Pages.Blog.Quacksmashing exposing (Model, Msg, page)
|
||||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Articles.Article exposing (articleMaker)
|
||||
import Config.Helpers.CardFormat
|
||||
exposing
|
||||
( cardContentSpacing
|
||||
|
@ -17,45 +18,17 @@ import Config.Helpers.CardFormat
|
|||
, mobileImageSize
|
||||
, topLevelBox
|
||||
)
|
||||
import Config.Helpers.Format exposing (..)
|
||||
import Config.Helpers.Header
|
||||
exposing
|
||||
( Header
|
||||
, headerMaker
|
||||
)
|
||||
import Config.Helpers.Markdown exposing (..)
|
||||
import Config.Helpers.References exposing (makeReference)
|
||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageList
|
||||
, topLevelContainer
|
||||
)
|
||||
import Config.Helpers.StrengthBar
|
||||
exposing
|
||||
( barMaker
|
||||
, barPadding
|
||||
)
|
||||
import Config.Helpers.ToolTip exposing (..)
|
||||
import Config.Helpers.Viewport exposing (resetViewport)
|
||||
import Config.Pages.Blog.Records.QuackSmashing exposing (articleQuackSmashing)
|
||||
import Config.Pages.Blog.Types exposing (BlogArticle)
|
||||
import Config.Pages.Contact.Types exposing (..)
|
||||
import Config.Pages.Interviews.Types exposing (..)
|
||||
import Config.Pages.Products.Types exposing (..)
|
||||
import Config.Style.Colour exposing (colourTheme)
|
||||
import Config.Style.Transitions
|
||||
exposing
|
||||
( hoverFontDarkOrange
|
||||
, transitionStyleFast
|
||||
, transitionStyleSlow
|
||||
)
|
||||
import Effect exposing (Effect)
|
||||
import Element as E exposing (..)
|
||||
import Element.Background as B
|
||||
import Element.Border as D
|
||||
import Element.Font as F
|
||||
import Html
|
||||
import Html.Attributes as H exposing (style)
|
||||
import Layouts
|
||||
import Page exposing (Page)
|
||||
import Route exposing (Route)
|
||||
|
@ -90,7 +63,9 @@ type alias Model =
|
|||
init : () -> ( Model, Effect Msg )
|
||||
init () =
|
||||
( {}
|
||||
, Effect.none
|
||||
, Effect.map
|
||||
(\_ -> NoOp)
|
||||
(Effect.sendCmd resetViewport)
|
||||
)
|
||||
|
||||
|
||||
|
@ -152,44 +127,3 @@ articleList device =
|
|||
)
|
||||
[ articleQuackSmashing ]
|
||||
]
|
||||
|
||||
|
||||
articleMaker : BlogArticle -> Element msg
|
||||
articleMaker article =
|
||||
column
|
||||
topLevelBox
|
||||
[ cardMaker
|
||||
[ cardTitleMaker (String.toUpper articleQuackSmashing.articleName)
|
||||
, cardFormatter
|
||||
[ cardContentSpacing
|
||||
[ column
|
||||
fieldSpacer
|
||||
[ cardSubTitleMaker
|
||||
[ articleImage articleQuackSmashing.articleImage
|
||||
, renderDeviceMarkdown articleQuackSmashing.articleBody
|
||||
, articleReferences article
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
|
||||
|
||||
articleReferences : BlogArticle -> Element msg
|
||||
articleReferences article =
|
||||
column
|
||||
[ width fill
|
||||
, height fill
|
||||
, paddingEach
|
||||
{ top = 10
|
||||
, right = 0
|
||||
, bottom = 0
|
||||
, left = 0
|
||||
}
|
||||
]
|
||||
[ column [ width fill, F.size 15, spacing 10 ] <|
|
||||
List.map2 (\x y -> makeReference x y)
|
||||
article.articleReferences
|
||||
(List.range 1 (List.length article.articleReferences))
|
||||
]
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
module Pages.Blog.Sapiendiet exposing (Model, Msg, page)
|
||||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Articles.Article exposing (articleMaker)
|
||||
import Config.Helpers.CardFormat
|
||||
exposing
|
||||
( cardContentSpacing
|
||||
|
@ -17,45 +18,17 @@ import Config.Helpers.CardFormat
|
|||
, mobileImageSize
|
||||
, topLevelBox
|
||||
)
|
||||
import Config.Helpers.Format exposing (..)
|
||||
import Config.Helpers.Header
|
||||
exposing
|
||||
( Header
|
||||
, headerMaker
|
||||
)
|
||||
import Config.Helpers.Markdown exposing (..)
|
||||
import Config.Helpers.References exposing (makeReference)
|
||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageList
|
||||
, topLevelContainer
|
||||
)
|
||||
import Config.Helpers.StrengthBar
|
||||
exposing
|
||||
( barMaker
|
||||
, barPadding
|
||||
)
|
||||
import Config.Helpers.ToolTip exposing (..)
|
||||
import Config.Helpers.Viewport exposing (resetViewport)
|
||||
import Config.Pages.Blog.Records.SapienDiet exposing (articleSapienDiet)
|
||||
import Config.Pages.Blog.Types exposing (BlogArticle)
|
||||
import Config.Pages.Contact.Types exposing (..)
|
||||
import Config.Pages.Interviews.Types exposing (..)
|
||||
import Config.Pages.Products.Types exposing (..)
|
||||
import Config.Style.Colour exposing (colourTheme)
|
||||
import Config.Style.Transitions
|
||||
exposing
|
||||
( hoverFontDarkOrange
|
||||
, transitionStyleFast
|
||||
, transitionStyleSlow
|
||||
)
|
||||
import Effect exposing (Effect)
|
||||
import Element as E exposing (..)
|
||||
import Element.Background as B
|
||||
import Element.Border as D
|
||||
import Element.Font as F
|
||||
import Html
|
||||
import Html.Attributes as H exposing (style)
|
||||
import Layouts
|
||||
import Page exposing (Page)
|
||||
import Route exposing (Route)
|
||||
|
@ -90,7 +63,9 @@ type alias Model =
|
|||
init : () -> ( Model, Effect Msg )
|
||||
init () =
|
||||
( {}
|
||||
, Effect.none
|
||||
, Effect.map
|
||||
(\_ -> NoOp)
|
||||
(Effect.sendCmd resetViewport)
|
||||
)
|
||||
|
||||
|
||||
|
@ -152,44 +127,3 @@ articleList device =
|
|||
)
|
||||
[ articleSapienDiet ]
|
||||
]
|
||||
|
||||
|
||||
articleMaker : BlogArticle -> Element msg
|
||||
articleMaker article =
|
||||
column
|
||||
topLevelBox
|
||||
[ cardMaker
|
||||
[ cardTitleMaker (String.toUpper articleSapienDiet.articleName)
|
||||
, cardFormatter
|
||||
[ cardContentSpacing
|
||||
[ column
|
||||
fieldSpacer
|
||||
[ cardSubTitleMaker
|
||||
[ articleImage articleSapienDiet.articleImage
|
||||
, renderDeviceMarkdown articleSapienDiet.articleBody
|
||||
, articleReferences article
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
|
||||
|
||||
articleReferences : BlogArticle -> Element msg
|
||||
articleReferences article =
|
||||
column
|
||||
[ width fill
|
||||
, height fill
|
||||
, paddingEach
|
||||
{ top = 10
|
||||
, right = 0
|
||||
, bottom = 0
|
||||
, left = 0
|
||||
}
|
||||
]
|
||||
[ column [ width fill, F.size 15, spacing 10 ] <|
|
||||
List.map2 (\x y -> makeReference x y)
|
||||
article.articleReferences
|
||||
(List.range 1 (List.length article.articleReferences))
|
||||
]
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
module Pages.Blog.Seedoils exposing (Model, Msg, page)
|
||||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Articles.Article exposing (articleMaker)
|
||||
import Config.Helpers.CardFormat
|
||||
exposing
|
||||
( cardContentSpacing
|
||||
|
@ -17,45 +18,17 @@ import Config.Helpers.CardFormat
|
|||
, mobileImageSize
|
||||
, topLevelBox
|
||||
)
|
||||
import Config.Helpers.Format exposing (..)
|
||||
import Config.Helpers.Header
|
||||
exposing
|
||||
( Header
|
||||
, headerMaker
|
||||
)
|
||||
import Config.Helpers.Markdown exposing (..)
|
||||
import Config.Helpers.References exposing (makeReference)
|
||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageList
|
||||
, topLevelContainer
|
||||
)
|
||||
import Config.Helpers.StrengthBar
|
||||
exposing
|
||||
( barMaker
|
||||
, barPadding
|
||||
)
|
||||
import Config.Helpers.ToolTip exposing (..)
|
||||
import Config.Helpers.Viewport exposing (resetViewport)
|
||||
import Config.Pages.Blog.Records.SeedOils exposing (articleSeedOils)
|
||||
import Config.Pages.Blog.Types exposing (BlogArticle)
|
||||
import Config.Pages.Contact.Types exposing (..)
|
||||
import Config.Pages.Interviews.Types exposing (..)
|
||||
import Config.Pages.Products.Types exposing (..)
|
||||
import Config.Style.Colour exposing (colourTheme)
|
||||
import Config.Style.Transitions
|
||||
exposing
|
||||
( hoverFontDarkOrange
|
||||
, transitionStyleFast
|
||||
, transitionStyleSlow
|
||||
)
|
||||
import Effect exposing (Effect)
|
||||
import Element as E exposing (..)
|
||||
import Element.Background as B
|
||||
import Element.Border as D
|
||||
import Element.Font as F
|
||||
import Html
|
||||
import Html.Attributes as H exposing (style)
|
||||
import Layouts
|
||||
import Page exposing (Page)
|
||||
import Route exposing (Route)
|
||||
|
@ -90,7 +63,9 @@ type alias Model =
|
|||
init : () -> ( Model, Effect Msg )
|
||||
init () =
|
||||
( {}
|
||||
, Effect.none
|
||||
, Effect.map
|
||||
(\_ -> NoOp)
|
||||
(Effect.sendCmd resetViewport)
|
||||
)
|
||||
|
||||
|
||||
|
@ -152,44 +127,3 @@ articleList device =
|
|||
)
|
||||
[ articleSeedOils ]
|
||||
]
|
||||
|
||||
|
||||
articleMaker : BlogArticle -> Element msg
|
||||
articleMaker article =
|
||||
column
|
||||
topLevelBox
|
||||
[ cardMaker
|
||||
[ cardTitleMaker (String.toUpper articleSeedOils.articleName)
|
||||
, cardFormatter
|
||||
[ cardContentSpacing
|
||||
[ column
|
||||
fieldSpacer
|
||||
[ cardSubTitleMaker
|
||||
[ articleImage articleSeedOils.articleImage
|
||||
, renderDeviceMarkdown articleSeedOils.articleBody
|
||||
, articleReferences article
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
|
||||
|
||||
articleReferences : BlogArticle -> Element msg
|
||||
articleReferences article =
|
||||
column
|
||||
[ width fill
|
||||
, height fill
|
||||
, paddingEach
|
||||
{ top = 10
|
||||
, right = 0
|
||||
, bottom = 0
|
||||
, left = 0
|
||||
}
|
||||
]
|
||||
[ column [ width fill, F.size 15, spacing 10 ] <|
|
||||
List.map2 (\x y -> makeReference x y)
|
||||
article.articleReferences
|
||||
(List.range 1 (List.length article.articleReferences))
|
||||
]
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
module Pages.Blog.Shenanigans exposing (Model, Msg, page)
|
||||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Articles.Article exposing (articleMaker)
|
||||
import Config.Helpers.CardFormat
|
||||
exposing
|
||||
( cardContentSpacing
|
||||
|
@ -17,45 +18,17 @@ import Config.Helpers.CardFormat
|
|||
, mobileImageSize
|
||||
, topLevelBox
|
||||
)
|
||||
import Config.Helpers.Format exposing (..)
|
||||
import Config.Helpers.Header
|
||||
exposing
|
||||
( Header
|
||||
, headerMaker
|
||||
)
|
||||
import Config.Helpers.Markdown exposing (..)
|
||||
import Config.Helpers.References exposing (makeReference)
|
||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageList
|
||||
, topLevelContainer
|
||||
)
|
||||
import Config.Helpers.StrengthBar
|
||||
exposing
|
||||
( barMaker
|
||||
, barPadding
|
||||
)
|
||||
import Config.Helpers.ToolTip exposing (..)
|
||||
import Config.Helpers.Viewport exposing (resetViewport)
|
||||
import Config.Pages.Blog.Records.Shenangians exposing (articleShenanigans)
|
||||
import Config.Pages.Blog.Types exposing (BlogArticle)
|
||||
import Config.Pages.Contact.Types exposing (..)
|
||||
import Config.Pages.Interviews.Types exposing (..)
|
||||
import Config.Pages.Products.Types exposing (..)
|
||||
import Config.Style.Colour exposing (colourTheme)
|
||||
import Config.Style.Transitions
|
||||
exposing
|
||||
( hoverFontDarkOrange
|
||||
, transitionStyleFast
|
||||
, transitionStyleSlow
|
||||
)
|
||||
import Effect exposing (Effect)
|
||||
import Element as E exposing (..)
|
||||
import Element.Background as B
|
||||
import Element.Border as D
|
||||
import Element.Font as F
|
||||
import Html
|
||||
import Html.Attributes as H exposing (style)
|
||||
import Layouts
|
||||
import Page exposing (Page)
|
||||
import Route exposing (Route)
|
||||
|
@ -90,7 +63,9 @@ type alias Model =
|
|||
init : () -> ( Model, Effect Msg )
|
||||
init () =
|
||||
( {}
|
||||
, Effect.none
|
||||
, Effect.map
|
||||
(\_ -> NoOp)
|
||||
(Effect.sendCmd resetViewport)
|
||||
)
|
||||
|
||||
|
||||
|
@ -152,43 +127,3 @@ articleList device =
|
|||
)
|
||||
[ articleShenanigans ]
|
||||
]
|
||||
|
||||
|
||||
articleMaker : BlogArticle -> Element msg
|
||||
articleMaker article =
|
||||
column
|
||||
topLevelBox
|
||||
[ cardMaker
|
||||
[ cardTitleMaker (String.toUpper articleShenanigans.articleName)
|
||||
, cardFormatter
|
||||
[ cardContentSpacing
|
||||
[ column
|
||||
fieldSpacer
|
||||
[ cardSubTitleMaker
|
||||
[ articleImage articleShenanigans.articleImage
|
||||
, renderDeviceMarkdown articleShenanigans.articleBody
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
|
||||
|
||||
articleReferences : BlogArticle -> Element msg
|
||||
articleReferences article =
|
||||
column
|
||||
[ width fill
|
||||
, height fill
|
||||
, paddingEach
|
||||
{ top = 10
|
||||
, right = 0
|
||||
, bottom = 0
|
||||
, left = 0
|
||||
}
|
||||
]
|
||||
[ column [ width fill, F.size 15, spacing 10 ] <|
|
||||
List.map2 (\x y -> makeReference x y)
|
||||
article.articleReferences
|
||||
(List.range 1 (List.length article.articleReferences))
|
||||
]
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
module Pages.Blog.Sweetdeception exposing (Model, Msg, page)
|
||||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Articles.Article exposing (articleMaker)
|
||||
import Config.Helpers.CardFormat
|
||||
exposing
|
||||
( cardContentSpacing
|
||||
|
@ -17,45 +18,17 @@ import Config.Helpers.CardFormat
|
|||
, mobileImageSize
|
||||
, topLevelBox
|
||||
)
|
||||
import Config.Helpers.Format exposing (..)
|
||||
import Config.Helpers.Header
|
||||
exposing
|
||||
( Header
|
||||
, headerMaker
|
||||
)
|
||||
import Config.Helpers.Markdown exposing (..)
|
||||
import Config.Helpers.References exposing (makeReference)
|
||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageList
|
||||
, topLevelContainer
|
||||
)
|
||||
import Config.Helpers.StrengthBar
|
||||
exposing
|
||||
( barMaker
|
||||
, barPadding
|
||||
)
|
||||
import Config.Helpers.ToolTip exposing (..)
|
||||
import Config.Helpers.Viewport exposing (resetViewport)
|
||||
import Config.Pages.Blog.Records.SweetDeception exposing (articleSweetDeception)
|
||||
import Config.Pages.Blog.Types exposing (BlogArticle)
|
||||
import Config.Pages.Contact.Types exposing (..)
|
||||
import Config.Pages.Interviews.Types exposing (..)
|
||||
import Config.Pages.Products.Types exposing (..)
|
||||
import Config.Style.Colour exposing (colourTheme)
|
||||
import Config.Style.Transitions
|
||||
exposing
|
||||
( hoverFontDarkOrange
|
||||
, transitionStyleFast
|
||||
, transitionStyleSlow
|
||||
)
|
||||
import Effect exposing (Effect)
|
||||
import Element as E exposing (..)
|
||||
import Element.Background as B
|
||||
import Element.Border as D
|
||||
import Element.Font as F
|
||||
import Html
|
||||
import Html.Attributes as H exposing (style)
|
||||
import Layouts
|
||||
import Page exposing (Page)
|
||||
import Route exposing (Route)
|
||||
|
@ -90,7 +63,9 @@ type alias Model =
|
|||
init : () -> ( Model, Effect Msg )
|
||||
init () =
|
||||
( {}
|
||||
, Effect.none
|
||||
, Effect.map
|
||||
(\_ -> NoOp)
|
||||
(Effect.sendCmd resetViewport)
|
||||
)
|
||||
|
||||
|
||||
|
@ -152,44 +127,3 @@ articleList device =
|
|||
)
|
||||
[ articleSweetDeception ]
|
||||
]
|
||||
|
||||
|
||||
articleMaker : BlogArticle -> Element msg
|
||||
articleMaker article =
|
||||
column
|
||||
topLevelBox
|
||||
[ cardMaker
|
||||
[ cardTitleMaker (String.toUpper articleSweetDeception.articleName)
|
||||
, cardFormatter
|
||||
[ cardContentSpacing
|
||||
[ column
|
||||
fieldSpacer
|
||||
[ cardSubTitleMaker
|
||||
[ articleImage articleSweetDeception.articleImage
|
||||
, renderDeviceMarkdown articleSweetDeception.articleBody
|
||||
, articleReferences article
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
|
||||
|
||||
articleReferences : BlogArticle -> Element msg
|
||||
articleReferences article =
|
||||
column
|
||||
[ width fill
|
||||
, height fill
|
||||
, paddingEach
|
||||
{ top = 10
|
||||
, right = 0
|
||||
, bottom = 0
|
||||
, left = 0
|
||||
}
|
||||
]
|
||||
[ column [ width fill, F.size 15, spacing 10 ] <|
|
||||
List.map2 (\x y -> makeReference x y)
|
||||
article.articleReferences
|
||||
(List.range 1 (List.length article.articleReferences))
|
||||
]
|
||||
|
|
|
@ -18,26 +18,21 @@ import Config.Helpers.CardFormat
|
|||
, topLevelBox
|
||||
)
|
||||
import Config.Helpers.Format exposing (..)
|
||||
import Config.Helpers.Header
|
||||
exposing
|
||||
( Header
|
||||
, headerMaker
|
||||
)
|
||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageList
|
||||
, topLevelContainer
|
||||
)
|
||||
import Config.Helpers.StrengthBar
|
||||
import Config.Helpers.ServiceFormat
|
||||
exposing
|
||||
( barMaker
|
||||
, barPadding
|
||||
( chunkMaker
|
||||
, titleMaker
|
||||
)
|
||||
import Config.Helpers.ToolTip exposing (..)
|
||||
import Config.Helpers.Viewport exposing (resetViewport)
|
||||
import Config.Pages.Contact.Types exposing (..)
|
||||
import Config.Pages.Interviews.Types exposing (..)
|
||||
import Config.Pages.Products.Types exposing (..)
|
||||
import Config.Style.Colour exposing (colourTheme)
|
||||
import Config.Style.Transitions
|
||||
exposing
|
||||
|
@ -185,48 +180,16 @@ instructionBody =
|
|||
, right = 0
|
||||
}
|
||||
]
|
||||
[ paragraph
|
||||
([ F.color colourTheme.textLightGrey
|
||||
, paragraphSpacing
|
||||
, paragraphFontSize
|
||||
]
|
||||
++ [ F.alignLeft
|
||||
, width fill
|
||||
]
|
||||
)
|
||||
[ chunkMaker
|
||||
[ text "The following terms may seem unreasonable to some, but after years on a large platform, I've learned the importance of filtering the criticisms I receive. Most feedback I receive is just vague gesturing and lacks substance, making some sort of quality filter essential. Thank you for your patience and understanding." ]
|
||||
, paragraph
|
||||
([ F.color colourTheme.textLightGrey
|
||||
, paragraphSpacing
|
||||
, paragraphFontSize
|
||||
]
|
||||
++ [ F.alignLeft
|
||||
, width fill
|
||||
]
|
||||
)
|
||||
, chunkMaker
|
||||
[ text "Please keep in mind that any failure to comply with the following terms and conditions will forfeit your access to my time and attention. I ask that you respect my time and read these terms carefully. You are the one requesting an audience with me, and my time is mine to donate as I see fit. If you wish to submit your criticisms, you must do so on my terms, following the rules and conditions that streamline the process for me." ]
|
||||
, paragraph
|
||||
([ F.color colourTheme.textLightGrey
|
||||
, paragraphSpacing
|
||||
, paragraphFontSize
|
||||
, F.bold
|
||||
]
|
||||
++ [ F.center
|
||||
, width fill
|
||||
, paddingEach
|
||||
{ top = 10
|
||||
, bottom = 10
|
||||
, left = 0
|
||||
, right = 0
|
||||
}
|
||||
]
|
||||
)
|
||||
[ el
|
||||
[ F.color colourTheme.textLightOrange
|
||||
, F.size 18
|
||||
]
|
||||
<|
|
||||
text "Terms and Conditions"
|
||||
, column
|
||||
[ centerX
|
||||
, width fill
|
||||
]
|
||||
[ divider
|
||||
, titleMaker (String.toUpper "Terms and Conditions")
|
||||
]
|
||||
, column [ spacing 10 ] <|
|
||||
List.indexedMap
|
||||
|
@ -255,38 +218,11 @@ instructionBody =
|
|||
]
|
||||
)
|
||||
termsAndConditions
|
||||
, paragraph
|
||||
([ F.color colourTheme.textLightGrey
|
||||
, paragraphSpacing
|
||||
, paragraphFontSize
|
||||
, F.bold
|
||||
]
|
||||
++ [ F.center
|
||||
, width fill
|
||||
, paddingEach
|
||||
{ top = 10
|
||||
, bottom = 10
|
||||
, left = 0
|
||||
, right = 0
|
||||
}
|
||||
]
|
||||
)
|
||||
[ el
|
||||
[ F.color colourTheme.textLightOrange
|
||||
, F.size 18
|
||||
]
|
||||
<|
|
||||
text "Additional Clarifications"
|
||||
, column [ centerX, width fill ]
|
||||
[ divider
|
||||
, titleMaker (String.toUpper "Additional Clarifications")
|
||||
]
|
||||
, paragraph
|
||||
([ F.color colourTheme.textLightGrey
|
||||
, paragraphSpacing
|
||||
, paragraphFontSize
|
||||
]
|
||||
++ [ F.alignLeft
|
||||
, width fill
|
||||
]
|
||||
)
|
||||
, chunkMaker
|
||||
[ text "• "
|
||||
, text "You are only allowed to post one criticism at a time in the "
|
||||
, newTabLink []
|
||||
|
@ -295,35 +231,11 @@ instructionBody =
|
|||
}
|
||||
, text " channel. You may post an additional criticism only after the previous one has been addressed and resolved to my satisfaction. This policy aims to reduce spamming, rambling, and Gish galloping, and to encourage linear discourse."
|
||||
]
|
||||
, paragraph
|
||||
([ F.color colourTheme.textLightGrey
|
||||
, paragraphSpacing
|
||||
, paragraphFontSize
|
||||
]
|
||||
++ [ F.alignLeft
|
||||
, width fill
|
||||
]
|
||||
)
|
||||
, chunkMaker
|
||||
[ text "• ", text "You may or may not be asked to voice chat about your criticism. While your willingness to engage in voice chat is a necessary condition for submitting your criticism, it does not guarantee that a voice chat will be requested. If your initial criticism is clear and I agree with it, then no voice chat will be required." ]
|
||||
, paragraph
|
||||
([ F.color colourTheme.textLightGrey
|
||||
, paragraphSpacing
|
||||
, paragraphFontSize
|
||||
]
|
||||
++ [ F.alignLeft
|
||||
, width fill
|
||||
]
|
||||
)
|
||||
, chunkMaker
|
||||
[ text "• ", text "You may or may not be asked to have your criticism formalized. While your willingness to have your criticism formalized is a necessary condition for submitting your criticism, it does not guarantee that a formalization will be requested. If your initial criticism is clear and I agree with it, then no formalization will be required." ]
|
||||
, paragraph
|
||||
([ F.color colourTheme.textLightGrey
|
||||
, paragraphSpacing
|
||||
, paragraphFontSize
|
||||
]
|
||||
++ [ F.alignLeft
|
||||
, width fill
|
||||
]
|
||||
)
|
||||
, chunkMaker
|
||||
[ text "• "
|
||||
, text "If I find it necessary to access a text-based channel (for simple clarifying questions, for example), then either I or a moderator will open a new thread in the "
|
||||
, newTabLink []
|
||||
|
@ -332,15 +244,7 @@ instructionBody =
|
|||
}
|
||||
, text " channel. There we can then engage in a text-based discussion and/or ping other users if needed."
|
||||
]
|
||||
, paragraph
|
||||
([ F.color colourTheme.textLightGrey
|
||||
, paragraphSpacing
|
||||
, paragraphFontSize
|
||||
]
|
||||
++ [ F.alignLeft
|
||||
, width fill
|
||||
]
|
||||
)
|
||||
, chunkMaker
|
||||
[ text "• ", text "I will only request that your criticism be formalized if I do not understand it and we have exhausted all other reasonable means of clarification. If formalization is requested, you will not need to do it yourself, as I recognize that not everyone understands formal logic. If formalization is requested and I am unavailable to assist you, you may ping the @Logic role, and another user may help you." ]
|
||||
]
|
||||
|
||||
|
|
|
@ -29,24 +29,23 @@ import Config.Helpers.CardFormat
|
|||
import Config.Helpers.Converters exposing (formatName)
|
||||
import Config.Helpers.Format
|
||||
exposing
|
||||
( paragraphFontSize
|
||||
( headerFontSizeSmall
|
||||
, paragraphFontSize
|
||||
, paragraphSpacing
|
||||
)
|
||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageList
|
||||
, topLevelContainer
|
||||
)
|
||||
import Config.Helpers.ServiceFormat exposing (chunkMaker)
|
||||
import Config.Helpers.Viewport exposing (resetViewport)
|
||||
import Config.Pages.Debate.Arguments.List exposing (argumentListNumber)
|
||||
import Config.Pages.Debate.Cuckery.List exposing (cuckListNumber)
|
||||
import Config.Pages.Debate.Gibberish.List exposing (gibberishListNumber)
|
||||
import Config.Pages.Debate.Arguments.List exposing (argumentList)
|
||||
import Config.Pages.Debate.Cuckery.List exposing (cuckList)
|
||||
import Config.Pages.Debate.Gibberish.List exposing (gibberishList)
|
||||
import Config.Pages.Debate.Types exposing (..)
|
||||
import Config.Helpers.Header
|
||||
exposing
|
||||
( Header
|
||||
, headerMaker
|
||||
)
|
||||
import Config.Style.Colour as T exposing (colourTheme)
|
||||
import Config.Style.Glow
|
||||
exposing
|
||||
|
@ -219,7 +218,7 @@ mobileDebateMaker debate =
|
|||
[ mobileCardMaker mobileImageBoxSize mobileImageSize (debateImage debate) debate.debateLink
|
||||
, column
|
||||
[ width fill ]
|
||||
[]
|
||||
[ descriptionMaker debate ]
|
||||
]
|
||||
]
|
||||
]
|
||||
|
@ -247,13 +246,12 @@ descriptionMaker debate =
|
|||
, centerX
|
||||
, spacing 3
|
||||
]
|
||||
[ row []
|
||||
[ row [ spacing 5 ]
|
||||
[ paragraph
|
||||
[ F.color colourTheme.textLightOrange
|
||||
, paragraphSpacing
|
||||
, paragraphFontSize
|
||||
, F.bold
|
||||
, F.size 18
|
||||
, headerFontSizeSmall
|
||||
, E.width fill
|
||||
]
|
||||
[ if debate.debateTitle == "Arguments" then
|
||||
|
@ -267,27 +265,18 @@ descriptionMaker debate =
|
|||
|
||||
else
|
||||
text ""
|
||||
, text (String.fromInt debate.debateCount)
|
||||
|> el
|
||||
[ F.color colourTheme.textLightGrey
|
||||
, F.regular
|
||||
, F.size 16
|
||||
]
|
||||
]
|
||||
, text (String.fromInt debate.debateCount)
|
||||
|> el
|
||||
[ F.color colourTheme.textLightGrey
|
||||
, F.regular
|
||||
, F.size 16
|
||||
]
|
||||
]
|
||||
, row [ width fill ]
|
||||
[ paragraph
|
||||
[ F.color colourTheme.textLightGrey
|
||||
, paragraphSpacing
|
||||
, paragraphFontSize
|
||||
, spacing 3
|
||||
, F.regular
|
||||
, F.alignLeft
|
||||
, F.size 16
|
||||
]
|
||||
, el [ width fill ] <|
|
||||
chunkMaker
|
||||
[ text debate.debateDescription
|
||||
]
|
||||
]
|
||||
]
|
||||
|
||||
|
||||
|
@ -299,7 +288,7 @@ debateArguments =
|
|||
in
|
||||
{ debateTitle = name
|
||||
, debateLink = Path.toString Path.Debate_Arguments
|
||||
, debateCount = argumentListNumber
|
||||
, debateCount = List.length argumentList
|
||||
, debateImage = formatName name
|
||||
, isNewTabLink = False
|
||||
, debateDescription = "This page features arguments that I hold to be sound, though with varying degrees of confidence. I'm open to hearing all challenges, as I am ready to engage with any substantive critiques and defend any argument listed. I have additionally included a confidence meter with each argument to give readers a clearer understanding of how strongly I hold to the argument."
|
||||
|
@ -314,7 +303,7 @@ debateCuckList =
|
|||
in
|
||||
{ debateTitle = name
|
||||
, debateLink = Path.toString Path.Debate_Cucklist
|
||||
, debateCount = cuckListNumber
|
||||
, debateCount = List.length cuckList
|
||||
, debateImage = formatName name
|
||||
, isNewTabLink = False
|
||||
, debateDescription = "This page features a list of complete fucking morons who wrote cheques with their mouths that their asses ultimately couldn't cash. Each person included in this list has dodged debating me in some way, shape, or form. Whether it's simply ignoring invitations, or outright refusing to engage, or agreeing to debate and then subsequently withdrawing. All such instances are catalogued here."
|
||||
|
@ -329,7 +318,7 @@ debateGibberish =
|
|||
in
|
||||
{ debateTitle = name
|
||||
, debateLink = Path.toString Path.Debate_Gibberish
|
||||
, debateCount = gibberishListNumber
|
||||
, debateCount = List.length gibberishList
|
||||
, debateImage = formatName name
|
||||
, isNewTabLink = False
|
||||
, debateDescription = "This page is specifically for terms and ostensible concepts that I don't have a good reason to believe are understandable from at least one viewpoint. If the clarification of a philosophical term is unsatisfying or unsuccessful, and my interlocutor has exhausted all means of rendering the concept to me, the term ends up here until someone explains to me what the fuck it even means."
|
||||
|
|
|
@ -21,11 +21,8 @@ import Config.Helpers.Format
|
|||
( paragraphFontSize
|
||||
, paragraphSpacing
|
||||
)
|
||||
import Config.Helpers.Header
|
||||
exposing
|
||||
( Header
|
||||
, headerMaker
|
||||
)
|
||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageList
|
||||
|
@ -41,9 +38,9 @@ import Config.Helpers.Viewport exposing (resetViewport)
|
|||
import Config.Pages.Debate.Arguments.List
|
||||
exposing
|
||||
( argumentList
|
||||
, argumentListNumber
|
||||
)
|
||||
import Config.Pages.Debate.Arguments.Types exposing (..)
|
||||
import Config.Helpers.Converters exposing (toTitleCase)
|
||||
import Config.Style.Colour exposing (colourTheme)
|
||||
import Config.Style.Glow
|
||||
exposing
|
||||
|
@ -693,7 +690,7 @@ formalizationMaker argument padding =
|
|||
[ F.color colourTheme.textLightOrange
|
||||
, F.bold
|
||||
, spacing 3
|
||||
, F.size 17
|
||||
, paragraphFontSize
|
||||
]
|
||||
[ text
|
||||
(if entryIndex < List.length argumentEntry.premises then
|
||||
|
|
|
@ -22,6 +22,8 @@ import Config.Helpers.Format
|
|||
( paragraphFontSize
|
||||
, paragraphSpacing
|
||||
)
|
||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageList
|
||||
|
@ -34,11 +36,6 @@ import Config.Pages.Debate.Cuckery.List
|
|||
, cuckListNumber
|
||||
)
|
||||
import Config.Pages.Debate.Cuckery.Types exposing (..)
|
||||
import Config.Helpers.Header
|
||||
exposing
|
||||
( Header
|
||||
, headerMaker
|
||||
)
|
||||
import Config.Style.Colour exposing (colourTheme)
|
||||
import Config.Style.Transitions
|
||||
exposing
|
||||
|
|
|
@ -21,6 +21,8 @@ import Config.Helpers.Format
|
|||
( paragraphFontSize
|
||||
, paragraphSpacing
|
||||
)
|
||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageList
|
||||
|
@ -34,7 +36,8 @@ import Config.Helpers.StrengthBar
|
|||
import Config.Helpers.ToolTip exposing (tooltip)
|
||||
import Config.Helpers.Viewport exposing (resetViewport)
|
||||
import Config.Pages.Debate.Arguments.Types exposing (..)
|
||||
import Config.Pages.Debate.Gibberish.List exposing (gibberishListNumber)
|
||||
import Config.Helpers.Converters exposing (toTitleCase)
|
||||
import Config.Pages.Debate.Gibberish.List exposing (gibberishList)
|
||||
import Config.Pages.Debate.Gibberish.Records.Epistemology exposing (epistemologyGibberish)
|
||||
import Config.Pages.Debate.Gibberish.Records.Metaphysics exposing (metaphysicsGibberish)
|
||||
import Config.Pages.Debate.Gibberish.Records.Normativity exposing (normativityGibberish)
|
||||
|
@ -43,12 +46,6 @@ import Config.Pages.Debate.Gibberish.Records.PhilOfLanguage exposing (philOfLang
|
|||
import Config.Pages.Debate.Gibberish.Records.PhilOfMind exposing (philOfMindGibberish)
|
||||
import Config.Pages.Debate.Gibberish.Records.Theology exposing (theologyGibberish)
|
||||
import Config.Pages.Debate.Gibberish.Types exposing (..)
|
||||
import Config.Helpers.Header exposing (..)
|
||||
import Config.Helpers.Header
|
||||
exposing
|
||||
( Header
|
||||
, headerMaker
|
||||
)
|
||||
import Config.Style.Colour exposing (colourTheme)
|
||||
import Effect exposing (Effect)
|
||||
import Element as E exposing (..)
|
||||
|
|
|
@ -18,9 +18,12 @@ import Config.Helpers.CardFormat
|
|||
)
|
||||
import Config.Helpers.Format
|
||||
exposing
|
||||
( paragraphFontSize
|
||||
( headerFontSizeSmall
|
||||
, paragraphFontSize
|
||||
, paragraphSpacing
|
||||
)
|
||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageList
|
||||
|
@ -42,12 +45,6 @@ import Config.Pages.Donate.Records.PayPal exposing (donatePayPal)
|
|||
import Config.Pages.Donate.Records.Stripe exposing (donateStripe)
|
||||
import Config.Pages.Donate.Records.YouTube exposing (donateYouTube)
|
||||
import Config.Pages.Donate.Types exposing (..)
|
||||
import Config.Helpers.Header exposing (..)
|
||||
import Config.Helpers.Header
|
||||
exposing
|
||||
( Header
|
||||
, headerMaker
|
||||
)
|
||||
import Config.Style.Colour as T exposing (..)
|
||||
import Effect exposing (Effect)
|
||||
import Element as E exposing (..)
|
||||
|
@ -152,13 +149,13 @@ donateList device =
|
|||
[ donateHeader ]
|
||||
, (case ( device.class, device.orientation ) of
|
||||
( Phone, Portrait ) ->
|
||||
List.map donateMakerMobile
|
||||
List.map (\donate -> donateMakerMobile donate device)
|
||||
|
||||
( Tablet, Portrait ) ->
|
||||
List.map donateMakerMobile
|
||||
List.map (\donate -> donateMakerMobile donate device)
|
||||
|
||||
_ ->
|
||||
List.map donateMaker
|
||||
List.map (\donate -> donateMaker donate device)
|
||||
)
|
||||
[ donateLiberaPay
|
||||
, donateStripe
|
||||
|
@ -182,20 +179,20 @@ donateHeader =
|
|||
}
|
||||
|
||||
|
||||
donateMaker : Donate -> Element msg
|
||||
donateMaker donate =
|
||||
donateMaker : Donate -> Device -> Element msg
|
||||
donateMaker donate device =
|
||||
row
|
||||
topLevelBox
|
||||
[ desktopCardMaker desktopImageBoxSize desktopImageSize (donateImage donate) (donateLink donate)
|
||||
[ desktopCardMaker desktopImageBoxSize desktopImageSize (donateImage donate) donate.donateLink
|
||||
, cardMaker
|
||||
[ cardTitleMaker (donateTitle donate)
|
||||
[ cardTitleMaker donate.donateName
|
||||
, cardFormatter
|
||||
[ cardContentSpacing
|
||||
[ column
|
||||
fieldSpacer
|
||||
[ feeMaker donate
|
||||
, preferenceMaker donate
|
||||
, tableMaker donate
|
||||
, tableMaker donate device
|
||||
, proTitleMaker donate
|
||||
, proMaker donate
|
||||
, conTitleMaker donate
|
||||
|
@ -207,13 +204,13 @@ donateMaker donate =
|
|||
]
|
||||
|
||||
|
||||
donateMakerMobile : Donate -> Element msg
|
||||
donateMakerMobile donate =
|
||||
donateMakerMobile : Donate -> Device -> Element msg
|
||||
donateMakerMobile donate device =
|
||||
row
|
||||
topLevelBox
|
||||
[ column [] []
|
||||
, cardMaker
|
||||
[ cardTitleMaker (donateTitle donate)
|
||||
[ cardTitleMaker donate.donateName
|
||||
, cardFormatter
|
||||
[ cardContentSpacing
|
||||
[ column
|
||||
|
@ -222,14 +219,14 @@ donateMakerMobile donate =
|
|||
[ mobileCardMaker mobileImageBoxSize
|
||||
mobileImageSize
|
||||
(donateImage donate)
|
||||
(donateLink donate)
|
||||
donate.donateLink
|
||||
, column
|
||||
[ width fill ]
|
||||
[ feeMaker donate
|
||||
, preferenceMaker donate
|
||||
]
|
||||
]
|
||||
, tableMakerMobile donate
|
||||
, tableMaker donate device
|
||||
, proTitleMaker donate
|
||||
, proMaker donate
|
||||
, conTitleMaker donate
|
||||
|
@ -253,16 +250,6 @@ donateImage donate =
|
|||
}
|
||||
|
||||
|
||||
donateTitle : Donate -> String
|
||||
donateTitle donate =
|
||||
donate.donateName
|
||||
|
||||
|
||||
donateLink : Donate -> String
|
||||
donateLink donate =
|
||||
donate.donateLink
|
||||
|
||||
|
||||
donateWidth =
|
||||
width <| px 45
|
||||
|
||||
|
@ -270,64 +257,64 @@ donateWidth =
|
|||
feeMaker : Donate -> Element msg
|
||||
feeMaker donate =
|
||||
row
|
||||
([ F.color colourTheme.textLightGrey
|
||||
, paragraphSpacing
|
||||
, paragraphFontSize
|
||||
, F.bold
|
||||
]
|
||||
++ [ F.size 18
|
||||
, E.width fill
|
||||
]
|
||||
)
|
||||
[ F.color colourTheme.textLightOrange
|
||||
, paragraphSpacing
|
||||
, F.bold
|
||||
, headerFontSizeSmall
|
||||
, E.width fill
|
||||
, spacing 5
|
||||
]
|
||||
[ column
|
||||
[ alignTop
|
||||
, donateWidth
|
||||
]
|
||||
[ text "Fees:"
|
||||
]
|
||||
, column
|
||||
, el
|
||||
[ E.width fill
|
||||
, alignLeft
|
||||
]
|
||||
[ paragraph [ F.regular ]
|
||||
[ el [ F.color colourTheme.textLightOrange ] <|
|
||||
text donate.donateFees
|
||||
<|
|
||||
el
|
||||
[ F.regular
|
||||
, paragraphFontSize
|
||||
, F.color colourTheme.textLightGrey
|
||||
]
|
||||
]
|
||||
<|
|
||||
text donate.donateFees
|
||||
]
|
||||
|
||||
|
||||
proTitleMaker : Donate -> Element msg
|
||||
proTitleMaker donate =
|
||||
row
|
||||
[ F.color colourTheme.textLightGrey
|
||||
[ F.color colourTheme.textLightOrange
|
||||
, paragraphSpacing
|
||||
, paragraphFontSize
|
||||
, headerFontSizeSmall
|
||||
, F.bold
|
||||
]
|
||||
[ column
|
||||
[ el
|
||||
[ alignTop
|
||||
, width <| px 80
|
||||
]
|
||||
[ text "Pros:"
|
||||
]
|
||||
<|
|
||||
text "Pros:"
|
||||
]
|
||||
|
||||
|
||||
conTitleMaker : Donate -> Element msg
|
||||
conTitleMaker donate =
|
||||
row
|
||||
[ F.color colourTheme.textLightGrey
|
||||
[ F.color colourTheme.textLightOrange
|
||||
, paragraphSpacing
|
||||
, paragraphFontSize
|
||||
, headerFontSizeSmall
|
||||
, F.bold
|
||||
]
|
||||
[ column
|
||||
[ el
|
||||
[ alignTop
|
||||
, width <| px 80
|
||||
]
|
||||
[ text "Cons:"
|
||||
]
|
||||
<|
|
||||
text "Cons:"
|
||||
]
|
||||
|
||||
|
||||
|
@ -352,16 +339,14 @@ proMaker donate =
|
|||
makePro : Pros -> Element msg
|
||||
makePro pro =
|
||||
column
|
||||
([ F.color colourTheme.textLightGrey
|
||||
, paragraphSpacing
|
||||
, paragraphFontSize
|
||||
, F.bold
|
||||
, alignLeft
|
||||
]
|
||||
++ [ spacing 8
|
||||
, width fill
|
||||
]
|
||||
)
|
||||
[ F.color colourTheme.textLightGrey
|
||||
, paragraphSpacing
|
||||
, paragraphFontSize
|
||||
, F.bold
|
||||
, alignLeft
|
||||
, spacing 8
|
||||
, width fill
|
||||
]
|
||||
[ paragraph [ F.regular ]
|
||||
[ text ("‣ " ++ pro.pro) ]
|
||||
]
|
||||
|
@ -388,18 +373,17 @@ conMaker donate =
|
|||
makeCon : Cons -> Element msg
|
||||
makeCon con =
|
||||
column
|
||||
([ F.color colourTheme.textLightGrey
|
||||
, paragraphSpacing
|
||||
, paragraphFontSize
|
||||
, F.bold
|
||||
, alignLeft
|
||||
]
|
||||
++ [ spacing 8
|
||||
, width fill
|
||||
]
|
||||
)
|
||||
[ paragraph [ F.regular ]
|
||||
[ text ("‣ " ++ con.con) ]
|
||||
[ F.color colourTheme.textLightGrey
|
||||
, paragraphSpacing
|
||||
, paragraphFontSize
|
||||
, F.bold
|
||||
, alignLeft
|
||||
, spacing 8
|
||||
, width fill
|
||||
]
|
||||
[ paragraph [ F.regular ] <|
|
||||
[ text ("‣ " ++ con.con)
|
||||
]
|
||||
]
|
||||
|
||||
|
||||
|
@ -414,16 +398,13 @@ preferenceMaker donate =
|
|||
, E.alignLeft
|
||||
]
|
||||
[ paragraph
|
||||
([ F.color colourTheme.textLightGrey
|
||||
, paragraphSpacing
|
||||
, paragraphFontSize
|
||||
, F.bold
|
||||
]
|
||||
++ [ F.size 18
|
||||
, alignLeft
|
||||
, E.width fill
|
||||
]
|
||||
)
|
||||
[ F.color colourTheme.textLightGrey
|
||||
, paragraphSpacing
|
||||
, F.bold
|
||||
, headerFontSizeSmall
|
||||
, alignLeft
|
||||
, E.width fill
|
||||
]
|
||||
[ el
|
||||
[ tooltip
|
||||
"This represents how strongly I prefer a given platform relative to other platforms."
|
||||
|
@ -435,6 +416,7 @@ preferenceMaker donate =
|
|||
, bottom = 0
|
||||
, left = 0
|
||||
}
|
||||
, F.color colourTheme.textLightOrange
|
||||
]
|
||||
<|
|
||||
text "Preference:"
|
||||
|
@ -486,24 +468,18 @@ getPreferenceTooltip num =
|
|||
"Preference is out of bounds."
|
||||
|
||||
|
||||
tableMaker : Donate -> Element msg
|
||||
tableMaker donate =
|
||||
tableMaker : Donate -> Device -> Element msg
|
||||
tableMaker donate device =
|
||||
column
|
||||
[ centerX
|
||||
, E.width fill
|
||||
]
|
||||
[ wrappedRow
|
||||
([ F.color colourTheme.textLightGrey
|
||||
, paragraphSpacing
|
||||
, paragraphFontSize
|
||||
, F.bold
|
||||
]
|
||||
++ [ E.alignLeft
|
||||
, E.width fill
|
||||
, htmlAttribute <| H.style "position" "relative"
|
||||
]
|
||||
)
|
||||
[ E.table
|
||||
[ el
|
||||
[ E.alignLeft
|
||||
, E.width fill
|
||||
]
|
||||
<|
|
||||
E.table
|
||||
[ spacing 0
|
||||
, D.rounded 10
|
||||
, D.width 2
|
||||
|
@ -513,70 +489,55 @@ tableMaker donate =
|
|||
{ data = donate.donateFeatures
|
||||
, columns =
|
||||
List.map createColumn
|
||||
[ { label = "Zero Fees"
|
||||
, getter = .free
|
||||
}
|
||||
, { label = "Subscriptions"
|
||||
, getter = .subscriptions
|
||||
}
|
||||
, { label = "User Friendly"
|
||||
, getter = .userFriendly
|
||||
}
|
||||
, { label = "Anonymous"
|
||||
, getter = .anonymous
|
||||
}
|
||||
, { label = "Rewards"
|
||||
, getter = .rewardTiers
|
||||
}
|
||||
]
|
||||
(case ( device.class, device.orientation ) of
|
||||
( Phone, Portrait ) ->
|
||||
mobileLabels
|
||||
|
||||
( Tablet, Portrait ) ->
|
||||
mobileLabels
|
||||
|
||||
_ ->
|
||||
desktopLabels
|
||||
)
|
||||
}
|
||||
]
|
||||
]
|
||||
|
||||
|
||||
tableMakerMobile : Donate -> Element msg
|
||||
tableMakerMobile donate =
|
||||
column
|
||||
[ centerX
|
||||
, E.width fill
|
||||
]
|
||||
[ wrappedRow
|
||||
([ F.color colourTheme.textLightGrey
|
||||
, paragraphSpacing
|
||||
, paragraphFontSize
|
||||
, F.bold
|
||||
]
|
||||
++ [ E.alignLeft
|
||||
, E.width fill
|
||||
, htmlAttribute <| H.style "position" "relative"
|
||||
]
|
||||
)
|
||||
[ E.table
|
||||
[ spacing 0
|
||||
, D.rounded 10
|
||||
, D.width 2
|
||||
, D.color colourTheme.textDarkGrey
|
||||
, clip
|
||||
]
|
||||
{ data = donate.donateFeatures
|
||||
, columns =
|
||||
List.map createColumn
|
||||
[ { label = "Free"
|
||||
, getter = .free
|
||||
}
|
||||
, { label = "Subs"
|
||||
, getter = .subscriptions
|
||||
}
|
||||
, { label = "Easy"
|
||||
, getter = .userFriendly
|
||||
}
|
||||
, { label = "Safe"
|
||||
, getter = .anonymous
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
]
|
||||
desktopLabels : List { label : String, getter : { a | free : b, subscriptions : b, userFriendly : b, anonymous : b, rewardTiers : b } -> b }
|
||||
desktopLabels =
|
||||
[ { label = "Zero Fees"
|
||||
, getter = .free
|
||||
}
|
||||
, { label = "Subscriptions"
|
||||
, getter = .subscriptions
|
||||
}
|
||||
, { label = "User Friendly"
|
||||
, getter = .userFriendly
|
||||
}
|
||||
, { label = "Anonymous"
|
||||
, getter = .anonymous
|
||||
}
|
||||
, { label = "Rewards"
|
||||
, getter = .rewardTiers
|
||||
}
|
||||
]
|
||||
|
||||
|
||||
mobileLabels : List { label : String, getter : { a | free : b, subscriptions : b, userFriendly : b, anonymous : b } -> b }
|
||||
mobileLabels =
|
||||
[ { label = "Free"
|
||||
, getter = .free
|
||||
}
|
||||
, { label = "Subs"
|
||||
, getter = .subscriptions
|
||||
}
|
||||
, { label = "Easy"
|
||||
, getter = .userFriendly
|
||||
}
|
||||
, { label = "Safe"
|
||||
, getter = .anonymous
|
||||
}
|
||||
]
|
||||
|
||||
|
||||
createColumn : { label : String, getter : Features -> Maybe Bool } -> Column Features msg
|
||||
|
|
|
@ -6,11 +6,8 @@ import Config.Helpers.Format
|
|||
( paragraphFontSize
|
||||
, paragraphSpacing
|
||||
)
|
||||
import Config.Helpers.Header
|
||||
exposing
|
||||
( Header
|
||||
, headerMaker
|
||||
)
|
||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageListCenter
|
||||
|
@ -175,7 +172,7 @@ homePage image =
|
|||
]
|
||||
++ [ 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, 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." ]
|
||||
]
|
||||
]
|
||||
|
||||
|
|
|
@ -22,6 +22,8 @@ import Config.Helpers.Format
|
|||
( paragraphFontSize
|
||||
, paragraphSpacing
|
||||
)
|
||||
import Config.Helpers.Headers.Header exposing (..)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageList
|
||||
|
@ -34,12 +36,6 @@ import Config.Helpers.StrengthBar
|
|||
)
|
||||
import Config.Helpers.ToolTip exposing (tooltip)
|
||||
import Config.Helpers.Viewport exposing (resetViewport)
|
||||
import Config.Helpers.Header exposing (..)
|
||||
import Config.Helpers.Header
|
||||
exposing
|
||||
( Header
|
||||
, headerMaker
|
||||
)
|
||||
import Config.Pages.Interviews.Records.DrShawnBakerPodcast exposing (drShawnBakerPodcast)
|
||||
import Config.Pages.Interviews.Records.FitAndFurious exposing (fitAndFurious)
|
||||
import Config.Pages.Interviews.Records.FoolproofMastery exposing (foolproofMastery)
|
||||
|
@ -195,15 +191,14 @@ interviewMaker : Interview -> Element msg
|
|||
interviewMaker interview =
|
||||
row
|
||||
topLevelBox
|
||||
[ desktopCardMaker desktopImageBoxSize desktopImageSize (interviewImage interview) (interviewSocial interview)
|
||||
[ desktopCardMaker desktopImageBoxSize desktopImageSize (interviewImage interview) interview.interviewSocial
|
||||
, cardMaker
|
||||
[ cardTitleMaker (interviewTitle interview)
|
||||
[ cardTitleMaker interview.interviewName
|
||||
, cardFormatter
|
||||
[ cardContentSpacing
|
||||
[ column
|
||||
fieldSpacer
|
||||
[ socialMaker interview
|
||||
, appearanceTitle interview
|
||||
[ appearanceTitle interview
|
||||
, appearanceMaker interview
|
||||
]
|
||||
]
|
||||
|
@ -218,13 +213,13 @@ interviewMakerMobile interview =
|
|||
topLevelBox
|
||||
[ column [] []
|
||||
, cardMaker
|
||||
[ cardTitleMaker (interviewTitle interview)
|
||||
[ cardTitleMaker interview.interviewName
|
||||
, cardFormatter
|
||||
[ cardContentSpacing
|
||||
[ column
|
||||
fieldSpacer
|
||||
[ row [ spacing 10 ]
|
||||
[ mobileCardMaker mobileImageBoxSize mobileImageSize (interviewImage interview) (interviewSocial interview)
|
||||
[ mobileCardMaker mobileImageBoxSize mobileImageSize (interviewImage interview) interview.interviewSocial
|
||||
, socialMaker interview
|
||||
]
|
||||
, appearanceTitle interview
|
||||
|
@ -243,16 +238,6 @@ interviewImage interview =
|
|||
}
|
||||
|
||||
|
||||
interviewTitle : Interview -> String
|
||||
interviewTitle interview =
|
||||
interview.interviewName
|
||||
|
||||
|
||||
interviewSocial : Interview -> String
|
||||
interviewSocial interview =
|
||||
interview.interviewSocial
|
||||
|
||||
|
||||
socialMaker : Interview -> Element msg
|
||||
socialMaker interview =
|
||||
paragraph
|
||||
|
@ -498,7 +483,7 @@ subjectMaker appearanceEntry =
|
|||
|
||||
subjectList : Appearance -> Element msg
|
||||
subjectList appearanceEntry =
|
||||
paragraph
|
||||
column
|
||||
[ spacing 8
|
||||
, width fill
|
||||
, paddingEach
|
||||
|
@ -516,7 +501,7 @@ subjectList appearanceEntry =
|
|||
|
||||
makeSubject : Subjects -> Element msg
|
||||
makeSubject subjects =
|
||||
paragraph
|
||||
el
|
||||
[ E.width fill
|
||||
, alignLeft
|
||||
, paddingEach
|
||||
|
@ -526,6 +511,10 @@ makeSubject subjects =
|
|||
, left = 8
|
||||
}
|
||||
]
|
||||
[ paragraph [ F.regular ]
|
||||
[ text ("‣ " ++ subjects.subject) ]
|
||||
]
|
||||
<|
|
||||
el
|
||||
[ F.regular
|
||||
, paragraphFontSize
|
||||
]
|
||||
<|
|
||||
text ("‣ " ++ subjects.subject)
|
||||
|
|
|
@ -16,17 +16,14 @@ import Config.Helpers.CardFormat
|
|||
, mobileImageSize
|
||||
, topLevelBox
|
||||
)
|
||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageList
|
||||
, pageListCenter
|
||||
, topLevelContainer
|
||||
)
|
||||
import Config.Helpers.Header
|
||||
exposing
|
||||
( Header
|
||||
, headerMaker
|
||||
)
|
||||
import Effect exposing (Effect)
|
||||
import Element as E exposing (..)
|
||||
import Layouts
|
||||
|
@ -138,6 +135,8 @@ notFoundList device =
|
|||
none
|
||||
]
|
||||
|
||||
|
||||
|
||||
-- import Config.Data.Identity exposing (pageNames)
|
||||
-- import Config.Helpers.CardFormat
|
||||
-- exposing
|
||||
|
@ -183,8 +182,6 @@ notFoundList device =
|
|||
-- import Route.Path
|
||||
-- import Shared
|
||||
-- import View exposing (View)
|
||||
|
||||
|
||||
-- page : Shared.Model -> Route () -> Page Model Msg
|
||||
-- page shared route =
|
||||
-- Page.new
|
||||
|
@ -194,77 +191,44 @@ notFoundList device =
|
|||
-- , view = view shared
|
||||
-- }
|
||||
-- |> Page.withLayout toLayout
|
||||
|
||||
|
||||
-- toLayout : Model -> Layouts.Layout Msg
|
||||
-- toLayout model =
|
||||
-- Layouts.Navbar {}
|
||||
|
||||
|
||||
|
||||
-- -- INIT
|
||||
|
||||
|
||||
-- type alias Model =
|
||||
-- { markdown : String }
|
||||
|
||||
|
||||
-- init : () -> ( Model, Effect Msg )
|
||||
-- init () =
|
||||
-- ( { markdown = """
|
||||
|
||||
-- markdown goes here!
|
||||
|
||||
-- """ }
|
||||
-- , Effect.none
|
||||
-- )
|
||||
|
||||
|
||||
|
||||
-- -- UPDATE
|
||||
|
||||
|
||||
-- type Msg
|
||||
-- = NoOp
|
||||
-- | UpdateMarkdown String
|
||||
|
||||
|
||||
-- update : Msg -> Model -> ( Model, Effect Msg )
|
||||
-- update msg model =
|
||||
-- case msg of
|
||||
-- NoOp ->
|
||||
-- ( model, Effect.none )
|
||||
|
||||
-- UpdateMarkdown newMarkdown ->
|
||||
-- ( { model | markdown = newMarkdown }, Effect.none )
|
||||
|
||||
|
||||
|
||||
-- -- SUBSCRIPTIONS
|
||||
|
||||
|
||||
-- subscriptions : Model -> Sub Msg
|
||||
-- subscriptions model =
|
||||
-- Sub.none
|
||||
|
||||
|
||||
|
||||
-- -- VIEW
|
||||
|
||||
|
||||
-- view : Shared.Model -> Model -> View Msg
|
||||
-- view shared model =
|
||||
-- { title = pageNames.pageNotFound
|
||||
-- , attributes = []
|
||||
-- , element = notFoundContainer shared.device model
|
||||
-- }
|
||||
|
||||
|
||||
-- notFoundContainer : Device -> Model -> Element Msg
|
||||
-- notFoundContainer device model =
|
||||
-- topLevelContainer (notFoundList device model)
|
||||
|
||||
|
||||
-- notFoundList : Device -> Model -> Element Msg
|
||||
-- notFoundList device model =
|
||||
-- column pageListCenter
|
||||
|
@ -277,12 +241,9 @@ notFoundList device =
|
|||
-- , E.centerX
|
||||
-- ]
|
||||
-- renderedMarkdown
|
||||
|
||||
-- Err error ->
|
||||
-- E.text error
|
||||
-- ]
|
||||
|
||||
|
||||
-- renderMarkdown : String -> Result String (List (Element Msg))
|
||||
-- renderMarkdown markdown =
|
||||
-- markdown
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
module Pages.Nutridex exposing (Model, Msg, page)
|
||||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Articles.Article exposing (makeReference)
|
||||
import Config.Helpers.Articles.Types exposing (References)
|
||||
import Config.Helpers.CardFormat
|
||||
exposing
|
||||
( cardContentSpacing
|
||||
|
@ -19,11 +21,12 @@ import Config.Helpers.CardFormat
|
|||
)
|
||||
import Config.Helpers.Format
|
||||
exposing
|
||||
( paragraphFontSize
|
||||
( divider
|
||||
, paragraphFontSize
|
||||
, paragraphSpacing
|
||||
)
|
||||
import Config.Helpers.Header exposing (..)
|
||||
import Config.Helpers.References exposing (..)
|
||||
import Config.Helpers.Headers.Header exposing (..)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageList
|
||||
|
@ -146,50 +149,39 @@ nutriDexList device =
|
|||
List.concat
|
||||
[ (case ( device.class, device.orientation ) of
|
||||
( Phone, Portrait ) ->
|
||||
List.map nutriDexMakerMobile
|
||||
List.map (\nutridex -> nutriDexMaker nutridex device)
|
||||
|
||||
( Tablet, Portrait ) ->
|
||||
List.map nutriDexMakerMobile
|
||||
List.map (\nutridex -> nutriDexMaker nutridex device)
|
||||
|
||||
_ ->
|
||||
List.map nutriDexMaker
|
||||
List.map (\nutridex -> nutriDexMaker nutridex device)
|
||||
)
|
||||
[ productNutriDex ]
|
||||
]
|
||||
|
||||
|
||||
nutriDexHeader : Header
|
||||
nutriDexHeader =
|
||||
let
|
||||
name =
|
||||
"NutriDex"
|
||||
in
|
||||
{ headerTitle = String.toUpper name
|
||||
, headerBody = "fasdklfjasdlk;fjasdl;fjasdfl;kasjdfl;askdja;lsdkjas;ldfj"
|
||||
}
|
||||
|
||||
|
||||
nutriDexMaker : NutriDex -> Element msg
|
||||
nutriDexMaker nutridex =
|
||||
nutriDexMaker : NutriDex -> Device -> Element msg
|
||||
nutriDexMaker nutridex device =
|
||||
row
|
||||
topLevelBox
|
||||
[ cardMaker
|
||||
[ cardTitleMaker (nutriDexTitle nutridex)
|
||||
[ cardTitleMaker (String.toUpper nutridex.nutriDexTitle)
|
||||
, cardFormatter
|
||||
[ cardContentSpacing
|
||||
[ column
|
||||
fieldSpacer
|
||||
[ cardSubTitleMaker
|
||||
[ featureList nutridex
|
||||
, nutriDexBodyMaker
|
||||
, nutriDexAdjustments
|
||||
[ featureList nutridex device
|
||||
, nutriDexBodyMaker device
|
||||
, nutriDexAdjustments device
|
||||
, column [ spacing 10 ]
|
||||
[ nutriDexVitamins
|
||||
, nutriDexFattyAcids
|
||||
, nutriDexMinerals
|
||||
, nutriDexAminoAcids
|
||||
]
|
||||
, nutriDexReferences nutridex
|
||||
, nutriDexReferences nutridex device
|
||||
]
|
||||
]
|
||||
]
|
||||
|
@ -198,40 +190,6 @@ nutriDexMaker nutridex =
|
|||
]
|
||||
|
||||
|
||||
nutriDexMakerMobile : NutriDex -> Element msg
|
||||
nutriDexMakerMobile nutridex =
|
||||
row
|
||||
topLevelBox
|
||||
[ cardMaker
|
||||
[ cardTitleMaker (nutriDexTitle nutridex)
|
||||
, cardFormatter
|
||||
[ cardContentSpacing
|
||||
[ column
|
||||
fieldSpacer
|
||||
[ cardSubTitleMaker
|
||||
[ featureListMobile nutridex
|
||||
, nutriDexBodyMaker
|
||||
, nutriDexAdjustments
|
||||
, column [ spacing 10 ]
|
||||
[ nutriDexVitamins
|
||||
, nutriDexFattyAcids
|
||||
, nutriDexMinerals
|
||||
, nutriDexAminoAcids
|
||||
]
|
||||
, nutriDexReferences nutridex
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
|
||||
|
||||
nutriDexTitle : NutriDex -> String
|
||||
nutriDexTitle nutridex =
|
||||
String.toUpper nutridex.nutriDexTitle
|
||||
|
||||
|
||||
makeFeature : Features -> Element msg
|
||||
makeFeature features =
|
||||
column
|
||||
|
@ -271,8 +229,8 @@ price =
|
|||
}
|
||||
|
||||
|
||||
featureList : NutriDex -> Element msg
|
||||
featureList nutridex =
|
||||
featureList : NutriDex -> Device -> Element msg
|
||||
featureList nutridex device =
|
||||
column
|
||||
[ spacing 8
|
||||
, width fill
|
||||
|
@ -284,17 +242,48 @@ featureList nutridex =
|
|||
, right = 0
|
||||
}
|
||||
]
|
||||
[ row
|
||||
[ spacing 20
|
||||
, width fill
|
||||
, height fill
|
||||
]
|
||||
[ (case ( device.class, device.orientation ) of
|
||||
( Phone, Portrait ) ->
|
||||
column
|
||||
[ spacing 20
|
||||
, centerX
|
||||
]
|
||||
|
||||
( Tablet, Portrait ) ->
|
||||
column
|
||||
[ spacing 20
|
||||
, centerX
|
||||
]
|
||||
|
||||
_ ->
|
||||
row
|
||||
[ spacing 20
|
||||
, width fill
|
||||
, height fill
|
||||
]
|
||||
)
|
||||
[ column
|
||||
[ spacing 20
|
||||
]
|
||||
(case ( device.class, device.orientation ) of
|
||||
( Phone, Portrait ) ->
|
||||
[ spacing 20, centerX ]
|
||||
|
||||
( Tablet, Portrait ) ->
|
||||
[ spacing 20, centerX ]
|
||||
|
||||
_ ->
|
||||
[ spacing 20 ]
|
||||
)
|
||||
[ row
|
||||
[ centerX
|
||||
, E.width <| px 250
|
||||
, case ( device.class, device.orientation ) of
|
||||
( Phone, Portrait ) ->
|
||||
E.width <| px 150
|
||||
|
||||
( Tablet, Portrait ) ->
|
||||
E.width <| px 150
|
||||
|
||||
_ ->
|
||||
E.width <| px 250
|
||||
]
|
||||
[ html nutriDexLogo
|
||||
]
|
||||
|
@ -347,93 +336,10 @@ featureList nutridex =
|
|||
]
|
||||
|
||||
|
||||
featureListMobile : NutriDex -> Element msg
|
||||
featureListMobile nutridex =
|
||||
column
|
||||
[ spacing 8
|
||||
, width fill
|
||||
, height fill
|
||||
, paddingEach
|
||||
{ top = 10
|
||||
, bottom = 0
|
||||
, left = 0
|
||||
, right = 0
|
||||
}
|
||||
]
|
||||
[ column
|
||||
[ spacing 20
|
||||
, centerX
|
||||
]
|
||||
[ row
|
||||
[ centerX
|
||||
, E.width <| px 150
|
||||
]
|
||||
[ html nutriDexLogo
|
||||
]
|
||||
, row
|
||||
[ D.width 5
|
||||
, D.rounded 25
|
||||
, centerX
|
||||
, D.color colourTheme.backgroundLightGrey
|
||||
, B.color colourTheme.backgroundLightGrey
|
||||
]
|
||||
[ row
|
||||
[ B.color colourTheme.textDarkOrange
|
||||
, D.rounded 30
|
||||
, F.size 25
|
||||
, F.bold
|
||||
, paddingEach
|
||||
{ top = 10
|
||||
, right = 25
|
||||
, bottom = 10
|
||||
, left = 25
|
||||
}
|
||||
]
|
||||
[ price
|
||||
]
|
||||
]
|
||||
, column
|
||||
[ centerX ]
|
||||
[ column
|
||||
[ F.size 18
|
||||
, F.bold
|
||||
, F.color colourTheme.textLightOrange
|
||||
]
|
||||
[ newTabLink []
|
||||
{ url = "https://drive.google.com/file/d/1sk7VgjuL2rEqQdnBRdZjr2_Ab9vwrbmo/view?usp=sharing"
|
||||
, label =
|
||||
paragraph
|
||||
[ centerX
|
||||
, centerY
|
||||
]
|
||||
[ text "Free Cost Efficiency Score!" ]
|
||||
}
|
||||
]
|
||||
]
|
||||
]
|
||||
, column [ width fill, F.size 12, spacing 3 ] <|
|
||||
List.map2 (\x y -> makeFeature x)
|
||||
nutridex.nutriDexFeatures
|
||||
(List.range 1 (List.length nutridex.nutriDexFeatures))
|
||||
]
|
||||
|
||||
|
||||
nutriDexTitleMaker : String -> Element msg
|
||||
nutriDexTitleMaker title =
|
||||
column
|
||||
[ width fill
|
||||
, height fill
|
||||
, spacing 20
|
||||
, paddingEach { top = 0, bottom = 0, left = 100, right = 100 }
|
||||
]
|
||||
[ row
|
||||
[ width fill
|
||||
, centerX
|
||||
, D.widthEach { bottom = 1, top = 0, left = 0, right = 0 }
|
||||
, D.color colourTheme.textLightOrange
|
||||
, paddingEach { top = 40, bottom = 0, left = 0, right = 0 }
|
||||
]
|
||||
[]
|
||||
column [ centerX, width fill ]
|
||||
[ divider
|
||||
, paragraph
|
||||
([ F.color colourTheme.textLightGrey
|
||||
, paragraphSpacing
|
||||
|
@ -465,8 +371,8 @@ linkFormat =
|
|||
]
|
||||
|
||||
|
||||
nutriDexBodyMaker : Element msg
|
||||
nutriDexBodyMaker =
|
||||
nutriDexBodyMaker : Device -> Element msg
|
||||
nutriDexBodyMaker device =
|
||||
column
|
||||
[ width fill
|
||||
, height fill
|
||||
|
@ -557,22 +463,21 @@ referenceFormat =
|
|||
]
|
||||
|
||||
|
||||
nutriDexAdjustments : Element msg
|
||||
nutriDexAdjustments =
|
||||
nutriDexAdjustments : Device -> Element msg
|
||||
nutriDexAdjustments device =
|
||||
column
|
||||
[ width fill
|
||||
, height fill
|
||||
, spacing 20
|
||||
]
|
||||
[ nutriDexTitleMaker "Nutrient Density Score Adjustments"
|
||||
, row []
|
||||
[ paragraph
|
||||
([ F.color colourTheme.textLightGrey
|
||||
, paragraphSpacing
|
||||
, paragraphFontSize
|
||||
]
|
||||
++ [ F.alignLeft, width fill ]
|
||||
)
|
||||
, el [] <|
|
||||
paragraph
|
||||
[ F.color colourTheme.textLightGrey
|
||||
, paragraphSpacing
|
||||
, paragraphFontSize
|
||||
, F.alignLeft
|
||||
]
|
||||
[ text "• "
|
||||
, text "No adjustments are made to vitamin B1, vitamin B2, vitamin B3, manganese, phosphorus, and potassium, due to their DRIs only representing total daily intake, or due to the nutrient having close to 100% bioavailability. "
|
||||
, row [ F.regular, F.size 12 ]
|
||||
|
@ -612,25 +517,22 @@ nutriDexAdjustments =
|
|||
}
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
|
||||
|
||||
nutridexSubTitleMaker : String -> Element msg
|
||||
nutridexSubTitleMaker title =
|
||||
paragraph
|
||||
([ F.color colourTheme.textLightGrey
|
||||
, paragraphSpacing
|
||||
, paragraphFontSize
|
||||
, F.bold
|
||||
]
|
||||
++ [ F.alignLeft
|
||||
, width fill
|
||||
, F.size 18
|
||||
, F.color colourTheme.textLightOrange
|
||||
]
|
||||
)
|
||||
[ text title ]
|
||||
el
|
||||
[ F.color colourTheme.textLightGrey
|
||||
, paragraphSpacing
|
||||
, paragraphFontSize
|
||||
, F.bold
|
||||
, width fill
|
||||
, F.size 18
|
||||
, F.color colourTheme.textLightOrange
|
||||
]
|
||||
<|
|
||||
text title
|
||||
|
||||
|
||||
nutriDexVitamins : Element msg
|
||||
|
@ -1062,7 +964,7 @@ nutriDexAminoAcids =
|
|||
, left = 0
|
||||
}
|
||||
]
|
||||
[ nutridexSubTitleMaker "Amino Acids"
|
||||
[ nutridexSubTitleMaker (String.toUpper "Amino Acids")
|
||||
]
|
||||
, row []
|
||||
[ paragraph
|
||||
|
@ -1104,73 +1006,15 @@ nutriDexAminoAcids =
|
|||
]
|
||||
|
||||
|
||||
nutriDexReferenceTitleMaker : Element msg
|
||||
nutriDexReferenceTitleMaker =
|
||||
column
|
||||
[ width fill
|
||||
, height fill
|
||||
, spacing 20
|
||||
]
|
||||
[ row
|
||||
[ width fill
|
||||
, centerX
|
||||
, D.widthEach { bottom = 1, top = 0, left = 0, right = 0 }
|
||||
, D.color colourTheme.textLightOrange
|
||||
, paddingEach { top = 40, bottom = 0, left = 0, right = 0 }
|
||||
]
|
||||
[]
|
||||
, paragraph
|
||||
([ F.color colourTheme.textLightGrey
|
||||
, paragraphSpacing
|
||||
, paragraphFontSize
|
||||
, F.bold
|
||||
]
|
||||
++ [ centerX
|
||||
, F.size 25
|
||||
, F.color colourTheme.textLightOrange
|
||||
, paddingEach
|
||||
{ top = 10
|
||||
, right = 0
|
||||
, bottom = 10
|
||||
, left = 0
|
||||
}
|
||||
]
|
||||
)
|
||||
[ text "References" ]
|
||||
]
|
||||
|
||||
|
||||
nutriDexReferences : NutriDex -> Element msg
|
||||
nutriDexReferences nutridex =
|
||||
nutriDexReferences : NutriDex -> Device -> Element msg
|
||||
nutriDexReferences nutridex device =
|
||||
column
|
||||
[ width fill
|
||||
, height fill
|
||||
]
|
||||
[ nutriDexTitleMaker "Reference"
|
||||
[ nutriDexTitleMaker "BIBLIOGRAPHY"
|
||||
, column [ width fill, F.size 15, spacing 10 ] <|
|
||||
List.map2 (\x y -> makeReference x y)
|
||||
nutridex.nutriDexReference
|
||||
(List.range 1 (List.length nutridex.nutriDexReference))
|
||||
]
|
||||
|
||||
|
||||
makeReference : References -> Int -> Element msg
|
||||
makeReference references index =
|
||||
paragraph
|
||||
[ F.regular
|
||||
, F.alignLeft
|
||||
]
|
||||
[ row []
|
||||
[ newTabLink
|
||||
[ F.bold
|
||||
, F.color colourTheme.textLightOrange
|
||||
, hoverFontDarkOrange
|
||||
, transitionStyleFast
|
||||
]
|
||||
{ url = references.link, label = text (String.fromInt index ++ ". ") }
|
||||
, text references.author
|
||||
, text references.title
|
||||
, text references.journal
|
||||
, text references.year
|
||||
]
|
||||
]
|
||||
|
|
|
@ -19,10 +19,12 @@ import Config.Helpers.CardFormat
|
|||
)
|
||||
import Config.Helpers.Format
|
||||
exposing
|
||||
( paragraphFontSize
|
||||
( headerFontSizeSmall
|
||||
, paragraphFontSize
|
||||
, paragraphSpacing
|
||||
)
|
||||
import Config.Helpers.Header exposing (..)
|
||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageList
|
||||
|
@ -221,7 +223,7 @@ serviceWidth =
|
|||
rateMaker : Service msg -> Element msg
|
||||
rateMaker service =
|
||||
row
|
||||
([ F.color colourTheme.textLightGrey
|
||||
([ F.color colourTheme.textLightOrange
|
||||
, paragraphSpacing
|
||||
, paragraphFontSize
|
||||
, F.bold
|
||||
|
@ -240,10 +242,13 @@ rateMaker service =
|
|||
[ E.width fill
|
||||
, alignLeft
|
||||
]
|
||||
[ paragraph [ F.regular ]
|
||||
[ el [ F.color colourTheme.textLightOrange ] <|
|
||||
E.text service.serviceRate
|
||||
[ el
|
||||
[ F.regular
|
||||
, paragraphFontSize
|
||||
, F.color colourTheme.textLightGrey
|
||||
]
|
||||
<|
|
||||
E.text service.serviceRate
|
||||
]
|
||||
]
|
||||
|
||||
|
@ -251,9 +256,9 @@ rateMaker service =
|
|||
descriptionMaker : Service msg -> Element msg
|
||||
descriptionMaker service =
|
||||
row
|
||||
[ F.color colourTheme.textLightGrey
|
||||
[ F.color colourTheme.textLightOrange
|
||||
, paragraphSpacing
|
||||
, paragraphFontSize
|
||||
, headerFontSizeSmall
|
||||
, F.bold
|
||||
]
|
||||
[ column
|
||||
|
|
|
@ -1,14 +1,10 @@
|
|||
module Pages.Services.Analysis exposing (Model, Msg, page)
|
||||
|
||||
import Config.Helpers.ArticleFormat exposing (..)
|
||||
import Config.Helpers.CardFormat exposing (..)
|
||||
import Config.Helpers.Format exposing (..)
|
||||
import Config.Helpers.Header
|
||||
exposing
|
||||
( Header
|
||||
, headerMaker
|
||||
)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response exposing (pageList, topLevelContainer)
|
||||
import Config.Helpers.ServiceFormat exposing (..)
|
||||
import Config.Helpers.ToolTip exposing (..)
|
||||
import Config.Pages.Services.Records.DebateAnalysis exposing (..)
|
||||
import Config.Style.Colour exposing (colourTheme)
|
||||
|
|
|
@ -1,19 +1,16 @@
|
|||
module Pages.Services.Coaching exposing (Model, Msg, page)
|
||||
|
||||
import Config.Helpers.ArticleFormat exposing (..)
|
||||
import Config.Helpers.CardFormat exposing (..)
|
||||
import Config.Helpers.Format exposing (..)
|
||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageList
|
||||
, topLevelContainer
|
||||
)
|
||||
import Config.Helpers.ServiceFormat exposing (..)
|
||||
import Config.Helpers.ToolTip exposing (..)
|
||||
import Config.Helpers.Header
|
||||
exposing
|
||||
( Header
|
||||
, headerMaker
|
||||
)
|
||||
import Config.Pages.Services.Records.DebateCoaching exposing (servicesDebateCoaching)
|
||||
import Config.Style.Colour exposing (colourTheme)
|
||||
import Config.Style.Transitions
|
||||
|
|
|
@ -1,19 +1,16 @@
|
|||
module Pages.Services.Elm exposing (Model, Msg, page)
|
||||
|
||||
import Config.Helpers.ArticleFormat exposing (..)
|
||||
import Config.Helpers.CardFormat exposing (..)
|
||||
import Config.Helpers.Format exposing (..)
|
||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageList
|
||||
, topLevelContainer
|
||||
)
|
||||
import Config.Helpers.ServiceFormat exposing (..)
|
||||
import Config.Helpers.ToolTip exposing (..)
|
||||
import Config.Helpers.Header
|
||||
exposing
|
||||
( Header
|
||||
, headerMaker
|
||||
)
|
||||
import Config.Pages.Services.Records.ElmBuilds exposing (servicesElmBuilds)
|
||||
import Config.Style.Colour exposing (..)
|
||||
import Config.Style.Transitions
|
||||
|
|
|
@ -1,19 +1,16 @@
|
|||
module Pages.Services.Nix exposing (Model, Msg, page)
|
||||
|
||||
import Config.Helpers.ArticleFormat exposing (..)
|
||||
import Config.Helpers.CardFormat exposing (..)
|
||||
import Config.Helpers.Format exposing (..)
|
||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageList
|
||||
, topLevelContainer
|
||||
)
|
||||
import Config.Helpers.ServiceFormat exposing (..)
|
||||
import Config.Helpers.ToolTip exposing (..)
|
||||
import Config.Helpers.Header
|
||||
exposing
|
||||
( Header
|
||||
, headerMaker
|
||||
)
|
||||
import Config.Pages.Services.Records.NixBuilds exposing (servicesNixBuilds)
|
||||
import Config.Style.Colour exposing (..)
|
||||
import Config.Style.Transitions
|
||||
|
|
|
@ -1,18 +1,15 @@
|
|||
module Pages.Services.Nutrition exposing (Model, Msg, page)
|
||||
|
||||
import Config.Helpers.ArticleFormat exposing (..)
|
||||
import Config.Helpers.CardFormat exposing (..)
|
||||
import Config.Helpers.Format exposing (..)
|
||||
import Config.Helpers.Header
|
||||
exposing
|
||||
( Header
|
||||
, headerMaker
|
||||
)
|
||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageList
|
||||
, topLevelContainer
|
||||
)
|
||||
import Config.Helpers.ServiceFormat exposing (..)
|
||||
import Config.Helpers.ToolTip exposing (..)
|
||||
import Config.Pages.Services.Records.NutritionScience exposing (servicesNutritionScience)
|
||||
import Config.Style.Colour exposing (colourTheme)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue