mirror of
https://gitlab.com/upRootNutrition/website.git
synced 2025-06-17 04:45:12 -05:00
feat: added dodger page
This commit is contained in:
parent
f05a528580
commit
5ff83e3585
18 changed files with 338 additions and 51 deletions
126
frontend/src/Pages/Dodgers.elm
Normal file → Executable file
126
frontend/src/Pages/Dodgers.elm
Normal file → Executable file
|
@ -90,12 +90,128 @@ dodgersContainer =
|
|||
dodgersList : Element msg
|
||||
dodgersList =
|
||||
column
|
||||
[ spacing 40
|
||||
, centerX
|
||||
, centerY
|
||||
]
|
||||
pageList
|
||||
dodgers
|
||||
|
||||
|
||||
type alias MakeRowInput =
|
||||
{ cuckImage : String
|
||||
, cuckName : String
|
||||
, cuckSocial : String
|
||||
, cuckDodges : List DodgeEntry
|
||||
}
|
||||
|
||||
|
||||
type alias DodgeEntry =
|
||||
{ dodgeLink : String
|
||||
, dodgeDescription : String
|
||||
, dodgeProposition : String
|
||||
}
|
||||
|
||||
|
||||
makeRow : MakeRowInput -> Element msg
|
||||
makeRow makeRowInput =
|
||||
let
|
||||
cuckImageFormat : List (Attribute msg)
|
||||
cuckImageFormat =
|
||||
[ width <| px 80 ]
|
||||
|
||||
dodgeRows : List (Element msg)
|
||||
dodgeRows =
|
||||
List.indexedMap
|
||||
(\index dodgeEntry ->
|
||||
column paragraphAlignLeft
|
||||
[ row paragraphFormat
|
||||
[ text " "
|
||||
, text (String.fromInt (index + 1) ++ ". ")
|
||||
, paragraphLinkFormat
|
||||
{ url = dodgeEntry.dodgeLink
|
||||
, label =
|
||||
row []
|
||||
[ transitionHighlightedLinkHover <| text dodgeEntry.dodgeDescription
|
||||
, text "." |> el [ F.color colourTheme.nonHighlightedText ]
|
||||
]
|
||||
}
|
||||
]
|
||||
, row paragraphBoldFormat
|
||||
[ text " • Proposition:"
|
||||
, row [ F.regular ]
|
||||
[ text dodgeEntry.dodgeProposition ]
|
||||
]
|
||||
]
|
||||
)
|
||||
makeRowInput.cuckDodges
|
||||
in
|
||||
row [ imageSpacer, alignLeft ]
|
||||
[ image cuckImageFormat
|
||||
{ src = makeRowInput.cuckImage
|
||||
, description = makeRowInput.cuckName
|
||||
}
|
||||
, column
|
||||
paragraphAlignLeft
|
||||
[ row nonHighlightedTitleFormat [ text makeRowInput.cuckName ]
|
||||
, row paragraphBoldFormat
|
||||
[ text "Social:"
|
||||
, paragraphLinkFormat
|
||||
{ url = makeRowInput.cuckSocial
|
||||
, label = transitionHighlightedLinkHover <| text makeRowInput.cuckName
|
||||
}
|
||||
]
|
||||
, row paragraphBoldFormat [ text "Dodges:" ]
|
||||
, column [spacing 8] dodgeRows
|
||||
]
|
||||
]
|
||||
|
||||
|
||||
type alias DodgeType =
|
||||
{ noReply : String
|
||||
, ranAway : String
|
||||
, ghostedMe : String
|
||||
, outrightNo : String
|
||||
, inTooDeep : String
|
||||
}
|
||||
|
||||
|
||||
type alias PropType =
|
||||
{ noClearProp : String
|
||||
}
|
||||
|
||||
|
||||
dodgers =
|
||||
[]
|
||||
let
|
||||
dodgeType : DodgeType
|
||||
dodgeType =
|
||||
{ noReply = "Invitation extended with no response"
|
||||
, ranAway = "Engaged in written debate and dodged when cornered"
|
||||
, ghostedMe = "Debate invitation accepted with no follow-up"
|
||||
, outrightNo = "Debate invitation declined"
|
||||
, inTooDeep = "Debate invitation accepted and subsequently retracted"
|
||||
}
|
||||
|
||||
propType : PropType
|
||||
propType =
|
||||
{ noClearProp = "failed to state position clearly."
|
||||
}
|
||||
in
|
||||
List.map makeRow
|
||||
[ { cuckImage = "cucks/adamsinger"
|
||||
, cuckName = "Adam Singer"
|
||||
, cuckSocial = "https://twitter.com/AdamSinger"
|
||||
, cuckDodges =
|
||||
[ { dodgeLink = "https://twitter.com/TheNutrivore/status/1566491269194719232?s=20"
|
||||
, dodgeDescription = dodgeType.noReply
|
||||
, dodgeProposition = propType.noClearProp
|
||||
}
|
||||
]
|
||||
}
|
||||
, { cuckImage = "cucks/"
|
||||
, cuckName = ""
|
||||
, cuckSocial = ""
|
||||
, cuckDodges =
|
||||
[ { dodgeLink = ""
|
||||
, dodgeDescription = dodgeType.noReply
|
||||
, dodgeProposition = propType.noClearProp
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
|
|
2
frontend/src/Pages/Home_.elm
Normal file → Executable file
2
frontend/src/Pages/Home_.elm
Normal file → Executable file
|
@ -75,7 +75,7 @@ subscriptions model =
|
|||
|
||||
view : Model -> View Msg
|
||||
view model =
|
||||
{ title = homeName
|
||||
{ title = pageNames.pageHome
|
||||
, attributes = []
|
||||
, element = none
|
||||
}
|
||||
|
|
14
frontend/src/Pages/Platforms.elm
Normal file → Executable file
14
frontend/src/Pages/Platforms.elm
Normal file → Executable file
|
@ -90,9 +90,7 @@ platformsContainer =
|
|||
platformsList : Element msg
|
||||
platformsList =
|
||||
column
|
||||
[ spacing 40
|
||||
, centerX
|
||||
]
|
||||
pageList
|
||||
platforms
|
||||
|
||||
|
||||
|
@ -137,7 +135,7 @@ makeRow makeRowInput =
|
|||
, description = makeRowInput.logoDescription
|
||||
}
|
||||
, column paragraphColumnFormat
|
||||
[ newTabLink titleFormat
|
||||
[ newTabLink highlightedTitleFormat
|
||||
{ url = makeRowInput.platformsLink
|
||||
, label = text makeRowInput.platformsTitle
|
||||
}
|
||||
|
@ -145,13 +143,13 @@ makeRow makeRowInput =
|
|||
, paragraph paragraphFormat makeRowInput.platformsParagraph2
|
||||
, paragraph paragraphFormat
|
||||
[ recommendedClients
|
||||
, paragraphLinkFormat { url = makeRowInput.platformsRecommendedClientLink1, label = text makeRowInput.platformsRecommendedClientLabel1 }
|
||||
, paragraphLinkFormat { url = makeRowInput.platformsRecommendedClientLink1, label = transitionHighlightedLinkHover <| text makeRowInput.platformsRecommendedClientLabel1 }
|
||||
, text makeRowInput.platformsRecommendedClientText1
|
||||
, paragraphLinkFormat { url = makeRowInput.platformsRecommendedClientLink2, label = text makeRowInput.platformsRecommendedClientLabel2 }
|
||||
, paragraphLinkFormat { url = makeRowInput.platformsRecommendedClientLink2, label = transitionHighlightedLinkHover <| text makeRowInput.platformsRecommendedClientLabel2 }
|
||||
, text makeRowInput.platformsRecommendedClientText2
|
||||
, paragraphLinkFormat { url = makeRowInput.platformsRecommendedClientLink3, label = text makeRowInput.platformsRecommendedClientLabel3 }
|
||||
, paragraphLinkFormat { url = makeRowInput.platformsRecommendedClientLink3, label = transitionHighlightedLinkHover <| text makeRowInput.platformsRecommendedClientLabel3 }
|
||||
, text makeRowInput.platformsRecommendedClientText3
|
||||
, paragraphLinkFormat { url = makeRowInput.platformsRecommendedClientLink4, label = text makeRowInput.platformsRecommendedClientLabel4 }
|
||||
, paragraphLinkFormat { url = makeRowInput.platformsRecommendedClientLink4, label = transitionHighlightedLinkHover <| text makeRowInput.platformsRecommendedClientLabel4 }
|
||||
, text makeRowInput.platformsRecommendedClientText4
|
||||
]
|
||||
]
|
||||
|
|
17
frontend/src/Pages/Services.elm
Normal file → Executable file
17
frontend/src/Pages/Services.elm
Normal file → Executable file
|
@ -90,10 +90,7 @@ servicesContainer =
|
|||
servicesList : Element msg
|
||||
servicesList =
|
||||
column
|
||||
[ spacing 40
|
||||
, centerX
|
||||
, centerY
|
||||
]
|
||||
pageList
|
||||
services
|
||||
|
||||
|
||||
|
@ -123,14 +120,10 @@ makeRow makeRowInput =
|
|||
}
|
||||
, column paragraphColumnFormat
|
||||
[ row [ spacing 8 ]
|
||||
[ newTabLink titleFormat
|
||||
[ newTabLink highlightedTitleFormat
|
||||
{ url = makeRowInput.servicesLink
|
||||
, label =
|
||||
el
|
||||
[ mouseOver [ F.color (rgb255 255 50 0) ]
|
||||
, htmlAttribute <| style "transition" "all .2s"
|
||||
]
|
||||
<|
|
||||
transitionHighlightedLinkHover <|
|
||||
text makeRowInput.servicesTitle
|
||||
}
|
||||
, paragraph [ F.color colourTheme.nonHighlightedText ] [ text makeRowInput.servicesRate ]
|
||||
|
@ -162,10 +155,10 @@ services =
|
|||
, servicesLink = "https://the-nutrivore.social/"
|
||||
, servicesTitle = "NUTRITION SCIENCE"
|
||||
, servicesRate = "$40/hr"
|
||||
, servicesDescription = "Participate in a one-hour Q&A session specifically to inquire about nutrition science. Ask questions about research design, methodology, epistemology, and study interpretation. Also, by participating you will also gain access to nutrition science interpretation cheat-sheets that will streamline and simply the research appraisal process."
|
||||
, servicesDescription = "Participate in a one-hour Q&A session specifically to inquire about nutrition science. Ask questions about research design, methodology, epistemology, and study interpretation. Also, by participating you will also gain access to nutrition science interpretation cheat-sheets that will streamline and simplify the research appraisal process."
|
||||
}
|
||||
, { logoImage = "services/nixos.png"
|
||||
, logoDescription = "debate logo"
|
||||
, logoDescription = "nixos logo"
|
||||
, servicesLink = "https://the-nutrivore.social/"
|
||||
, servicesTitle = "CUSTOM NIX BUILDS"
|
||||
, servicesRate = "$40/hr"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue