feat: added dodger page

This commit is contained in:
Nick 2024-11-11 18:57:51 -06:00
parent f05a528580
commit 5ff83e3585
18 changed files with 338 additions and 51 deletions

126
frontend/src/Pages/Dodgers.elm Normal file → Executable file
View 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
View 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
View 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
View 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"