mirror of
https://gitlab.com/upRootNutrition/website.git
synced 2025-06-15 20:15:12 -05:00
feat: v1 close
This commit is contained in:
parent
f9af0e1941
commit
d55f729540
40 changed files with 561 additions and 496 deletions
|
@ -2,10 +2,10 @@ module Config.Helpers.Articles.Article exposing (..)
|
|||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Articles.Types exposing (References)
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Cards.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Types as C
|
||||
import Config.Helpers.Format exposing (..)
|
||||
import Config.Helpers.Headers.Header exposing (..)
|
||||
import Config.Helpers.Headers.Helpers exposing (..)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Markdown exposing (..)
|
||||
import Config.Helpers.Response
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
module Config.Helpers.Cardables.Helpers exposing (..)
|
||||
module Config.Helpers.Cards.Helpers exposing (..)
|
||||
|
||||
import Config.Data.Identity
|
||||
exposing
|
||||
( pageNames
|
||||
)
|
||||
import Config.Helpers.Cardables.Types as C exposing (..)
|
||||
import Config.Helpers.Cards.Types as C exposing (..)
|
||||
import Config.Helpers.Converters exposing (formatName)
|
||||
import Config.Helpers.Format
|
||||
exposing
|
||||
|
@ -12,6 +12,7 @@ import Config.Helpers.Format
|
|||
, paragraphFontSize
|
||||
, paragraphSpacing
|
||||
)
|
||||
import Config.Helpers.Response exposing (contentContainer)
|
||||
import Config.Pages.Debate.Arguments.Records.Template exposing (argument)
|
||||
import Config.Style.Colour exposing (colourTheme)
|
||||
import Config.Style.Glow
|
||||
|
@ -38,6 +39,45 @@ import Shared
|
|||
cardMaker : Device -> Cardable msg -> List (Element msg) -> Element msg
|
||||
cardMaker device cardable contents =
|
||||
let
|
||||
hasLink : Bool
|
||||
hasLink =
|
||||
case cardable of
|
||||
C.Contact _ ->
|
||||
False
|
||||
|
||||
C.Cuck c ->
|
||||
True
|
||||
|
||||
C.BlogArticle _ ->
|
||||
False
|
||||
|
||||
C.BlogCard _ ->
|
||||
True
|
||||
|
||||
C.Argument _ ->
|
||||
True
|
||||
|
||||
C.Gibberish _ ->
|
||||
True
|
||||
|
||||
C.Service _ ->
|
||||
True
|
||||
|
||||
C.Debate _ ->
|
||||
True
|
||||
|
||||
C.Donate _ ->
|
||||
True
|
||||
|
||||
C.Interview _ ->
|
||||
False
|
||||
|
||||
C.NutriDex _ ->
|
||||
False
|
||||
|
||||
C.ServicePage _ ->
|
||||
False
|
||||
|
||||
cardTitleMaker : String -> Element msg
|
||||
cardTitleMaker title =
|
||||
el
|
||||
|
@ -109,36 +149,40 @@ cardMaker device cardable contents =
|
|||
cardInner : String -> List (Element msg) -> Element msg
|
||||
cardInner title elements =
|
||||
column
|
||||
[ width fill ]
|
||||
[ width fill
|
||||
]
|
||||
[ cardTitleMaker title
|
||||
, cardStuff <|
|
||||
row
|
||||
[ width fill ]
|
||||
[ width fill
|
||||
, height fill
|
||||
]
|
||||
elements
|
||||
]
|
||||
|
||||
cardOuter : Element msg -> Element msg
|
||||
cardOuter elements =
|
||||
el
|
||||
[ width (fill |> minimum 100)
|
||||
, width (fill |> maximum 875)
|
||||
, padding 10
|
||||
, centerX
|
||||
]
|
||||
<|
|
||||
contentContainer <|
|
||||
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
|
||||
]
|
||||
([ E.width fill
|
||||
, D.width 5
|
||||
, D.color colourTheme.backgroundDarkGrey
|
||||
, D.rounded 32
|
||||
, glowDeepDarkGrey
|
||||
]
|
||||
++ (if hasLink then
|
||||
[ mouseOver
|
||||
[ D.color colourTheme.textDarkOrange
|
||||
, B.color colourTheme.textDarkOrange
|
||||
, glowDeepDarkOrange
|
||||
]
|
||||
, transitionStyleSlow
|
||||
]
|
||||
|
||||
else
|
||||
[]
|
||||
)
|
||||
)
|
||||
elements
|
||||
|
||||
cardWithImageWithLink : Bool -> String -> String -> String -> List (Element msg) -> Element msg
|
||||
|
@ -193,19 +237,21 @@ cardMaker device cardable contents =
|
|||
in
|
||||
case cardable of
|
||||
C.Contact contact ->
|
||||
el [] <| cardTitleMaker contact.contactName
|
||||
cardWithNoImage
|
||||
(String.toUpper contact.contactName)
|
||||
contents
|
||||
|
||||
C.Cuck cuck ->
|
||||
cardWithImageWithLink
|
||||
cuck.isNewTabLink
|
||||
cuck.cuckName
|
||||
("/cucks/" ++ cuck.cuckImage ++ ".png")
|
||||
("/cucks/" ++ cuck.cuckImage ++ "/" ++ cuck.cuckImage ++ ".png")
|
||||
cuck.cuckSocial
|
||||
contents
|
||||
|
||||
C.BlogArticle blogArticle ->
|
||||
cardWithNoImage
|
||||
blogArticle.articleName
|
||||
(String.toUpper blogArticle.articleName)
|
||||
contents
|
||||
|
||||
C.BlogCard blogArticle ->
|
||||
|
@ -217,10 +263,9 @@ cardMaker device cardable contents =
|
|||
contents
|
||||
|
||||
C.Argument argument ->
|
||||
cardWithImageWithLink
|
||||
cardWithNoImageWithLink
|
||||
argument.isNewTabLink
|
||||
argument.argumentTitle
|
||||
("/arguments/" ++ argument.argumentImage ++ ".png")
|
||||
argument.proofLink
|
||||
contents
|
||||
|
||||
|
@ -264,7 +309,12 @@ cardMaker device cardable contents =
|
|||
|
||||
C.NutriDex nutriDex ->
|
||||
cardWithNoImage
|
||||
nutriDex.nutriDexTitle
|
||||
(String.toUpper nutriDex.nutriDexTitle)
|
||||
contents
|
||||
|
||||
C.ServicePage service ->
|
||||
cardWithNoImage
|
||||
(String.toUpper service.serviceName)
|
||||
contents
|
||||
|
||||
|
||||
|
@ -280,8 +330,7 @@ cardContentMaker content =
|
|||
cardStuff : Element msg -> Element msg
|
||||
cardStuff content =
|
||||
el
|
||||
[ E.height fill
|
||||
, E.width fill
|
||||
[ E.width fill
|
||||
, centerX
|
||||
, B.color colourTheme.backgroundDarkGrey
|
||||
, padding 10
|
||||
|
@ -303,5 +352,6 @@ cardStuff content =
|
|||
}
|
||||
, spacing 8
|
||||
, width fill
|
||||
, height fill
|
||||
]
|
||||
content
|
|
@ -1,4 +1,4 @@
|
|||
module Config.Helpers.Cardables.Types exposing (..)
|
||||
module Config.Helpers.Cards.Types exposing (..)
|
||||
|
||||
import Config.Pages.Blog.Types exposing (BlogArticle)
|
||||
import Config.Pages.Contact.Types exposing (Contact)
|
||||
|
@ -24,3 +24,4 @@ type Cardable msg
|
|||
| Donate Donate
|
||||
| Interview Interview
|
||||
| NutriDex NutriDex
|
||||
| ServicePage (Service msg)
|
|
@ -47,7 +47,6 @@ divider =
|
|||
el
|
||||
[ width fill
|
||||
, height fill
|
||||
, spacing 20
|
||||
, centerX
|
||||
, width (fill |> maximum 600)
|
||||
, D.widthEach
|
||||
|
@ -58,7 +57,7 @@ divider =
|
|||
}
|
||||
, D.color colourTheme.textLightOrange
|
||||
, paddingEach
|
||||
{ top = 20
|
||||
{ top = 10
|
||||
, bottom = 0
|
||||
, left = 0
|
||||
, right = 0
|
||||
|
|
|
@ -1,37 +0,0 @@
|
|||
module Config.Helpers.Headers.Header exposing (..)
|
||||
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Pages.Contact.Types exposing (Contact)
|
||||
import Element as E
|
||||
exposing
|
||||
( Device
|
||||
, Element
|
||||
, column
|
||||
, row
|
||||
, text
|
||||
)
|
||||
import Shared exposing (..)
|
||||
|
||||
|
||||
|
||||
-- headerMaker : Device -> Header -> Element msg
|
||||
-- headerMaker device header =
|
||||
-- cardMaker device header.headerTitle (contentList header) { description = "", src = "" } ""
|
||||
|
||||
|
||||
contentList : Header -> List (Element msg)
|
||||
contentList header =
|
||||
[ text header.headerBody ]
|
||||
|
||||
|
||||
servicesHeader : Header
|
||||
servicesHeader =
|
||||
let
|
||||
name =
|
||||
"Services"
|
||||
in
|
||||
{ headerTitle = String.toUpper name
|
||||
, headerBody = "Bundle any of the services below to receive a $10 discount per hour. For example, two Debate Analysis sessions would cost $140 total, instead of $80/hr. All prices are in CAD."
|
||||
}
|
152
frontend/src/Config/Helpers/Headers/Helpers.elm
Executable file
152
frontend/src/Config/Helpers/Headers/Helpers.elm
Executable file
|
@ -0,0 +1,152 @@
|
|||
module Config.Helpers.Headers.Helpers exposing (..)
|
||||
|
||||
import Config.Helpers.Converters exposing (formatName)
|
||||
import Config.Helpers.Format
|
||||
exposing
|
||||
( divider
|
||||
, headerFontSizeBig
|
||||
, headerFontSizeMedium
|
||||
, headerFontSizeSmall
|
||||
, paragraphFontSize
|
||||
, paragraphSpacing
|
||||
)
|
||||
import Config.Helpers.Headers.Types as C exposing (..)
|
||||
import Config.Helpers.Response exposing (contentContainer)
|
||||
import Config.Style.Colour exposing (colourTheme)
|
||||
import Config.Style.Glow
|
||||
exposing
|
||||
( glowDeepDarkGrey
|
||||
, glowDeepDarkOrange
|
||||
)
|
||||
import Config.Style.Icons.Icons exposing (construction)
|
||||
import Config.Style.Transitions
|
||||
exposing
|
||||
( hoverCircleButtonDarkOrange
|
||||
, transitionStyleMedium
|
||||
, transitionStyleSlow
|
||||
)
|
||||
import Element as E exposing (..)
|
||||
import Element.Background as B
|
||||
import Element.Border as D
|
||||
import Element.Font as F
|
||||
import Html.Attributes as H
|
||||
import Route.Path as Path exposing (..)
|
||||
import Shared exposing (..)
|
||||
|
||||
|
||||
headerMaker : Headerable -> Element msg
|
||||
headerMaker headerable =
|
||||
let
|
||||
headerTitleMaker : String -> Element msg
|
||||
headerTitleMaker title =
|
||||
el
|
||||
[ headerFontSizeBig
|
||||
, F.bold
|
||||
, width fill
|
||||
, F.center
|
||||
]
|
||||
<|
|
||||
paragraph [] [ text title ]
|
||||
|
||||
headerHelper : String -> String -> Element msg
|
||||
headerHelper title body =
|
||||
el
|
||||
[ width (fill |> minimum 100)
|
||||
, width (fill |> maximum 725)
|
||||
, padding 10
|
||||
, centerX
|
||||
]
|
||||
<|
|
||||
column
|
||||
[ width fill
|
||||
]
|
||||
[ headerTitleMaker title
|
||||
, divider
|
||||
, el
|
||||
[ E.height fill
|
||||
, E.width fill
|
||||
, centerX
|
||||
, spacing 8
|
||||
, paddingEach
|
||||
{ top = 10
|
||||
, bottom = 0
|
||||
, left = 0
|
||||
, right = 0
|
||||
}
|
||||
]
|
||||
<|
|
||||
el
|
||||
[ paddingEach
|
||||
{ top = 0
|
||||
, bottom = 0
|
||||
, left = 15
|
||||
, right = 15
|
||||
}
|
||||
, spacing 8
|
||||
, width fill
|
||||
]
|
||||
<|
|
||||
paragraph
|
||||
[ width fill
|
||||
, headerFontSizeSmall
|
||||
, F.center
|
||||
]
|
||||
<|
|
||||
[ text body ]
|
||||
]
|
||||
in
|
||||
case headerable of
|
||||
C.Arguments argument ->
|
||||
headerHelper argument.headerTitle argument.headerBody
|
||||
|
||||
C.BlogPage blog ->
|
||||
headerHelper blog.headerTitle blog.headerBody
|
||||
|
||||
C.CuckList cuck ->
|
||||
headerHelper cuck.headerTitle cuck.headerBody
|
||||
|
||||
C.Debate debate ->
|
||||
headerHelper debate.headerTitle debate.headerBody
|
||||
|
||||
C.Donate donate ->
|
||||
headerHelper donate.headerTitle donate.headerBody
|
||||
|
||||
C.Gibberish gibberish ->
|
||||
headerHelper gibberish.headerTitle gibberish.headerBody
|
||||
|
||||
C.Services service ->
|
||||
headerHelper service.headerTitle service.headerBody
|
||||
|
||||
C.Interviews interview ->
|
||||
headerHelper interview.headerTitle interview.headerBody
|
||||
|
||||
|
||||
cardContentMaker : List (Element msg) -> Element msg
|
||||
cardContentMaker content =
|
||||
column
|
||||
[ spacing 8
|
||||
, width fill
|
||||
]
|
||||
content
|
||||
|
||||
|
||||
cardStuff : Element msg -> Element msg
|
||||
cardStuff content =
|
||||
el
|
||||
[ E.height fill
|
||||
, E.width fill
|
||||
, centerX
|
||||
, spacing 8
|
||||
]
|
||||
<|
|
||||
el
|
||||
[ paddingEach
|
||||
{ top = 0
|
||||
, bottom = 0
|
||||
, left = 15
|
||||
, right = 15
|
||||
}
|
||||
, spacing 8
|
||||
, width fill
|
||||
]
|
||||
content
|
91
frontend/src/Config/Helpers/Headers/Records.elm
Normal file
91
frontend/src/Config/Helpers/Headers/Records.elm
Normal file
|
@ -0,0 +1,91 @@
|
|||
module Config.Helpers.Headers.Records exposing (..)
|
||||
|
||||
import Config.Helpers.Headers.Types exposing (..)
|
||||
|
||||
|
||||
argumentHeader : Header
|
||||
argumentHeader =
|
||||
let
|
||||
name =
|
||||
"Arguments"
|
||||
in
|
||||
{ headerTitle = String.toUpper name
|
||||
, headerBody = "This page features arguments that I hold to be sound. I'm open to hearing all challenges, as I am ready to engage with and defend any argument listed."
|
||||
}
|
||||
|
||||
|
||||
blogHeader : Header
|
||||
blogHeader =
|
||||
let
|
||||
name =
|
||||
"Blog"
|
||||
in
|
||||
{ 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 article."
|
||||
}
|
||||
|
||||
|
||||
cuckListHeader : Header
|
||||
cuckListHeader =
|
||||
let
|
||||
name =
|
||||
"Cucklist"
|
||||
in
|
||||
{ headerTitle = String.toUpper name
|
||||
, headerBody = "This page features a list of morons who wrote cheques with their mouths that their asses couldn't cash. Each person included in this list has dodged debating me."
|
||||
}
|
||||
|
||||
|
||||
debateHeader : Header
|
||||
debateHeader =
|
||||
let
|
||||
name =
|
||||
"Debate"
|
||||
in
|
||||
{ headerTitle = String.toUpper name
|
||||
, headerBody = "Here you will find links to various pages relevant to debate, such as formal arguments, a list of debate-dodging cucks, and an inventory of nonsensical terminology."
|
||||
}
|
||||
|
||||
|
||||
donateHeader : Header
|
||||
donateHeader =
|
||||
let
|
||||
name =
|
||||
"Donate"
|
||||
in
|
||||
{ headerTitle = String.toUpper name
|
||||
, headerBody = "My site, research, and content all cost time and money to run. If you find my contributions valuable, please consider supporting my work on any of the platforms listed below!"
|
||||
}
|
||||
|
||||
|
||||
gibberishHeader : Header
|
||||
gibberishHeader =
|
||||
let
|
||||
name =
|
||||
"Gibberish"
|
||||
in
|
||||
{ headerTitle = String.toUpper name
|
||||
, headerBody = "This page is specifically for terms and ostensible concepts that I think are either nonsensical or so practically useless that its intelligiblity is irrelevant."
|
||||
}
|
||||
|
||||
|
||||
servicesHeader : Header
|
||||
servicesHeader =
|
||||
let
|
||||
name =
|
||||
"Services"
|
||||
in
|
||||
{ headerTitle = String.toUpper name
|
||||
, headerBody = "Bundle any of the services below to receive a $10 discount per hour. For example, two Debate Analysis sessions would cost $140 total, instead of $80/hr. All prices are in CAD."
|
||||
}
|
||||
|
||||
|
||||
interviewHeader : Header
|
||||
interviewHeader =
|
||||
let
|
||||
name =
|
||||
"Interviews"
|
||||
in
|
||||
{ headerTitle = String.toUpper name
|
||||
, headerBody = "This page showcases various podcasts and shows I've been on. If you’d like to have me as a guest on your podcast, feel free to reach out—I’d love to share my perspectives with your audience!"
|
||||
}
|
|
@ -1,6 +1,17 @@
|
|||
module Config.Helpers.Headers.Types exposing (..)
|
||||
|
||||
|
||||
type Headerable
|
||||
= Arguments Header
|
||||
| BlogPage Header
|
||||
| CuckList Header
|
||||
| Debate Header
|
||||
| Donate Header
|
||||
| Gibberish Header
|
||||
| Services Header
|
||||
| Interviews Header
|
||||
|
||||
|
||||
type alias Header =
|
||||
{ headerTitle : String
|
||||
, headerBody : String
|
||||
|
|
|
@ -38,3 +38,13 @@ pageListFormat =
|
|||
, height fill
|
||||
, scrollbarY
|
||||
]
|
||||
|
||||
|
||||
contentContainer : Element msg -> Element msg
|
||||
contentContainer =
|
||||
el
|
||||
[ width (fill |> minimum 100)
|
||||
, width (fill |> maximum 875)
|
||||
, padding 10
|
||||
, centerX
|
||||
]
|
||||
|
|
|
@ -1,12 +1,8 @@
|
|||
module Config.Pages.Contact.Types exposing (..)
|
||||
|
||||
|
||||
type alias Contact =
|
||||
{ contactName : String
|
||||
, contactImage : String
|
||||
, contactLink : String
|
||||
, isNewTabLink : Bool
|
||||
, contactLinkLabel : String
|
||||
, contactEntry : List Method
|
||||
}
|
||||
|
||||
|
||||
|
@ -14,4 +10,8 @@ type alias Method =
|
|||
{ contactInstructions : String
|
||||
}
|
||||
|
||||
|
||||
|
||||
contactTitle : Contact
|
||||
contactTitle =
|
||||
{ contactName = "Contact"
|
||||
}
|
||||
|
|
|
@ -392,8 +392,7 @@ items input =
|
|||
]
|
||||
in
|
||||
column
|
||||
[ scrollbarY
|
||||
, height fill
|
||||
[ height fill
|
||||
, width fill
|
||||
]
|
||||
<|
|
||||
|
|
|
@ -2,8 +2,8 @@ module Pages.Blog exposing (Model, Msg, page)
|
|||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Articles.Article exposing (extractFirstWords)
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Cards.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Types as C
|
||||
import Config.Helpers.Converters
|
||||
exposing
|
||||
( formatName
|
||||
|
@ -15,8 +15,9 @@ import Config.Helpers.Format
|
|||
, paragraphFontSize
|
||||
, paragraphSpacing
|
||||
)
|
||||
import Config.Helpers.Headers.Header exposing (..)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Headers.Helpers exposing (..)
|
||||
import Config.Helpers.Headers.Records exposing (blogHeader)
|
||||
import Config.Helpers.Headers.Types as R exposing (..)
|
||||
import Config.Helpers.Markdown
|
||||
exposing
|
||||
( renderDeviceMarkdown
|
||||
|
@ -141,12 +142,8 @@ blogList device =
|
|||
)
|
||||
<|
|
||||
List.concat
|
||||
[ -- List.map (headerMaker device)
|
||||
-- [
|
||||
-- servicesHeader
|
||||
-- ]
|
||||
-- ,
|
||||
List.map
|
||||
[ [ headerMaker (R.BlogPage blogHeader) ]
|
||||
, List.map
|
||||
(\article ->
|
||||
cardMaker device (C.BlogCard article) (contentList article)
|
||||
)
|
||||
|
@ -165,17 +162,6 @@ blogList device =
|
|||
]
|
||||
|
||||
|
||||
blogHeader : Header
|
||||
blogHeader =
|
||||
let
|
||||
name =
|
||||
"Blog"
|
||||
in
|
||||
{ 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 article."
|
||||
}
|
||||
|
||||
|
||||
contentList : BlogArticle -> List (Element msg)
|
||||
contentList article =
|
||||
[ articleMaker article ]
|
||||
|
|
|
@ -2,8 +2,8 @@ module Pages.Blog.Bigfatsurprise exposing (Model, Msg, page)
|
|||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Articles.Article exposing (contentList)
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Cards.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Types as C
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
|
|
@ -2,8 +2,8 @@ module Pages.Blog.Everettvegans exposing (Model, Msg, page)
|
|||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Articles.Article exposing (contentList)
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Cards.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Types as C
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
|
|
@ -2,8 +2,8 @@ module Pages.Blog.Huntergatherers exposing (Model, Msg, page)
|
|||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Articles.Article exposing (contentList)
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Cards.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Types as C
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
|
|
@ -2,8 +2,8 @@ module Pages.Blog.Meatapologetics exposing (Model, Msg, page)
|
|||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Articles.Article exposing (contentList)
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Cards.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Types as C
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
|
|
@ -2,8 +2,8 @@ module Pages.Blog.Nagragoodrich exposing (Model, Msg, page)
|
|||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Articles.Article exposing (contentList)
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Cards.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Types as C
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
|
|
@ -2,8 +2,8 @@ module Pages.Blog.Plantbasedmeta exposing (Model, Msg, page)
|
|||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Articles.Article exposing (contentList)
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Cards.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Types as C
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
|
|
@ -2,8 +2,8 @@ module Pages.Blog.Quacksmashing exposing (Model, Msg, page)
|
|||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Articles.Article exposing (contentList)
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Cards.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Types as C
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
|
|
@ -2,8 +2,8 @@ module Pages.Blog.Sapiendiet exposing (Model, Msg, page)
|
|||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Articles.Article exposing (contentList)
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Cards.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Types as C
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
|
|
@ -2,8 +2,8 @@ module Pages.Blog.Seedoils exposing (Model, Msg, page)
|
|||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Articles.Article exposing (contentList)
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Cards.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Types as C
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
|
|
@ -2,8 +2,8 @@ module Pages.Blog.Shenanigans exposing (Model, Msg, page)
|
|||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Articles.Article exposing (contentList)
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Cards.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Types as C
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
|
|
@ -2,8 +2,8 @@ module Pages.Blog.Sweetdeception exposing (Model, Msg, page)
|
|||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Articles.Article exposing (contentList)
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Cards.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Types as C
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
module Pages.Contact exposing (Model, Msg, page)
|
||||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Cards.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Types as C
|
||||
import Config.Helpers.Format exposing (..)
|
||||
import Config.Helpers.Headers.Header exposing (..)
|
||||
import Config.Helpers.Headers.Helpers exposing (..)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
@ -124,16 +124,11 @@ contactList device =
|
|||
)
|
||||
<|
|
||||
List.concat
|
||||
[ -- List.map (headerMaker device)
|
||||
-- [
|
||||
-- servicesHeader
|
||||
-- ]
|
||||
-- ,
|
||||
List.map
|
||||
[ List.map
|
||||
(\contact ->
|
||||
cardMaker device (C.Contact contact) (contentList contact)
|
||||
)
|
||||
[]
|
||||
[contactTitle]
|
||||
]
|
||||
|
||||
|
||||
|
|
|
@ -11,8 +11,8 @@ import Config.Data.Identity
|
|||
exposing
|
||||
( pageNames
|
||||
)
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Cards.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Types as C
|
||||
import Config.Helpers.Converters exposing (formatName)
|
||||
import Config.Helpers.Format
|
||||
exposing
|
||||
|
@ -20,8 +20,9 @@ import Config.Helpers.Format
|
|||
, paragraphFontSize
|
||||
, paragraphSpacing
|
||||
)
|
||||
import Config.Helpers.Headers.Header exposing (..)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Headers.Helpers exposing (..)
|
||||
import Config.Helpers.Headers.Records exposing (debateHeader)
|
||||
import Config.Helpers.Headers.Types as R exposing (..)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageList
|
||||
|
@ -142,12 +143,8 @@ debateList device =
|
|||
)
|
||||
<|
|
||||
List.concat
|
||||
[ -- List.map (headerMaker device)
|
||||
-- [
|
||||
-- servicesHeader
|
||||
-- ]
|
||||
-- ,
|
||||
List.map
|
||||
[ [ headerMaker (R.Debate debateHeader) ]
|
||||
, List.map
|
||||
(\debate ->
|
||||
cardMaker device (C.Debate debate) (contentList debate)
|
||||
)
|
||||
|
@ -158,72 +155,50 @@ debateList device =
|
|||
]
|
||||
|
||||
|
||||
debateHeader : Header
|
||||
debateHeader =
|
||||
let
|
||||
name =
|
||||
"Debate"
|
||||
in
|
||||
{ headerTitle = String.toUpper name
|
||||
, headerBody = "Here you will find links to various pages relevant to debate, such as formal arguments, a list of debate-dodging cucks, and an inventory of nonsensical terminology."
|
||||
}
|
||||
|
||||
|
||||
contentList : Debate -> List (Element msg)
|
||||
contentList debate =
|
||||
[ descriptionMaker debate ]
|
||||
|
||||
|
||||
debateImage :
|
||||
Debate
|
||||
->
|
||||
{ src : String
|
||||
, description : String
|
||||
}
|
||||
debateImage debate =
|
||||
{ src = "debate/" ++ debate.debateImage ++ ".png"
|
||||
, description = debate.debateTitle
|
||||
}
|
||||
|
||||
|
||||
descriptionMaker : Debate -> Element msg
|
||||
descriptionMaker debate =
|
||||
column
|
||||
[ E.width fill
|
||||
, centerX
|
||||
, spacing 3
|
||||
]
|
||||
[ row [ spacing 5 ]
|
||||
[ paragraph
|
||||
[ F.color colourTheme.textLightOrange
|
||||
, paragraphSpacing
|
||||
, F.bold
|
||||
, headerFontSizeSmall
|
||||
, E.width fill
|
||||
column [ alignTop ]
|
||||
[ column
|
||||
[ spacing 3
|
||||
, alignTop
|
||||
]
|
||||
[ row [ spacing 5 ]
|
||||
[ paragraph
|
||||
[ F.color colourTheme.textLightOrange
|
||||
, paragraphSpacing
|
||||
, F.bold
|
||||
, headerFontSizeSmall
|
||||
, E.width fill
|
||||
]
|
||||
[ if debate.debateTitle == "Arguments" then
|
||||
text "Inferences: "
|
||||
|
||||
else if debate.debateTitle == "Cucklist" then
|
||||
text "Cucks: "
|
||||
|
||||
else if debate.debateTitle == "Gibberish" then
|
||||
text "Gibberations: "
|
||||
|
||||
else
|
||||
text ""
|
||||
]
|
||||
, text (String.fromInt debate.debateCount)
|
||||
|> el
|
||||
[ F.color colourTheme.textLightGrey
|
||||
, F.regular
|
||||
, paragraphFontSize
|
||||
]
|
||||
]
|
||||
[ if debate.debateTitle == "Arguments" then
|
||||
text "Inferences: "
|
||||
|
||||
else if debate.debateTitle == "Cucklist" then
|
||||
text "Cucks: "
|
||||
|
||||
else if debate.debateTitle == "Gibberish" then
|
||||
text "Gibberations: "
|
||||
|
||||
else
|
||||
text ""
|
||||
]
|
||||
, text (String.fromInt debate.debateCount)
|
||||
|> el
|
||||
[ F.color colourTheme.textLightGrey
|
||||
, F.regular
|
||||
, F.size 16
|
||||
, el [ width fill ] <|
|
||||
chunkMaker
|
||||
[ text debate.debateDescription
|
||||
]
|
||||
]
|
||||
, el [ width fill ] <|
|
||||
chunkMaker
|
||||
[ text debate.debateDescription
|
||||
]
|
||||
]
|
||||
|
||||
|
||||
|
|
|
@ -1,16 +1,17 @@
|
|||
module Pages.Debate.Arguments exposing (Model, Msg, page)
|
||||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Cards.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Types as C
|
||||
import Config.Helpers.Converters exposing (toTitleCase)
|
||||
import Config.Helpers.Format
|
||||
exposing
|
||||
( paragraphFontSize
|
||||
, paragraphSpacing
|
||||
)
|
||||
import Config.Helpers.Headers.Header exposing (..)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Headers.Helpers exposing (..)
|
||||
import Config.Helpers.Headers.Records exposing (argumentHeader)
|
||||
import Config.Helpers.Headers.Types as R exposing (..)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageList
|
||||
|
@ -137,12 +138,8 @@ debateList device =
|
|||
)
|
||||
<|
|
||||
List.concat
|
||||
[ -- List.map (headerMaker device)
|
||||
-- [
|
||||
-- servicesHeader
|
||||
-- ]
|
||||
-- ,
|
||||
List.map
|
||||
[ [ headerMaker (R.Arguments argumentHeader) ]
|
||||
, List.map
|
||||
(\argument ->
|
||||
cardMaker device (C.Argument argument) (contentList argument)
|
||||
)
|
||||
|
@ -150,17 +147,6 @@ debateList device =
|
|||
]
|
||||
|
||||
|
||||
argumentHeader : Header
|
||||
argumentHeader =
|
||||
let
|
||||
name =
|
||||
"Arguments"
|
||||
in
|
||||
{ headerTitle = String.toUpper name
|
||||
, headerBody = "This page features arguments that I hold to be sound. I'm open to hearing all challenges, as I am ready to engage with and defend any argument listed."
|
||||
}
|
||||
|
||||
|
||||
contentList : Argument -> List (Element msg)
|
||||
contentList argument =
|
||||
[ summaryMakerDesktop argument
|
||||
|
@ -170,33 +156,10 @@ contentList argument =
|
|||
]
|
||||
|
||||
|
||||
argumentImage : Argument -> { src : String, description : String }
|
||||
argumentImage argument =
|
||||
{ src = "/arguments/" ++ argument.argumentImage ++ ".png"
|
||||
, description = argument.argumentTitle
|
||||
}
|
||||
|
||||
|
||||
infoSpacing =
|
||||
E.width <| px 100
|
||||
|
||||
|
||||
propositionMakerDesktop : Argument -> Element msg
|
||||
propositionMakerDesktop argument =
|
||||
row []
|
||||
[ propositionMaker
|
||||
, propositionTitleMaker argument
|
||||
]
|
||||
|
||||
|
||||
propositionMakerMobile : Argument -> Element msg
|
||||
propositionMakerMobile argument =
|
||||
column []
|
||||
[ propositionMaker
|
||||
, propositionTitleMaker argument
|
||||
]
|
||||
|
||||
|
||||
propositionMaker : Element msg
|
||||
propositionMaker =
|
||||
column
|
||||
|
@ -471,24 +434,27 @@ getConfidenceTooltip num =
|
|||
|
||||
tableMaker : Argument -> Element msg
|
||||
tableMaker argument =
|
||||
let
|
||||
cellPadding : Attribute msg
|
||||
cellPadding =
|
||||
paddingXY 10 5
|
||||
in
|
||||
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
|
||||
[ el
|
||||
[ F.color colourTheme.textLightGrey
|
||||
, paragraphSpacing
|
||||
, paragraphFontSize
|
||||
, F.bold
|
||||
, E.alignLeft
|
||||
, E.width fill
|
||||
, htmlAttribute <| H.style "position" "relative"
|
||||
]
|
||||
<|
|
||||
E.table
|
||||
[ D.rounded 10
|
||||
, D.width 2
|
||||
, D.color colourTheme.textDarkGrey
|
||||
, clip
|
||||
|
@ -505,15 +471,16 @@ tableMaker argument =
|
|||
, right = 1
|
||||
}
|
||||
, D.color colourTheme.textDarkGrey
|
||||
, padding 8
|
||||
, cellPadding
|
||||
, E.width fill
|
||||
]
|
||||
(text "Definiendum")
|
||||
|> el [ F.color colourTheme.textLightOrange ]
|
||||
, width = fill |> maximum 50
|
||||
<|
|
||||
el [ F.color colourTheme.textLightOrange ] <|
|
||||
text "Definiendum"
|
||||
, width = fill |> maximum 30
|
||||
, view =
|
||||
\definition ->
|
||||
row
|
||||
el
|
||||
[ F.color colourTheme.textLightOrange
|
||||
, F.bold
|
||||
, D.widthEach
|
||||
|
@ -523,13 +490,12 @@ tableMaker argument =
|
|||
, right = 1
|
||||
}
|
||||
, D.color colourTheme.textDarkGrey
|
||||
, padding 8
|
||||
, cellPadding
|
||||
, E.height fill
|
||||
]
|
||||
[ row [ centerX ]
|
||||
[ paragraph [] [ text definition.definiendum ]
|
||||
]
|
||||
]
|
||||
<|
|
||||
el [ centerX ] <|
|
||||
paragraph [] [ text definition.definiendum ]
|
||||
}
|
||||
, { header =
|
||||
el
|
||||
|
@ -541,15 +507,18 @@ tableMaker argument =
|
|||
, right = 1
|
||||
}
|
||||
, D.color colourTheme.textDarkGrey
|
||||
, padding 8
|
||||
, cellPadding
|
||||
, E.width fill
|
||||
]
|
||||
(text "Definiens")
|
||||
|> el [ F.color colourTheme.textLightOrange ]
|
||||
<|
|
||||
el
|
||||
[ F.color colourTheme.textLightOrange ]
|
||||
<|
|
||||
text "Definiens"
|
||||
, width = fill
|
||||
, view =
|
||||
\definition ->
|
||||
paragraph
|
||||
el
|
||||
[ F.color colourTheme.textLightGrey
|
||||
, F.regular
|
||||
, D.widthEach
|
||||
|
@ -559,17 +528,15 @@ tableMaker argument =
|
|||
, right = 1
|
||||
}
|
||||
, D.color colourTheme.textDarkGrey
|
||||
, padding 8
|
||||
, cellPadding
|
||||
, E.height fill
|
||||
]
|
||||
[ row []
|
||||
[ paragraph [] [ text definition.definiens ]
|
||||
]
|
||||
]
|
||||
<|
|
||||
el [] <|
|
||||
paragraph [] [ text definition.definiens ]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
]
|
||||
|
||||
|
||||
|
@ -578,21 +545,11 @@ argumentDesktopPadding =
|
|||
paddingXY 40 3
|
||||
|
||||
|
||||
argumentMobilePadding : Attribute msg
|
||||
argumentMobilePadding =
|
||||
paddingXY 0 3
|
||||
|
||||
|
||||
desktopFormalizationMaker : Argument -> Element msg
|
||||
desktopFormalizationMaker argument =
|
||||
formalizationMaker argument argumentDesktopPadding
|
||||
|
||||
|
||||
mobileFormalizationMaker : Argument -> Element msg
|
||||
mobileFormalizationMaker argument =
|
||||
formalizationMaker argument argumentMobilePadding
|
||||
|
||||
|
||||
formalizationMaker : Argument -> Attribute msg -> Element msg
|
||||
formalizationMaker argument padding =
|
||||
column
|
||||
|
@ -603,16 +560,14 @@ formalizationMaker argument padding =
|
|||
(List.indexedMap
|
||||
(\index argumentEntry ->
|
||||
column
|
||||
([ F.color colourTheme.textLightGrey
|
||||
, paragraphSpacing
|
||||
, paragraphFontSize
|
||||
]
|
||||
++ [ spacing 3
|
||||
, centerX
|
||||
, E.width fill
|
||||
, padding
|
||||
]
|
||||
)
|
||||
[ F.color colourTheme.textLightGrey
|
||||
, paragraphSpacing
|
||||
, paragraphFontSize
|
||||
, spacing 3
|
||||
, centerX
|
||||
, E.width fill
|
||||
, padding
|
||||
]
|
||||
(List.indexedMap
|
||||
(\entryIndex entryWithNotation ->
|
||||
column
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
module Pages.Debate.Cucklist exposing (Model, Msg, page)
|
||||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Cards.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Types as C
|
||||
import Config.Helpers.Converters exposing (formatSocial)
|
||||
import Config.Helpers.Format
|
||||
exposing
|
||||
|
@ -10,8 +10,9 @@ import Config.Helpers.Format
|
|||
, paragraphFontSize
|
||||
, paragraphSpacing
|
||||
)
|
||||
import Config.Helpers.Headers.Header exposing (..)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Headers.Helpers exposing (..)
|
||||
import Config.Helpers.Headers.Records exposing (cuckListHeader)
|
||||
import Config.Helpers.Headers.Types as R exposing (..)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageList
|
||||
|
@ -130,12 +131,8 @@ cucksList device =
|
|||
)
|
||||
<|
|
||||
List.concat
|
||||
[ -- List.map (headerMaker device)
|
||||
-- [
|
||||
-- servicesHeader
|
||||
-- ]
|
||||
-- ,
|
||||
List.map
|
||||
[ [ headerMaker (R.CuckList cuckListHeader) ]
|
||||
, List.map
|
||||
(\cuck ->
|
||||
cardMaker device (C.Cuck cuck) (contentList cuck)
|
||||
)
|
||||
|
@ -143,17 +140,6 @@ cucksList device =
|
|||
]
|
||||
|
||||
|
||||
cuckListHeader : Header
|
||||
cuckListHeader =
|
||||
let
|
||||
name =
|
||||
"Cucklist"
|
||||
in
|
||||
{ headerTitle = String.toUpper name
|
||||
, headerBody = "This page features a list of morons who wrote cheques with their mouths that their asses couldn't cash. Each person included in this list has dodged debating me."
|
||||
}
|
||||
|
||||
|
||||
contentList : Cuck -> List (Element msg)
|
||||
contentList cuck =
|
||||
[ socialMaker cuck
|
||||
|
@ -162,18 +148,6 @@ contentList cuck =
|
|||
]
|
||||
|
||||
|
||||
cuckImage :
|
||||
Cuck
|
||||
->
|
||||
{ src : String
|
||||
, description : String
|
||||
}
|
||||
cuckImage cuck =
|
||||
{ src = "/cucks/" ++ cuck.cuckImage ++ "/" ++ cuck.cuckImage ++ ".png"
|
||||
, description = cuck.cuckName
|
||||
}
|
||||
|
||||
|
||||
dodgeMaker : Cuck -> Element msg
|
||||
dodgeMaker cuck =
|
||||
column
|
||||
|
|
|
@ -1,16 +1,17 @@
|
|||
module Pages.Debate.Gibberish exposing (Model, Msg, page)
|
||||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Cards.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Types as C
|
||||
import Config.Helpers.Converters exposing (toTitleCase)
|
||||
import Config.Helpers.Format
|
||||
exposing
|
||||
( paragraphFontSize
|
||||
, paragraphSpacing
|
||||
)
|
||||
import Config.Helpers.Headers.Header exposing (..)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Headers.Helpers exposing (..)
|
||||
import Config.Helpers.Headers.Records exposing (gibberishHeader)
|
||||
import Config.Helpers.Headers.Types as R exposing (..)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageList
|
||||
|
@ -135,12 +136,8 @@ gibberishList device =
|
|||
)
|
||||
<|
|
||||
List.concat
|
||||
[ -- List.map (headerMaker device)
|
||||
-- [
|
||||
-- servicesHeader
|
||||
-- ]
|
||||
-- ,
|
||||
List.map
|
||||
[ [ headerMaker (R.Gibberish gibberishHeader) ]
|
||||
, List.map
|
||||
(\gibberish ->
|
||||
cardMaker device (C.Gibberish gibberish) (contentList gibberish)
|
||||
)
|
||||
|
@ -155,17 +152,6 @@ gibberishList device =
|
|||
]
|
||||
|
||||
|
||||
gibberishHeader : Header
|
||||
gibberishHeader =
|
||||
let
|
||||
name =
|
||||
"Gibberish"
|
||||
in
|
||||
{ headerTitle = String.toUpper name
|
||||
, headerBody = "This page is specifically for terms and ostensible concepts that I think are either nonsensical or so practically useless that its intelligiblity is irrelevant."
|
||||
}
|
||||
|
||||
|
||||
contentList : Gibberish -> List (Element msg)
|
||||
contentList gibberish =
|
||||
[ descriptionMaker gibberish
|
||||
|
|
|
@ -1,16 +1,17 @@
|
|||
module Pages.Donate exposing (Model, Msg, page)
|
||||
|
||||
import Config.Data.Identity as I exposing (..)
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Cards.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Types as C
|
||||
import Config.Helpers.Format
|
||||
exposing
|
||||
( headerFontSizeSmall
|
||||
, paragraphFontSize
|
||||
, paragraphSpacing
|
||||
)
|
||||
import Config.Helpers.Headers.Header exposing (..)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Headers.Helpers exposing (..)
|
||||
import Config.Helpers.Headers.Records exposing (donateHeader)
|
||||
import Config.Helpers.Headers.Types as R exposing (..)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageList
|
||||
|
@ -132,12 +133,8 @@ donateList device =
|
|||
)
|
||||
<|
|
||||
List.concat
|
||||
[ -- List.map (headerMaker device)
|
||||
-- [
|
||||
-- servicesHeader
|
||||
-- ]
|
||||
-- ,
|
||||
List.map
|
||||
[ [ headerMaker (R.Donate donateHeader) ]
|
||||
, List.map
|
||||
(\donate ->
|
||||
cardMaker device (C.Donate donate) (contentList device donate)
|
||||
)
|
||||
|
@ -152,17 +149,6 @@ donateList device =
|
|||
]
|
||||
|
||||
|
||||
donateHeader : Header
|
||||
donateHeader =
|
||||
let
|
||||
name =
|
||||
"Donate"
|
||||
in
|
||||
{ headerTitle = String.toUpper name
|
||||
, headerBody = "My site, research, and content all cost time and money to run. If you find my contributions valuable, please consider supporting my work on any of the platforms listed below!"
|
||||
}
|
||||
|
||||
|
||||
contentList : Device -> Donate -> List (Element msg)
|
||||
contentList device donate =
|
||||
[ feeMaker donate
|
||||
|
@ -175,18 +161,6 @@ contentList device donate =
|
|||
]
|
||||
|
||||
|
||||
donateImage :
|
||||
Donate
|
||||
->
|
||||
{ src : String
|
||||
, description : String
|
||||
}
|
||||
donateImage donate =
|
||||
{ src = "donate/" ++ donate.donateImage ++ ".png"
|
||||
, description = donate.donateName
|
||||
}
|
||||
|
||||
|
||||
donateWidth =
|
||||
width <| px 45
|
||||
|
||||
|
@ -486,7 +460,7 @@ createColumn { label, getter } =
|
|||
{ bottom = 1
|
||||
, top = 1
|
||||
, left = 1
|
||||
, right = 1
|
||||
, right = 0
|
||||
}
|
||||
, D.color colourTheme.textDarkGrey
|
||||
, padding 8
|
||||
|
@ -505,7 +479,7 @@ createColumn { label, getter } =
|
|||
{ bottom = 1
|
||||
, top = 0
|
||||
, left = 1
|
||||
, right = 1
|
||||
, right = 0
|
||||
}
|
||||
, D.color colourTheme.textDarkGrey
|
||||
, padding 8
|
||||
|
|
|
@ -6,7 +6,6 @@ import Config.Helpers.Format
|
|||
( paragraphFontSize
|
||||
, paragraphSpacing
|
||||
)
|
||||
import Config.Helpers.Headers.Header exposing (..)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
module Pages.Interviews exposing (Model, Msg, page)
|
||||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Cards.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Types as C
|
||||
import Config.Helpers.Converters exposing (formatSocial)
|
||||
import Config.Helpers.Format
|
||||
exposing
|
||||
|
@ -10,8 +10,9 @@ import Config.Helpers.Format
|
|||
, paragraphFontSize
|
||||
, paragraphSpacing
|
||||
)
|
||||
import Config.Helpers.Headers.Header exposing (..)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Headers.Helpers exposing (..)
|
||||
import Config.Helpers.Headers.Records exposing (interviewHeader)
|
||||
import Config.Helpers.Headers.Types as R exposing (..)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageList
|
||||
|
@ -139,12 +140,8 @@ interviewList device =
|
|||
)
|
||||
<|
|
||||
List.concat
|
||||
[ -- List.map (headerMaker device)
|
||||
-- [
|
||||
-- servicesHeader
|
||||
-- ]
|
||||
-- ,
|
||||
List.map
|
||||
[ [ headerMaker (R.Interviews interviewHeader) ]
|
||||
, List.map
|
||||
(\interview ->
|
||||
cardMaker device (C.Interview interview) (contentList interview)
|
||||
)
|
||||
|
@ -161,17 +158,6 @@ interviewList device =
|
|||
]
|
||||
|
||||
|
||||
interviewHeader : Header
|
||||
interviewHeader =
|
||||
let
|
||||
name =
|
||||
"Interviews"
|
||||
in
|
||||
{ headerTitle = String.toUpper name
|
||||
, headerBody = "This page showcases various podcasts and shows I've been on. If you’d like to have me as a guest on your podcast, feel free to reach out—I’d love to share my perspectives with your audience!"
|
||||
}
|
||||
|
||||
|
||||
contentList : Interview -> List (Element msg)
|
||||
contentList interview =
|
||||
[ appearanceTitle interview
|
||||
|
@ -179,13 +165,6 @@ contentList interview =
|
|||
]
|
||||
|
||||
|
||||
interviewImage : Interview -> { src : String, description : String }
|
||||
interviewImage interview =
|
||||
{ src = "interviews/" ++ interview.interviewImage ++ ".png"
|
||||
, description = interview.interviewImage
|
||||
}
|
||||
|
||||
|
||||
socialMaker : Interview -> Element msg
|
||||
socialMaker interview =
|
||||
paragraph
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
module Pages.NotFound_ exposing (Model, Msg, page)
|
||||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Headers.Header exposing (..)
|
||||
import Config.Helpers.Cards.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Types as C
|
||||
import Config.Helpers.Headers.Helpers exposing (..)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
|
|
@ -3,15 +3,15 @@ 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.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Cards.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Types as C
|
||||
import Config.Helpers.Format
|
||||
exposing
|
||||
( divider
|
||||
, paragraphFontSize
|
||||
, paragraphSpacing
|
||||
)
|
||||
import Config.Helpers.Headers.Header exposing (..)
|
||||
import Config.Helpers.Headers.Helpers exposing (..)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
|
|
@ -2,8 +2,8 @@ module Pages.Services exposing (Model, Msg, page)
|
|||
|
||||
import Browser
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Cards.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Types as C
|
||||
import Config.Helpers.Format
|
||||
exposing
|
||||
( headerFontSizeMedium
|
||||
|
@ -11,8 +11,9 @@ import Config.Helpers.Format
|
|||
, paragraphFontSize
|
||||
, paragraphSpacing
|
||||
)
|
||||
import Config.Helpers.Headers.Header exposing (..)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Headers.Helpers exposing (..)
|
||||
import Config.Helpers.Headers.Records exposing (servicesHeader)
|
||||
import Config.Helpers.Headers.Types as R exposing (..)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageList
|
||||
|
@ -125,12 +126,9 @@ servicesList device =
|
|||
)
|
||||
<|
|
||||
List.concat
|
||||
[ -- List.map (headerMaker device)
|
||||
-- [
|
||||
-- servicesHeader
|
||||
-- ]
|
||||
-- ,
|
||||
List.map
|
||||
[ [ headerMaker (R.Services servicesHeader)
|
||||
]
|
||||
, List.map
|
||||
(\service ->
|
||||
cardMaker device (C.Service service) (contentList service)
|
||||
)
|
||||
|
@ -151,13 +149,6 @@ contentList service =
|
|||
]
|
||||
|
||||
|
||||
serviceImage : Service msg -> { src : String, description : String }
|
||||
serviceImage service =
|
||||
{ src = "services/" ++ service.serviceImage ++ ".png"
|
||||
, description = service.serviceName
|
||||
}
|
||||
|
||||
|
||||
serviceWidth =
|
||||
width <| px 45
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
module Pages.Services.Analysis exposing (Model, Msg, page)
|
||||
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Cards.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Types as C exposing (..)
|
||||
import Config.Helpers.Format exposing (..)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response exposing (pageList, topLevelContainer)
|
||||
|
@ -113,16 +113,11 @@ analysisList device =
|
|||
)
|
||||
<|
|
||||
List.concat
|
||||
[ -- List.map (headerMaker device)
|
||||
-- [
|
||||
-- servicesHeader
|
||||
-- ]
|
||||
-- ,
|
||||
List.map
|
||||
[ List.map
|
||||
(\service ->
|
||||
cardMaker device (C.Service service) contentList
|
||||
cardMaker device (C.ServicePage service) contentList
|
||||
)
|
||||
[]
|
||||
[ servicesDebateAnalysis ]
|
||||
]
|
||||
|
||||
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
module Pages.Services.Coaching exposing (Model, Msg, page)
|
||||
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Cards.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Types as C
|
||||
import Config.Helpers.Format exposing (..)
|
||||
import Config.Helpers.Headers.Header exposing (..)
|
||||
import Config.Helpers.Headers.Helpers exposing (..)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
@ -118,16 +118,11 @@ coachingList device =
|
|||
)
|
||||
<|
|
||||
List.concat
|
||||
[ -- List.map (headerMaker device)
|
||||
-- [
|
||||
-- servicesHeader
|
||||
-- ]
|
||||
-- ,
|
||||
List.map
|
||||
[ List.map
|
||||
(\service ->
|
||||
cardMaker device (C.Service service) contentList
|
||||
cardMaker device (C.ServicePage service) contentList
|
||||
)
|
||||
[]
|
||||
[ servicesDebateCoaching ]
|
||||
]
|
||||
|
||||
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
module Pages.Services.Elm exposing (Model, Msg, page)
|
||||
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Cards.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Types as C
|
||||
import Config.Helpers.Format exposing (..)
|
||||
import Config.Helpers.Headers.Header exposing (..)
|
||||
import Config.Helpers.Headers.Helpers exposing (..)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
@ -111,23 +111,18 @@ elmBuildsContainer device =
|
|||
|
||||
elmBuildsList : Device -> Element msg
|
||||
elmBuildsList device =
|
||||
column
|
||||
column
|
||||
(case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
pageList
|
||||
)
|
||||
<|
|
||||
List.concat
|
||||
[ -- List.map (headerMaker device)
|
||||
-- [
|
||||
-- servicesHeader
|
||||
-- ]
|
||||
-- ,
|
||||
List.map
|
||||
[ List.map
|
||||
(\service ->
|
||||
cardMaker device (C.Service service) contentList
|
||||
cardMaker device (C.ServicePage service) contentList
|
||||
)
|
||||
[]
|
||||
[ servicesElmBuilds ]
|
||||
]
|
||||
|
||||
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
module Pages.Services.Nix exposing (Model, Msg, page)
|
||||
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Cards.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Types as C
|
||||
import Config.Helpers.Format exposing (..)
|
||||
import Config.Helpers.Headers.Header exposing (..)
|
||||
import Config.Helpers.Headers.Helpers exposing (..)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
@ -118,16 +118,11 @@ elmBuildsList device =
|
|||
)
|
||||
<|
|
||||
List.concat
|
||||
[ -- List.map (headerMaker device)
|
||||
-- [
|
||||
-- servicesHeader
|
||||
-- ]
|
||||
-- ,
|
||||
List.map
|
||||
[ List.map
|
||||
(\service ->
|
||||
cardMaker device (C.Service service) contentList
|
||||
cardMaker device (C.ServicePage service) contentList
|
||||
)
|
||||
[]
|
||||
[ servicesNixBuilds ]
|
||||
]
|
||||
|
||||
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
module Pages.Services.Nutrition exposing (Model, Msg, page)
|
||||
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Cards.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Types as C
|
||||
import Config.Helpers.Format exposing (..)
|
||||
import Config.Helpers.Headers.Header exposing (..)
|
||||
import Config.Helpers.Headers.Helpers exposing (..)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
@ -118,16 +118,11 @@ nutritionList device =
|
|||
)
|
||||
<|
|
||||
List.concat
|
||||
[ -- List.map (headerMaker device)
|
||||
-- [
|
||||
-- servicesHeader
|
||||
-- ]
|
||||
-- ,
|
||||
List.map
|
||||
[ List.map
|
||||
(\service ->
|
||||
cardMaker device (C.Service service) contentList
|
||||
cardMaker device (C.ServicePage service) contentList
|
||||
)
|
||||
[]
|
||||
[ servicesNutritionScience ]
|
||||
]
|
||||
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
* {
|
||||
scrollbar-width: thin;
|
||||
scrollbar-width: thick;
|
||||
scrollbar-color: rgb(120, 60, 0) rgb(20, 20, 20);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue