mirror of
https://gitlab.com/upRootNutrition/website.git
synced 2025-06-16 04:25:11 -05:00
feat: so very close
This commit is contained in:
parent
185d922ffb
commit
071c823c41
20 changed files with 293 additions and 570 deletions
|
@ -26,7 +26,7 @@ import Element.Font as F
|
||||||
|
|
||||||
detailSpacing : Attribute msg
|
detailSpacing : Attribute msg
|
||||||
detailSpacing =
|
detailSpacing =
|
||||||
spacing 3
|
spacing 5
|
||||||
|
|
||||||
|
|
||||||
detailFormat : (List (Attribute msg) -> List (Element msg) -> Element msg) -> List (Element msg) -> Element msg
|
detailFormat : (List (Attribute msg) -> List (Element msg) -> Element msg) -> List (Element msg) -> Element msg
|
||||||
|
@ -123,24 +123,29 @@ detailBodyMaker colour item =
|
||||||
|
|
||||||
listMaker : (a -> Element msg) -> List a -> Element msg
|
listMaker : (a -> Element msg) -> List a -> Element msg
|
||||||
listMaker makeItem itemInfo =
|
listMaker makeItem itemInfo =
|
||||||
column
|
detailFormat column <|
|
||||||
[ spacing 5
|
|
||||||
, width fill
|
|
||||||
]
|
|
||||||
<|
|
|
||||||
List.map2 (\x y -> makeItem x)
|
List.map2 (\x y -> makeItem x)
|
||||||
itemInfo
|
itemInfo
|
||||||
(List.range 1 (List.length itemInfo))
|
(List.range 1 (List.length itemInfo))
|
||||||
|
|
||||||
|
|
||||||
listItem : String -> Attribute msg -> Element msg
|
listMaker2 : (a -> Int -> Element msg) -> List a -> Element msg
|
||||||
listItem item colour =
|
listMaker2 makeItem itemInfo =
|
||||||
|
detailFormat column <|
|
||||||
|
List.map2
|
||||||
|
(\x y -> makeItem x y)
|
||||||
|
itemInfo
|
||||||
|
(List.range 1 (List.length itemInfo))
|
||||||
|
|
||||||
|
|
||||||
|
listItem : ThemeColor -> String -> Element msg
|
||||||
|
listItem colour item =
|
||||||
el
|
el
|
||||||
[ paragraphFontSize
|
[ paragraphFontSize
|
||||||
, F.bold
|
, F.bold
|
||||||
, alignLeft
|
, alignLeft
|
||||||
, width fill
|
, width fill
|
||||||
, colour
|
, F.color (getThemeColor colour)
|
||||||
]
|
]
|
||||||
<|
|
<|
|
||||||
paragraph [ F.regular ]
|
paragraph [ F.regular ]
|
||||||
|
|
|
@ -15,6 +15,7 @@ import Config.Helpers.Format
|
||||||
)
|
)
|
||||||
import Config.Helpers.ImageFolders as M exposing (..)
|
import Config.Helpers.ImageFolders as M exposing (..)
|
||||||
import Config.Helpers.Response exposing (contentContainer)
|
import Config.Helpers.Response exposing (contentContainer)
|
||||||
|
import Config.Helpers.ServiceFormat exposing (divider)
|
||||||
import Config.Pages.Debate.Arguments.Records.Template exposing (argument)
|
import Config.Pages.Debate.Arguments.Records.Template exposing (argument)
|
||||||
import Config.Style.Colour.Helpers exposing (colourTheme)
|
import Config.Style.Colour.Helpers exposing (colourTheme)
|
||||||
import Config.Style.Glow
|
import Config.Style.Glow
|
||||||
|
@ -36,7 +37,6 @@ import Element.Font as F
|
||||||
import Html.Attributes as H
|
import Html.Attributes as H
|
||||||
import Route.Path as Path exposing (..)
|
import Route.Path as Path exposing (..)
|
||||||
import Shared
|
import Shared
|
||||||
import Config.Helpers.ServiceFormat exposing (divider)
|
|
||||||
|
|
||||||
|
|
||||||
cardMaker : Device -> Cardable msg -> List (Element msg) -> Element msg
|
cardMaker : Device -> Cardable msg -> List (Element msg) -> Element msg
|
||||||
|
@ -84,7 +84,7 @@ cardMaker device cardable contents =
|
||||||
cardTitleMaker : String -> Maybe String -> Element msg
|
cardTitleMaker : String -> Maybe String -> Element msg
|
||||||
cardTitleMaker title maybeUrl =
|
cardTitleMaker title maybeUrl =
|
||||||
el
|
el
|
||||||
([ headerFontSizeMedium
|
([ headerFontSizeBig
|
||||||
, F.bold
|
, F.bold
|
||||||
, F.color colourTheme.textLightGrey
|
, F.color colourTheme.textLightGrey
|
||||||
, width fill
|
, width fill
|
||||||
|
|
|
@ -34,7 +34,7 @@ import Route.Path as Path exposing (..)
|
||||||
import Shared exposing (..)
|
import Shared exposing (..)
|
||||||
|
|
||||||
|
|
||||||
headerMaker : Headerable -> Element msg
|
headerMaker : Headerable msg -> Element msg
|
||||||
headerMaker headerable =
|
headerMaker headerable =
|
||||||
let
|
let
|
||||||
headerTitleMaker : String -> Element msg
|
headerTitleMaker : String -> Element msg
|
||||||
|
@ -48,7 +48,7 @@ headerMaker headerable =
|
||||||
<|
|
<|
|
||||||
paragraph [] [ text title ]
|
paragraph [] [ text title ]
|
||||||
|
|
||||||
headerHelper : String -> String -> Element msg
|
headerHelper : String -> List (Element msg) -> Element msg
|
||||||
headerHelper title body =
|
headerHelper title body =
|
||||||
el
|
el
|
||||||
[ width (fill |> minimum 100)
|
[ width (fill |> minimum 100)
|
||||||
|
@ -92,7 +92,7 @@ headerMaker headerable =
|
||||||
, F.center
|
, F.center
|
||||||
]
|
]
|
||||||
<|
|
<|
|
||||||
[ text body ]
|
body
|
||||||
]
|
]
|
||||||
in
|
in
|
||||||
case headerable of
|
case headerable of
|
||||||
|
|
|
@ -1,113 +1,114 @@
|
||||||
module Config.Helpers.Headers.Records exposing (..)
|
module Config.Helpers.Headers.Records exposing (..)
|
||||||
|
|
||||||
import Config.Helpers.Headers.Types exposing (..)
|
import Config.Helpers.Headers.Types exposing (..)
|
||||||
|
import Element as E exposing (text)
|
||||||
|
|
||||||
|
|
||||||
argumentHeader : Header
|
argumentHeader : Header msg
|
||||||
argumentHeader =
|
argumentHeader =
|
||||||
let
|
let
|
||||||
name =
|
name =
|
||||||
"Arguments"
|
"Arguments"
|
||||||
in
|
in
|
||||||
{ headerTitle = String.toUpper name
|
{ 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."
|
, headerBody = [ text "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 : Header msg
|
||||||
blogHeader =
|
blogHeader =
|
||||||
let
|
let
|
||||||
name =
|
name =
|
||||||
"Blog"
|
"Blog"
|
||||||
in
|
in
|
||||||
{ headerTitle = String.toUpper name
|
{ headerTitle = String.toUpper name
|
||||||
, headerBody = "This page features blog articles written by me, along with contributions from guest authors, covering topics primarily related to nutrition science, health science, and article."
|
, headerBody = [ text "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 : Header msg
|
||||||
cuckListHeader =
|
cuckListHeader =
|
||||||
let
|
let
|
||||||
name =
|
name =
|
||||||
"Cucklist"
|
"Cucklist"
|
||||||
in
|
in
|
||||||
{ headerTitle = String.toUpper name
|
{ 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."
|
, headerBody = [ text "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 : Header msg
|
||||||
debateHeader =
|
debateHeader =
|
||||||
let
|
let
|
||||||
name =
|
name =
|
||||||
"Debate"
|
"Debate"
|
||||||
in
|
in
|
||||||
{ headerTitle = String.toUpper name
|
{ 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."
|
, headerBody = [ text "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 : Header msg
|
||||||
donateHeader =
|
donateHeader =
|
||||||
let
|
let
|
||||||
name =
|
name =
|
||||||
"Donate"
|
"Donate"
|
||||||
in
|
in
|
||||||
{ headerTitle = String.toUpper name
|
{ 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!"
|
, headerBody = [ text "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 : Header msg
|
||||||
gibberishHeader =
|
gibberishHeader =
|
||||||
let
|
let
|
||||||
name =
|
name =
|
||||||
"Gibberish"
|
"Gibberish"
|
||||||
in
|
in
|
||||||
{ headerTitle = String.toUpper name
|
{ 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."
|
, headerBody = [ text "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 : Header msg
|
||||||
servicesHeader =
|
servicesHeader =
|
||||||
let
|
let
|
||||||
name =
|
name =
|
||||||
"Services"
|
"Services"
|
||||||
in
|
in
|
||||||
{ headerTitle = String.toUpper name
|
{ 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."
|
, headerBody = [ text "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 : Header msg
|
||||||
interviewHeader =
|
interviewHeader =
|
||||||
let
|
let
|
||||||
name =
|
name =
|
||||||
"Interviews"
|
"Interviews"
|
||||||
in
|
in
|
||||||
{ headerTitle = String.toUpper name
|
{ 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!"
|
, headerBody = [ text "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!" ]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
nutriDexHeader : Header
|
nutriDexHeader : Header msg
|
||||||
nutriDexHeader =
|
nutriDexHeader =
|
||||||
let
|
let
|
||||||
name =
|
name =
|
||||||
"The NutriDex"
|
"The NutriDex"
|
||||||
in
|
in
|
||||||
{ headerTitle = String.toUpper name
|
{ headerTitle = String.toUpper name
|
||||||
, headerBody = ""
|
, headerBody = [ text "" ]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
contactHeader : Header
|
contactHeader : Header msg
|
||||||
contactHeader =
|
contactHeader =
|
||||||
let
|
let
|
||||||
name =
|
name =
|
||||||
"Contact"
|
"Contact"
|
||||||
in
|
in
|
||||||
{ headerTitle = String.toUpper name
|
{ headerTitle = String.toUpper name
|
||||||
, headerBody = ""
|
, headerBody = [ text "" ]
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,20 +1,22 @@
|
||||||
module Config.Helpers.Headers.Types exposing (..)
|
module Config.Helpers.Headers.Types exposing (..)
|
||||||
|
|
||||||
|
import Element exposing (Element)
|
||||||
type Headerable
|
|
||||||
= Arguments Header
|
|
||||||
| BlogPage Header
|
|
||||||
| CuckList Header
|
|
||||||
| Debate Header
|
|
||||||
| Donate Header
|
|
||||||
| Gibberish Header
|
|
||||||
| Services Header
|
|
||||||
| Interviews Header
|
|
||||||
| NutriDex Header
|
|
||||||
| Contact Header
|
|
||||||
|
|
||||||
|
|
||||||
type alias Header =
|
type Headerable msg
|
||||||
|
= Arguments (Header msg)
|
||||||
|
| BlogPage (Header msg)
|
||||||
|
| CuckList (Header msg)
|
||||||
|
| Debate (Header msg)
|
||||||
|
| Donate (Header msg)
|
||||||
|
| Gibberish (Header msg)
|
||||||
|
| Services (Header msg)
|
||||||
|
| Interviews (Header msg)
|
||||||
|
| NutriDex (Header msg)
|
||||||
|
| Contact (Header msg)
|
||||||
|
|
||||||
|
|
||||||
|
type alias Header msg =
|
||||||
{ headerTitle : String
|
{ headerTitle : String
|
||||||
, headerBody : String
|
, headerBody : List (Element msg)
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
module Config.Helpers.ServiceFormat exposing (..)
|
module Config.Helpers.ServiceFormat exposing (..)
|
||||||
|
|
||||||
import Config.Data.Identity exposing (pageNames)
|
import Config.Data.Identity exposing (pageNames)
|
||||||
|
import Config.Helpers.Cards.Inner.Helpers exposing (detailSpacing)
|
||||||
import Config.Helpers.Format
|
import Config.Helpers.Format
|
||||||
exposing
|
exposing
|
||||||
( headerFontSizeBig
|
( headerFontSizeBig
|
||||||
|
@ -38,7 +39,7 @@ chunkMaker : List (Element msg) -> Element msg
|
||||||
chunkMaker elements =
|
chunkMaker elements =
|
||||||
paragraph
|
paragraph
|
||||||
[ F.color colourTheme.textLightGrey
|
[ F.color colourTheme.textLightGrey
|
||||||
, paragraphSpacing
|
, detailSpacing
|
||||||
, paragraphFontSize
|
, paragraphFontSize
|
||||||
, F.alignLeft
|
, F.alignLeft
|
||||||
, width fill
|
, width fill
|
||||||
|
|
|
@ -11,8 +11,6 @@ articleNagraGoodrich =
|
||||||
, articleAuthor = "Nick Hiebert"
|
, articleAuthor = "Nick Hiebert"
|
||||||
, isNewTabLink = False
|
, isNewTabLink = False
|
||||||
, hasReferences = False
|
, hasReferences = False
|
||||||
|
|
||||||
|
|
||||||
, hasTableOfContents = True
|
, hasTableOfContents = True
|
||||||
, articleImage = "nagragoodrich"
|
, articleImage = "nagragoodrich"
|
||||||
, articlePublished = "May 12, 2022"
|
, articlePublished = "May 12, 2022"
|
||||||
|
|
|
@ -46,124 +46,6 @@ syntaxTheme =
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
-- Color attribute functions for main theme
|
|
||||||
|
|
||||||
|
|
||||||
textLightGrey : E.Attr decorative msg
|
|
||||||
textLightGrey =
|
|
||||||
F.color colourTheme.textLightGrey
|
|
||||||
|
|
||||||
|
|
||||||
textDarkGrey : E.Attr decorative msg
|
|
||||||
textDarkGrey =
|
|
||||||
F.color colourTheme.textDarkGrey
|
|
||||||
|
|
||||||
|
|
||||||
textLightOrange : E.Attr decorative msg
|
|
||||||
textLightOrange =
|
|
||||||
F.color colourTheme.textLightOrange
|
|
||||||
|
|
||||||
|
|
||||||
textDarkOrange : E.Attr decorative msg
|
|
||||||
textDarkOrange =
|
|
||||||
F.color colourTheme.textDarkOrange
|
|
||||||
|
|
||||||
|
|
||||||
textDeepDarkOrange : E.Attr decorative msg
|
|
||||||
textDeepDarkOrange =
|
|
||||||
F.color colourTheme.textDeepDarkOrange
|
|
||||||
|
|
||||||
|
|
||||||
backgroundLightGrey : E.Attr decorative msg
|
|
||||||
backgroundLightGrey =
|
|
||||||
F.color colourTheme.backgroundLightGrey
|
|
||||||
|
|
||||||
|
|
||||||
backgroundDarkGrey : E.Attr decorative msg
|
|
||||||
backgroundDarkGrey =
|
|
||||||
F.color colourTheme.backgroundDarkGrey
|
|
||||||
|
|
||||||
|
|
||||||
backgroundDeepDarkGrey : E.Attr decorative msg
|
|
||||||
backgroundDeepDarkGrey =
|
|
||||||
F.color colourTheme.backgroundDeepDarkGrey
|
|
||||||
|
|
||||||
|
|
||||||
backgroundSpreadsheet : E.Attr decorative msg
|
|
||||||
backgroundSpreadsheet =
|
|
||||||
F.color colourTheme.backgroundSpreadsheet
|
|
||||||
|
|
||||||
|
|
||||||
backgroundSpreadsheetDark : E.Attr decorative msg
|
|
||||||
backgroundSpreadsheetDark =
|
|
||||||
F.color colourTheme.backgroundSpreadsheetDark
|
|
||||||
|
|
||||||
|
|
||||||
shadow : E.Attr decorative msg
|
|
||||||
shadow =
|
|
||||||
F.color colourTheme.shadow
|
|
||||||
|
|
||||||
|
|
||||||
barGreen : E.Attr decorative msg
|
|
||||||
barGreen =
|
|
||||||
F.color colourTheme.barGreen
|
|
||||||
|
|
||||||
|
|
||||||
barRed : E.Attr decorative msg
|
|
||||||
barRed =
|
|
||||||
F.color colourTheme.barRed
|
|
||||||
|
|
||||||
|
|
||||||
debugColour : E.Attr decorative msg
|
|
||||||
debugColour =
|
|
||||||
F.color colourTheme.debugColour
|
|
||||||
|
|
||||||
|
|
||||||
transparent : E.Attr decorative msg
|
|
||||||
transparent =
|
|
||||||
F.color colourTheme.transparent
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
-- Color attribute functions for syntax theme
|
|
||||||
|
|
||||||
|
|
||||||
syntaxPunctuation : E.Attr decorative msg
|
|
||||||
syntaxPunctuation =
|
|
||||||
F.color syntaxTheme.punctuation
|
|
||||||
|
|
||||||
|
|
||||||
syntaxKey : E.Attr decorative msg
|
|
||||||
syntaxKey =
|
|
||||||
F.color syntaxTheme.key
|
|
||||||
|
|
||||||
|
|
||||||
syntaxString : E.Attr decorative msg
|
|
||||||
syntaxString =
|
|
||||||
F.color syntaxTheme.string
|
|
||||||
|
|
||||||
|
|
||||||
syntaxKeyword : E.Attr decorative msg
|
|
||||||
syntaxKeyword =
|
|
||||||
F.color syntaxTheme.keyword
|
|
||||||
|
|
||||||
|
|
||||||
syntaxOperator : E.Attr decorative msg
|
|
||||||
syntaxOperator =
|
|
||||||
F.color syntaxTheme.operator
|
|
||||||
|
|
||||||
|
|
||||||
syntaxBackground : E.Attr decorative msg
|
|
||||||
syntaxBackground =
|
|
||||||
F.color syntaxTheme.background
|
|
||||||
|
|
||||||
|
|
||||||
syntaxText : E.Attr decorative msg
|
|
||||||
syntaxText =
|
|
||||||
F.color syntaxTheme.text
|
|
||||||
|
|
||||||
|
|
||||||
type ThemeColor
|
type ThemeColor
|
||||||
= TextLightGrey
|
= TextLightGrey
|
||||||
| TextDarkGrey
|
| TextDarkGrey
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
module Config.Style.Images exposing (..)
|
module Config.Style.Images exposing (..)
|
||||||
|
|
||||||
import Config.Helpers.ImageFolders exposing (..)
|
import Config.Helpers.ImageFolders exposing (..)
|
||||||
import Config.Style.Colour.Helpers exposing (colourTheme)
|
import Config.Style.Colour.Helpers exposing (ThemeColor(..), colourTheme, getThemeColor)
|
||||||
import Element as E exposing (..)
|
import Element as E exposing (..)
|
||||||
import Element.Background as B exposing (color)
|
import Element.Background as B exposing (color)
|
||||||
import Element.Border as D
|
import Element.Border as D
|
||||||
|
@ -15,9 +15,15 @@ import Element.Border as D
|
||||||
imageSquareMaker : Device -> String -> Bool -> String -> Element msg
|
imageSquareMaker : Device -> String -> Bool -> String -> Element msg
|
||||||
imageSquareMaker device imagePath isLeft size =
|
imageSquareMaker device imagePath isLeft size =
|
||||||
E.image
|
E.image
|
||||||
[ D.rounded 10
|
[ D.rounded (roundingScaler size)
|
||||||
, clip
|
, clip
|
||||||
, E.width <| imageSizer size
|
, E.width <| imageSizer size
|
||||||
|
, E.height <| imageSizer size
|
||||||
|
, if imagePath == imagePathMaker Donate "cardano" then
|
||||||
|
B.color (rgb255 4 20 108)
|
||||||
|
|
||||||
|
else
|
||||||
|
B.color (getThemeColor BackgroundLightGrey)
|
||||||
]
|
]
|
||||||
{ src = imagePath
|
{ src = imagePath
|
||||||
, description = ""
|
, description = ""
|
||||||
|
@ -27,20 +33,43 @@ imageSquareMaker device imagePath isLeft size =
|
||||||
imageSizer : String -> Length
|
imageSizer : String -> Length
|
||||||
imageSizer size =
|
imageSizer size =
|
||||||
case size of
|
case size of
|
||||||
"Fatty" ->
|
|
||||||
px 80
|
|
||||||
|
|
||||||
"Big" ->
|
|
||||||
px 60
|
|
||||||
|
|
||||||
"Medium" ->
|
|
||||||
px 45
|
|
||||||
|
|
||||||
"Fill" ->
|
"Fill" ->
|
||||||
fill
|
fill
|
||||||
|
|
||||||
"Test" ->
|
"Fatty" ->
|
||||||
px 145
|
px 128
|
||||||
|
|
||||||
|
"Big" ->
|
||||||
|
px 65
|
||||||
|
|
||||||
|
"Small" ->
|
||||||
|
px 28
|
||||||
|
|
||||||
_ ->
|
_ ->
|
||||||
px 28
|
px 20
|
||||||
|
|
||||||
|
|
||||||
|
roundingScaler : String -> Int
|
||||||
|
roundingScaler size =
|
||||||
|
case size of
|
||||||
|
"Fill" ->
|
||||||
|
32
|
||||||
|
|
||||||
|
"Fatty" ->
|
||||||
|
32
|
||||||
|
|
||||||
|
-- 128px
|
||||||
|
"Big" ->
|
||||||
|
10
|
||||||
|
|
||||||
|
-- 65px
|
||||||
|
"Small" ->
|
||||||
|
10
|
||||||
|
|
||||||
|
-- 28px
|
||||||
|
_ ->
|
||||||
|
10
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- 20px default
|
||||||
|
|
|
@ -195,7 +195,6 @@ articleMaker device article =
|
||||||
el
|
el
|
||||||
[ alignLeft
|
[ alignLeft
|
||||||
, alignTop
|
, alignTop
|
||||||
, width fill
|
|
||||||
, paddingEach
|
, paddingEach
|
||||||
{ top = 0
|
{ top = 0
|
||||||
, right = 10
|
, right = 10
|
||||||
|
@ -204,9 +203,10 @@ articleMaker device article =
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
<|
|
<|
|
||||||
imageSquareMaker device (imagePathMaker M.BlogArticle article.articleImage) True size
|
imageSquareMaker device (imagePathMaker M.BlogCard article.articleImage) True size
|
||||||
in
|
in
|
||||||
detailFormat column
|
detailFormat column
|
||||||
|
[ detailFormat row
|
||||||
[ case ( device.class, device.orientation ) of
|
[ case ( device.class, device.orientation ) of
|
||||||
( Phone, Portrait ) ->
|
( Phone, Portrait ) ->
|
||||||
none
|
none
|
||||||
|
@ -215,9 +215,10 @@ articleMaker device article =
|
||||||
none
|
none
|
||||||
|
|
||||||
_ ->
|
_ ->
|
||||||
image "Fill"
|
image "Fatty"
|
||||||
, detailFormat column
|
, detailFormat column
|
||||||
(articleRows article)
|
(articleRows article ++ [])
|
||||||
|
]
|
||||||
, el [] <|
|
, el [] <|
|
||||||
detailBodyMaker TextLightGrey (renderDeviceMarkdownNoToc (extractFirstWords article.articleBody))
|
detailBodyMaker TextLightGrey (renderDeviceMarkdownNoToc (extractFirstWords article.articleBody))
|
||||||
]
|
]
|
||||||
|
@ -253,14 +254,11 @@ articleRows article =
|
||||||
(wordCount article.articleBody)
|
(wordCount article.articleBody)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
]
|
, infoRow "Sources"
|
||||||
++ (if referenceCount >= 2 then
|
(if referenceCount >= 2 then
|
||||||
[ infoRow "Sources"
|
text (String.fromInt referenceCount)
|
||||||
(text
|
|
||||||
(String.fromInt referenceCount)
|
|
||||||
)
|
|
||||||
]
|
|
||||||
|
|
||||||
else
|
else
|
||||||
[]
|
text "N/A"
|
||||||
)
|
)
|
||||||
|
]
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
module Pages.Contact exposing (Model, Msg, page)
|
module Pages.Contact exposing (Model, Msg, page)
|
||||||
|
|
||||||
import Config.Data.Identity exposing (pageNames)
|
import Config.Data.Identity exposing (pageNames)
|
||||||
|
import Config.Helpers.Cards.Inner.Helpers exposing (numberedListItem)
|
||||||
import Config.Helpers.Cards.Outer.Helpers exposing (cardMaker)
|
import Config.Helpers.Cards.Outer.Helpers exposing (cardMaker)
|
||||||
import Config.Helpers.Cards.Outer.Types as C
|
import Config.Helpers.Cards.Outer.Types as C
|
||||||
import Config.Helpers.Format exposing (..)
|
import Config.Helpers.Format exposing (..)
|
||||||
|
@ -21,7 +22,7 @@ import Config.Helpers.ServiceFormat
|
||||||
import Config.Helpers.ToolTip exposing (..)
|
import Config.Helpers.ToolTip exposing (..)
|
||||||
import Config.Helpers.Viewport exposing (resetViewport)
|
import Config.Helpers.Viewport exposing (resetViewport)
|
||||||
import Config.Pages.Contact.Types exposing (..)
|
import Config.Pages.Contact.Types exposing (..)
|
||||||
import Config.Style.Colour.Helpers exposing (colourTheme)
|
import Config.Style.Colour.Helpers exposing (ThemeColor(..), colourTheme)
|
||||||
import Config.Style.Transitions
|
import Config.Style.Transitions
|
||||||
exposing
|
exposing
|
||||||
( hoverFontDarkOrange
|
( hoverFontDarkOrange
|
||||||
|
@ -137,19 +138,19 @@ contactList device =
|
||||||
[ none ]
|
[ none ]
|
||||||
, List.map
|
, List.map
|
||||||
(\contact ->
|
(\contact ->
|
||||||
cardMaker device (C.Contact contact) (contentList contact)
|
cardMaker device (C.Contact contact) (contentList device contact)
|
||||||
)
|
)
|
||||||
[ contactTitle ]
|
[ contactTitle ]
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
contentList : Contact -> List (Element msg)
|
contentList : Device -> Contact -> List (Element msg)
|
||||||
contentList contact =
|
contentList device contact =
|
||||||
[ instructionBody ]
|
[ instructionBody device ]
|
||||||
|
|
||||||
|
|
||||||
instructionBody : Element msg
|
instructionBody : Device -> Element msg
|
||||||
instructionBody =
|
instructionBody device =
|
||||||
column
|
column
|
||||||
[ spacing 10
|
[ spacing 10
|
||||||
, paddingEach
|
, paddingEach
|
||||||
|
@ -181,7 +182,7 @@ instructionBody =
|
||||||
[ width <| px 15
|
[ width <| px 15
|
||||||
, alignTop
|
, alignTop
|
||||||
]
|
]
|
||||||
[ el [ alignRight ] <| text (String.fromInt (index + 1) ++ ". ") ]
|
[ numberedListItem TextLightGrey (index + 1) ]
|
||||||
, column
|
, column
|
||||||
[ spacing 10
|
[ spacing 10
|
||||||
, width fill
|
, width fill
|
||||||
|
@ -196,7 +197,7 @@ instructionBody =
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
termsAndConditions
|
(termsAndConditions device)
|
||||||
, column [ centerX, width fill ]
|
, column [ centerX, width fill ]
|
||||||
[ divider
|
[ divider
|
||||||
, titleMaker (String.toUpper "Additional Clarifications")
|
, titleMaker (String.toUpper "Additional Clarifications")
|
||||||
|
@ -246,8 +247,21 @@ rounding =
|
||||||
D.rounded 10
|
D.rounded 10
|
||||||
|
|
||||||
|
|
||||||
termsAndConditions : List (List (Element msg))
|
termsAndConditions : Device -> List (List (Element msg))
|
||||||
termsAndConditions =
|
termsAndConditions device =
|
||||||
|
let
|
||||||
|
backGroundCase : Attr decorative msg
|
||||||
|
backGroundCase =
|
||||||
|
case ( device.class, device.orientation ) of
|
||||||
|
( Phone, Portrait ) ->
|
||||||
|
B.color colourTheme.backgroundDarkGrey
|
||||||
|
|
||||||
|
( Tablet, Portrait ) ->
|
||||||
|
B.color colourTheme.backgroundDarkGrey
|
||||||
|
|
||||||
|
_ ->
|
||||||
|
B.color colourTheme.backgroundLightGrey
|
||||||
|
in
|
||||||
[ [ row []
|
[ [ row []
|
||||||
[ paragraph [ alignLeft ]
|
[ paragraph [ alignLeft ]
|
||||||
[ text "You will register an account with "
|
[ text "You will register an account with "
|
||||||
|
@ -306,7 +320,7 @@ termsAndConditions =
|
||||||
, left = 20
|
, left = 20
|
||||||
, right = 20
|
, right = 20
|
||||||
}
|
}
|
||||||
, B.color colourTheme.backgroundLightGrey
|
, backGroundCase
|
||||||
, rounding
|
, rounding
|
||||||
, width fill
|
, width fill
|
||||||
, spacing 8
|
, spacing 8
|
||||||
|
@ -352,7 +366,7 @@ termsAndConditions =
|
||||||
, left = 20
|
, left = 20
|
||||||
, right = 20
|
, right = 20
|
||||||
}
|
}
|
||||||
, B.color colourTheme.backgroundLightGrey
|
, backGroundCase
|
||||||
, rounding
|
, rounding
|
||||||
, width fill
|
, width fill
|
||||||
, spacing 8
|
, spacing 8
|
||||||
|
|
|
@ -11,6 +11,7 @@ import Config.Data.Identity
|
||||||
exposing
|
exposing
|
||||||
( pageNames
|
( pageNames
|
||||||
)
|
)
|
||||||
|
import Config.Helpers.Cards.Inner.Helpers exposing (detailBodyLink, detailBodyMaker, detailFormat, detailSpacing, detailTitleMaker)
|
||||||
import Config.Helpers.Cards.Outer.Helpers exposing (cardMaker)
|
import Config.Helpers.Cards.Outer.Helpers exposing (cardMaker)
|
||||||
import Config.Helpers.Cards.Outer.Types as C
|
import Config.Helpers.Cards.Outer.Types as C
|
||||||
import Config.Helpers.Converters exposing (formatName)
|
import Config.Helpers.Converters exposing (formatName)
|
||||||
|
@ -35,7 +36,7 @@ import Config.Pages.Debate.Arguments.List exposing (argumentList)
|
||||||
import Config.Pages.Debate.Cuckery.List exposing (cuckList)
|
import Config.Pages.Debate.Cuckery.List exposing (cuckList)
|
||||||
import Config.Pages.Debate.Gibberish.List exposing (gibberishList)
|
import Config.Pages.Debate.Gibberish.List exposing (gibberishList)
|
||||||
import Config.Pages.Debate.Types exposing (..)
|
import Config.Pages.Debate.Types exposing (..)
|
||||||
import Config.Style.Colour.Helpers as T exposing (colourTheme)
|
import Config.Style.Colour.Helpers as T exposing (ThemeColor(..), colourTheme)
|
||||||
import Config.Style.Glow
|
import Config.Style.Glow
|
||||||
exposing
|
exposing
|
||||||
( glowDeepDarkGrey
|
( glowDeepDarkGrey
|
||||||
|
@ -181,46 +182,45 @@ descriptionMaker device debate =
|
||||||
<|
|
<|
|
||||||
imageSquareMaker device (imagePathMaker M.Debate debate.debateImage) True size
|
imageSquareMaker device (imagePathMaker M.Debate debate.debateImage) True size
|
||||||
in
|
in
|
||||||
chunkMaker
|
detailFormat row
|
||||||
[ image "Fatty"
|
[ case ( device.class, device.orientation ) of
|
||||||
, el [] <|
|
( Phone, Portrait ) ->
|
||||||
inferenceMaker debate
|
none
|
||||||
, el [ width fill, height (px 0) ] none
|
|
||||||
, el
|
( Tablet, Portrait ) ->
|
||||||
[ F.color colourTheme.textLightGrey ]
|
none
|
||||||
|
|
||||||
|
_ ->
|
||||||
|
image "Fatty"
|
||||||
|
, detailFormat column
|
||||||
|
[ inferenceMaker debate
|
||||||
|
, detailBodyMaker TextLightGrey
|
||||||
(text debate.debateDescription)
|
(text debate.debateDescription)
|
||||||
]
|
]
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
inferenceMaker : Debate -> Element msg
|
inferenceMaker : Debate -> Element msg
|
||||||
inferenceMaker debate =
|
inferenceMaker debate =
|
||||||
row [ spacing 5 ]
|
detailFormat row
|
||||||
[ el
|
[ detailTitleMaker TextLightOrange
|
||||||
[ F.color colourTheme.textLightOrange
|
(case debate.debateTitle of
|
||||||
, paragraphSpacing
|
"Arguments" ->
|
||||||
, F.bold
|
"Inferences:"
|
||||||
, headerFontSizeSmall
|
|
||||||
]
|
|
||||||
<|
|
|
||||||
if debate.debateTitle == "Arguments" then
|
|
||||||
text "Inferences: "
|
|
||||||
|
|
||||||
else if debate.debateTitle == "Cucklist" then
|
"Cucklist" ->
|
||||||
text "Cucks: "
|
"Cucks:"
|
||||||
|
|
||||||
else if debate.debateTitle == "Gibberish" then
|
"Gibberish" ->
|
||||||
text "Gibberations: "
|
"Gibberations:"
|
||||||
|
|
||||||
else
|
_ ->
|
||||||
text ""
|
""
|
||||||
, el
|
)
|
||||||
[ F.color colourTheme.textLightGrey
|
, detailBodyMaker TextLightGrey
|
||||||
, F.regular
|
(text
|
||||||
, paragraphFontSize
|
|
||||||
]
|
|
||||||
<|
|
|
||||||
text
|
|
||||||
(String.fromInt debate.debateCount)
|
(String.fromInt debate.debateCount)
|
||||||
|
)
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -44,8 +44,6 @@ import Config.Style.Colour.Helpers
|
||||||
exposing
|
exposing
|
||||||
( ThemeColor(..)
|
( ThemeColor(..)
|
||||||
, colourTheme
|
, colourTheme
|
||||||
, textLightGrey
|
|
||||||
, textLightOrange
|
|
||||||
)
|
)
|
||||||
import Config.Style.Glow
|
import Config.Style.Glow
|
||||||
exposing
|
exposing
|
||||||
|
@ -211,7 +209,7 @@ contentList device argument =
|
||||||
none
|
none
|
||||||
|
|
||||||
_ ->
|
_ ->
|
||||||
image "Fatty"
|
image "Big"
|
||||||
, el ([ height fill ] ++ bodyFormat TextLightGrey) <| text argument.propositionSummary
|
, el ([ height fill ] ++ bodyFormat TextLightGrey) <| text argument.propositionSummary
|
||||||
]
|
]
|
||||||
, detailFormat row
|
, detailFormat row
|
||||||
|
|
|
@ -29,7 +29,11 @@ import Config.Pages.Debate.Cuckery.List
|
||||||
, cuckListNumber
|
, cuckListNumber
|
||||||
)
|
)
|
||||||
import Config.Pages.Debate.Cuckery.Types exposing (..)
|
import Config.Pages.Debate.Cuckery.Types exposing (..)
|
||||||
import Config.Style.Colour.Helpers exposing (ThemeColor(..), colourTheme, textLightGrey)
|
import Config.Style.Colour.Helpers
|
||||||
|
exposing
|
||||||
|
( ThemeColor(..)
|
||||||
|
, colourTheme
|
||||||
|
)
|
||||||
import Config.Style.Images exposing (imageSquareMaker)
|
import Config.Style.Images exposing (imageSquareMaker)
|
||||||
import Config.Style.Transitions
|
import Config.Style.Transitions
|
||||||
exposing
|
exposing
|
||||||
|
@ -165,13 +169,13 @@ contentList device cuck =
|
||||||
[ detailFormat row
|
[ detailFormat row
|
||||||
[ case ( device.class, device.orientation ) of
|
[ case ( device.class, device.orientation ) of
|
||||||
( Phone, Portrait ) ->
|
( Phone, Portrait ) ->
|
||||||
image "Smallish"
|
none
|
||||||
|
|
||||||
( Tablet, Portrait ) ->
|
( Tablet, Portrait ) ->
|
||||||
image "Smallish"
|
none
|
||||||
|
|
||||||
_ ->
|
_ ->
|
||||||
image "Test"
|
image "Fatty"
|
||||||
, detailFormat column
|
, detailFormat column
|
||||||
[ socialMaker cuck
|
[ socialMaker cuck
|
||||||
, dodgeTitle cuck
|
, dodgeTitle cuck
|
||||||
|
|
|
@ -179,7 +179,15 @@ contentList device gibberish =
|
||||||
, paragraphFontSize
|
, paragraphFontSize
|
||||||
, width fill
|
, width fill
|
||||||
]
|
]
|
||||||
[ image "Big"
|
[ case ( device.class, device.orientation ) of
|
||||||
|
( Phone, Portrait ) ->
|
||||||
|
none
|
||||||
|
|
||||||
|
( Tablet, Portrait ) ->
|
||||||
|
none
|
||||||
|
|
||||||
|
_ ->
|
||||||
|
image "Big"
|
||||||
, text gibberish.gibberishDescription
|
, text gibberish.gibberishDescription
|
||||||
]
|
]
|
||||||
, gibberishMakerBody gibberish
|
, gibberishMakerBody gibberish
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
module Pages.Donate exposing (Model, Msg, page)
|
module Pages.Donate exposing (Model, Msg, page)
|
||||||
|
|
||||||
import Config.Data.Identity as I exposing (..)
|
import Config.Data.Identity as I exposing (..)
|
||||||
|
import Config.Helpers.Cards.Inner.Helpers exposing (detailBodyMaker, detailFormat, detailFormatEl, detailTitleMaker, listItem, listMaker)
|
||||||
import Config.Helpers.Cards.Outer.Helpers exposing (cardMaker)
|
import Config.Helpers.Cards.Outer.Helpers exposing (cardMaker)
|
||||||
import Config.Helpers.Cards.Outer.Types as C
|
import Config.Helpers.Cards.Outer.Types as C
|
||||||
import Config.Helpers.Format
|
import Config.Helpers.Format
|
||||||
|
@ -169,194 +170,55 @@ contentList device donate =
|
||||||
<|
|
<|
|
||||||
imageSquareMaker device (imagePathMaker M.Donate donate.donateImage) True size
|
imageSquareMaker device (imagePathMaker M.Donate donate.donateImage) True size
|
||||||
in
|
in
|
||||||
[ row [ width fill ]
|
[ detailFormat row
|
||||||
[ image "Small"
|
[ image "Fatty"
|
||||||
, column [ width fill ]
|
, detailFormat column
|
||||||
[ feeMaker donate
|
[ feeMaker donate
|
||||||
, preferenceMaker donate
|
, preferenceMaker donate
|
||||||
]
|
|
||||||
]
|
|
||||||
, tableMaker donate device
|
, tableMaker donate device
|
||||||
, proTitleMaker donate
|
|
||||||
, proMaker donate
|
|
||||||
, conTitleMaker donate
|
|
||||||
, conMaker donate
|
|
||||||
]
|
]
|
||||||
|
]
|
||||||
|
, proConMaker donate
|
||||||
donateWidth =
|
]
|
||||||
width <| px 45
|
|
||||||
|
|
||||||
|
|
||||||
feeMaker : Donate -> Element msg
|
feeMaker : Donate -> Element msg
|
||||||
feeMaker donate =
|
feeMaker donate =
|
||||||
row
|
detailFormat row
|
||||||
[ F.color colourTheme.textLightOrange
|
[ detailTitleMaker TextLightOrange "Fees:"
|
||||||
, paragraphSpacing
|
, detailBodyMaker TextLightGrey (text donate.donateFees)
|
||||||
, F.bold
|
|
||||||
, headerFontSizeSmall
|
|
||||||
, E.width fill
|
|
||||||
, spacing 5
|
|
||||||
]
|
|
||||||
[ column
|
|
||||||
[ alignTop
|
|
||||||
]
|
|
||||||
[ text "Fees:"
|
|
||||||
]
|
|
||||||
, el
|
|
||||||
[ E.width fill
|
|
||||||
, alignLeft
|
|
||||||
]
|
|
||||||
<|
|
|
||||||
el
|
|
||||||
[ F.regular
|
|
||||||
, paragraphFontSize
|
|
||||||
, F.color colourTheme.textLightGrey
|
|
||||||
]
|
|
||||||
<|
|
|
||||||
text donate.donateFees
|
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
proTitleMaker : Donate -> Element msg
|
proConMaker : Donate -> Element msg
|
||||||
proTitleMaker donate =
|
proConMaker donate =
|
||||||
row
|
detailFormat column
|
||||||
[ F.color colourTheme.textLightOrange
|
[ detailTitleMaker TextLightOrange "Pros:"
|
||||||
, paragraphSpacing
|
, listMaker makePro donate.donatePros
|
||||||
, headerFontSizeSmall
|
, detailTitleMaker TextLightOrange "Cons:"
|
||||||
, F.bold
|
, listMaker makeCon donate.donateCons
|
||||||
]
|
]
|
||||||
[ el
|
|
||||||
[ alignTop
|
|
||||||
, width <| px 80
|
|
||||||
]
|
|
||||||
<|
|
|
||||||
text "Pros:"
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
conTitleMaker : Donate -> Element msg
|
|
||||||
conTitleMaker donate =
|
|
||||||
row
|
|
||||||
[ F.color colourTheme.textLightOrange
|
|
||||||
, paragraphSpacing
|
|
||||||
, headerFontSizeSmall
|
|
||||||
, F.bold
|
|
||||||
]
|
|
||||||
[ el
|
|
||||||
[ alignTop
|
|
||||||
, width <| px 80
|
|
||||||
]
|
|
||||||
<|
|
|
||||||
text "Cons:"
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
proMaker : Donate -> Element msg
|
|
||||||
proMaker donate =
|
|
||||||
column
|
|
||||||
[ spacing 8
|
|
||||||
, width fill
|
|
||||||
, paddingEach
|
|
||||||
{ top = 0
|
|
||||||
, right = 0
|
|
||||||
, bottom = 0
|
|
||||||
, left = 35
|
|
||||||
}
|
|
||||||
]
|
|
||||||
<|
|
|
||||||
List.map2 (\x y -> makePro x)
|
|
||||||
donate.donatePros
|
|
||||||
(List.range 1 (List.length donate.donatePros))
|
|
||||||
|
|
||||||
|
|
||||||
makePro : Pros -> Element msg
|
makePro : Pros -> Element msg
|
||||||
makePro pro =
|
makePro pro =
|
||||||
column
|
listItem TextLightGrey pro.pro
|
||||||
[ F.color colourTheme.textLightGrey
|
|
||||||
, paragraphSpacing
|
|
||||||
, paragraphFontSize
|
|
||||||
, F.bold
|
|
||||||
, alignLeft
|
|
||||||
, spacing 8
|
|
||||||
, width fill
|
|
||||||
]
|
|
||||||
[ paragraph [ F.regular ]
|
|
||||||
[ text ("• " ++ pro.pro) ]
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
conMaker : Donate -> Element msg
|
|
||||||
conMaker donate =
|
|
||||||
column
|
|
||||||
[ spacing 8
|
|
||||||
, width fill
|
|
||||||
, paddingEach
|
|
||||||
{ top = 0
|
|
||||||
, right = 0
|
|
||||||
, bottom = 0
|
|
||||||
, left = 35
|
|
||||||
}
|
|
||||||
]
|
|
||||||
<|
|
|
||||||
List.map2 (\x y -> makeCon x)
|
|
||||||
donate.donateCons
|
|
||||||
(List.range 1 (List.length donate.donateCons))
|
|
||||||
|
|
||||||
|
|
||||||
makeCon : Cons -> Element msg
|
makeCon : Cons -> Element msg
|
||||||
makeCon con =
|
makeCon con =
|
||||||
column
|
listItem TextLightGrey con.con
|
||||||
[ F.color colourTheme.textLightGrey
|
|
||||||
, paragraphSpacing
|
|
||||||
, paragraphFontSize
|
|
||||||
, F.bold
|
|
||||||
, alignLeft
|
|
||||||
, spacing 8
|
|
||||||
, width fill
|
|
||||||
]
|
|
||||||
[ paragraph [ F.regular ] <|
|
|
||||||
[ text ("• " ++ con.con)
|
|
||||||
]
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
preferenceMaker : Donate -> Element msg
|
preferenceMaker : Donate -> Element msg
|
||||||
preferenceMaker donate =
|
preferenceMaker donate =
|
||||||
row
|
detailFormat row
|
||||||
[ width fill
|
|
||||||
, height fill
|
|
||||||
]
|
|
||||||
[ column
|
|
||||||
[ E.alignTop
|
|
||||||
, E.alignLeft
|
|
||||||
]
|
|
||||||
[ paragraph
|
|
||||||
[ F.color colourTheme.textLightGrey
|
|
||||||
, paragraphSpacing
|
|
||||||
, F.bold
|
|
||||||
, headerFontSizeSmall
|
|
||||||
, alignLeft
|
|
||||||
, E.width fill
|
|
||||||
]
|
|
||||||
[ el
|
[ el
|
||||||
[ tooltip
|
[ tooltip
|
||||||
"This represents how strongly I prefer a given platform relative to other platforms."
|
"This represents how strongly I prefer a given platform relative to other platforms."
|
||||||
]
|
]
|
||||||
(el
|
|
||||||
[ paddingEach
|
|
||||||
{ top = 0
|
|
||||||
, right = 10
|
|
||||||
, bottom = 0
|
|
||||||
, left = 0
|
|
||||||
}
|
|
||||||
, F.color colourTheme.textLightOrange
|
|
||||||
]
|
|
||||||
<|
|
<|
|
||||||
text "Preference:"
|
detailTitleMaker TextLightOrange "Preference:"
|
||||||
)
|
|
||||||
]
|
|
||||||
]
|
|
||||||
, barPadding
|
, barPadding
|
||||||
[ barMaker getPreferenceTooltip donate.donatePreference ]
|
[ barMaker getPreferenceTooltip donate.donatePreference ]
|
||||||
]
|
]
|
||||||
|
@ -404,13 +266,10 @@ getPreferenceTooltip num =
|
||||||
|
|
||||||
tableMaker : Donate -> Device -> Element msg
|
tableMaker : Donate -> Device -> Element msg
|
||||||
tableMaker donate device =
|
tableMaker donate device =
|
||||||
column
|
el
|
||||||
[ centerX
|
|
||||||
, E.width fill
|
|
||||||
]
|
|
||||||
[ el
|
|
||||||
[ E.alignLeft
|
[ E.alignLeft
|
||||||
, E.width fill
|
, E.width fill
|
||||||
|
, centerX
|
||||||
]
|
]
|
||||||
<|
|
<|
|
||||||
E.table
|
E.table
|
||||||
|
@ -445,7 +304,6 @@ tableMaker donate device =
|
||||||
desktopLabels
|
desktopLabels
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
desktopLabels : List { label : String, getter : { a | free : b, subscriptions : b, userFriendly : b, anonymous : b, rewardTiers : b } -> b }
|
desktopLabels : List { label : String, getter : { a | free : b, subscriptions : b, userFriendly : b, anonymous : b, rewardTiers : b } -> b }
|
||||||
|
@ -497,7 +355,7 @@ createColumn { label, getter } =
|
||||||
, right = 0
|
, right = 0
|
||||||
}
|
}
|
||||||
, D.color colourTheme.textDarkGrey
|
, D.color colourTheme.textDarkGrey
|
||||||
, padding 8
|
, padding 5
|
||||||
, E.width fill
|
, E.width fill
|
||||||
, F.center
|
, F.center
|
||||||
]
|
]
|
||||||
|
@ -516,10 +374,13 @@ createColumn { label, getter } =
|
||||||
, right = 0
|
, right = 0
|
||||||
}
|
}
|
||||||
, D.color colourTheme.textDarkGrey
|
, D.color colourTheme.textDarkGrey
|
||||||
, padding 8
|
, padding 5
|
||||||
, E.height fill
|
, E.height fill
|
||||||
]
|
]
|
||||||
[ row [ centerX ]
|
[ row
|
||||||
|
[ centerX
|
||||||
|
, centerY
|
||||||
|
]
|
||||||
[ paragraph []
|
[ paragraph []
|
||||||
[ E.image
|
[ E.image
|
||||||
[ E.width <| px 30
|
[ E.width <| px 30
|
||||||
|
|
|
@ -184,13 +184,13 @@ contentList device interview =
|
||||||
imageMaker =
|
imageMaker =
|
||||||
case ( device.class, device.orientation ) of
|
case ( device.class, device.orientation ) of
|
||||||
( Phone, Portrait ) ->
|
( Phone, Portrait ) ->
|
||||||
image "Smallish"
|
none
|
||||||
|
|
||||||
( Tablet, Portrait ) ->
|
( Tablet, Portrait ) ->
|
||||||
image "Smallish"
|
none
|
||||||
|
|
||||||
_ ->
|
_ ->
|
||||||
image "Test"
|
image "Fatty"
|
||||||
in
|
in
|
||||||
[ row
|
[ row
|
||||||
[ paddingEach
|
[ paddingEach
|
||||||
|
@ -214,10 +214,8 @@ contentList device interview =
|
||||||
|
|
||||||
appearanceMaker : Interview -> Element msg
|
appearanceMaker : Interview -> Element msg
|
||||||
appearanceMaker interview =
|
appearanceMaker interview =
|
||||||
column [ spacing 10, width fill ] <|
|
detailFormat column
|
||||||
List.map2 (\x y -> makeAppearance x y)
|
[ listMaker2 makeAppearance interview.interviewAppearances ]
|
||||||
interview.interviewAppearances
|
|
||||||
(List.range 1 (List.length interview.interviewAppearances))
|
|
||||||
|
|
||||||
|
|
||||||
makeAppearance : Appearance -> Int -> Element msg
|
makeAppearance : Appearance -> Int -> Element msg
|
||||||
|
@ -229,7 +227,6 @@ makeAppearance appearanceEntry index =
|
||||||
, experienceMaker appearanceEntry
|
, experienceMaker appearanceEntry
|
||||||
, dateMaker appearanceEntry
|
, dateMaker appearanceEntry
|
||||||
, subjectMaker appearanceEntry
|
, subjectMaker appearanceEntry
|
||||||
, subjectList appearanceEntry
|
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -245,37 +242,39 @@ episodeMaker appearanceEntry =
|
||||||
|
|
||||||
experienceMaker : Appearance -> Element msg
|
experienceMaker : Appearance -> Element msg
|
||||||
experienceMaker appearanceEntry =
|
experienceMaker appearanceEntry =
|
||||||
row
|
detailFormat row
|
||||||
[ width fill
|
|
||||||
, height fill
|
|
||||||
, spacing 5
|
|
||||||
]
|
|
||||||
[ column
|
|
||||||
[ E.alignTop
|
|
||||||
, E.alignLeft
|
|
||||||
]
|
|
||||||
[ paragraph
|
|
||||||
[ F.color colourTheme.textLightGrey
|
|
||||||
, paragraphSpacing
|
|
||||||
, headerFontSizeSmall
|
|
||||||
, F.bold
|
|
||||||
]
|
|
||||||
[ el
|
[ el
|
||||||
[ tooltip
|
[ tooltip
|
||||||
"This represents how pleasant it was to interact with the host(s)."
|
"This represents my confidence in the soundness of the argument."
|
||||||
]
|
]
|
||||||
(el
|
|
||||||
[]
|
|
||||||
<|
|
<|
|
||||||
text "Pleasantness:"
|
detailTitleMaker TextLightGrey "Pleasantness:"
|
||||||
)
|
|
||||||
]
|
|
||||||
]
|
|
||||||
, barPadding
|
, barPadding
|
||||||
[ barMaker getExperienceTooltip appearanceEntry.appearanceExperience ]
|
[ barMaker getExperienceTooltip appearanceEntry.appearanceExperience ]
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
dateMaker : Appearance -> Element msg
|
||||||
|
dateMaker appearanceEntry =
|
||||||
|
detailFormat row
|
||||||
|
[ detailTitleMaker TextLightGrey "Published:"
|
||||||
|
, detailBodyMaker TextLightGrey (text appearanceEntry.appearanceYear)
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
subjectMaker : Appearance -> Element msg
|
||||||
|
subjectMaker appearanceEntry =
|
||||||
|
detailFormat column
|
||||||
|
[ detailFormatEl <| detailTitleMaker TextLightGrey "Subjects: "
|
||||||
|
, detailFormat column [ listMaker makeSubject appearanceEntry.appearanceSubjects ]
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
makeSubject : Subjects -> Element msg
|
||||||
|
makeSubject subjects =
|
||||||
|
listItem TextLightGrey subjects.subject
|
||||||
|
|
||||||
|
|
||||||
getExperienceTooltip : Int -> String
|
getExperienceTooltip : Int -> String
|
||||||
getExperienceTooltip num =
|
getExperienceTooltip num =
|
||||||
case num of
|
case num of
|
||||||
|
@ -314,80 +313,3 @@ getExperienceTooltip num =
|
||||||
|
|
||||||
_ ->
|
_ ->
|
||||||
"Behavior level out of expected range."
|
"Behavior level out of expected range."
|
||||||
|
|
||||||
|
|
||||||
dateMaker : Appearance -> Element msg
|
|
||||||
dateMaker appearanceEntry =
|
|
||||||
row
|
|
||||||
[ F.color colourTheme.textLightGrey
|
|
||||||
, paragraphSpacing
|
|
||||||
, headerFontSizeSmall
|
|
||||||
, F.bold
|
|
||||||
]
|
|
||||||
[ el
|
|
||||||
[ alignTop
|
|
||||||
]
|
|
||||||
<|
|
|
||||||
text
|
|
||||||
"Published:"
|
|
||||||
, el
|
|
||||||
[ alignTop
|
|
||||||
, width fill
|
|
||||||
]
|
|
||||||
<|
|
|
||||||
paragraph
|
|
||||||
[ F.regular
|
|
||||||
, paragraphFontSize
|
|
||||||
]
|
|
||||||
[ text appearanceEntry.appearanceYear
|
|
||||||
]
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
subjectMaker : Appearance -> Element msg
|
|
||||||
subjectMaker appearanceEntry =
|
|
||||||
paragraph
|
|
||||||
[ F.color colourTheme.textLightGrey
|
|
||||||
, paragraphSpacing
|
|
||||||
, headerFontSizeSmall
|
|
||||||
, F.bold
|
|
||||||
]
|
|
||||||
[ column
|
|
||||||
[ alignTop
|
|
||||||
]
|
|
||||||
[ text "Subjects: "
|
|
||||||
]
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
subjectList : Appearance -> Element msg
|
|
||||||
subjectList appearanceEntry =
|
|
||||||
column
|
|
||||||
[ spacing 5
|
|
||||||
, width fill
|
|
||||||
, paddingEach
|
|
||||||
{ top = 0
|
|
||||||
, right = 0
|
|
||||||
, bottom = 0
|
|
||||||
, left = 10
|
|
||||||
}
|
|
||||||
]
|
|
||||||
<|
|
|
||||||
List.map2 (\x y -> makeSubject x)
|
|
||||||
appearanceEntry.appearanceSubjects
|
|
||||||
(List.range 1 (List.length appearanceEntry.appearanceSubjects))
|
|
||||||
|
|
||||||
|
|
||||||
makeSubject : Subjects -> Element msg
|
|
||||||
makeSubject subjects =
|
|
||||||
el
|
|
||||||
[ E.width fill
|
|
||||||
, alignLeft
|
|
||||||
]
|
|
||||||
<|
|
|
||||||
paragraph
|
|
||||||
[ F.regular
|
|
||||||
, paragraphFontSize
|
|
||||||
]
|
|
||||||
[ text ("• " ++ subjects.subject) ]
|
|
||||||
|
|
||||||
|
|
|
@ -178,7 +178,7 @@ contentList device service =
|
||||||
none
|
none
|
||||||
|
|
||||||
_ ->
|
_ ->
|
||||||
image "Test"
|
image "Fatty"
|
||||||
, detailFormat column
|
, detailFormat column
|
||||||
[ rateMaker service
|
[ rateMaker service
|
||||||
, descriptionMaker
|
, descriptionMaker
|
||||||
|
@ -209,5 +209,5 @@ offeringMaker service =
|
||||||
makeDescription : Description -> Element msg
|
makeDescription : Description -> Element msg
|
||||||
makeDescription description =
|
makeDescription description =
|
||||||
listItem
|
listItem
|
||||||
|
TextLightGrey
|
||||||
description.point
|
description.point
|
||||||
textLightGrey
|
|
||||||
|
|
BIN
frontend/static/donate/cardano.png
Executable file → Normal file
BIN
frontend/static/donate/cardano.png
Executable file → Normal file
Binary file not shown.
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 59 KiB |
BIN
frontend/static/services/customnixconfigs.png
Executable file → Normal file
BIN
frontend/static/services/customnixconfigs.png
Executable file → Normal file
Binary file not shown.
Before Width: | Height: | Size: 99 KiB After Width: | Height: | Size: 524 KiB |
Loading…
Add table
Add a link
Reference in a new issue