mirror of
https://gitlab.com/upRootNutrition/website.git
synced 2025-06-15 20:15:12 -05:00
feat: added cuckery
This commit is contained in:
parent
7e2cc9ef32
commit
74bc980a08
7 changed files with 207 additions and 3 deletions
19
frontend/src/Cuckery/CuckList/AdamSinger.elm
Normal file
19
frontend/src/Cuckery/CuckList/AdamSinger.elm
Normal file
|
@ -0,0 +1,19 @@
|
|||
module Cuckery.CuckList.AdamSinger exposing (..)
|
||||
|
||||
import Cuckery.Types exposing (..)
|
||||
|
||||
|
||||
cuckAdamSinger : Cuck
|
||||
cuckAdamSinger =
|
||||
{ cuckImage = "adamsinger"
|
||||
, cuckName = "Adam Singer"
|
||||
, cuckSocial = "https://twitter.com/AdamSinger"
|
||||
, cuckDodges =
|
||||
[ { dodgeLink = "https://twitter.com/The_Nutrivore/status/1447245484356108292?s=20"
|
||||
, dodgeDescription = RanAway
|
||||
, dodgeProposition = "diets humans thrived on in the wild, sans dentists and doctors, are correct.diets humans thrived on in the wild, sans dentists and doctors, are correct.diets humans thrived on in the wild, sans dentists and doctors, are correct.diets humans thrived on in the wild, sans dentists and doctors, are correct.diets humans thrived on in the wild, sans dentists and doctors, are correct."
|
||||
, dodgeNicksDoxasticState = Nothing
|
||||
, dodgeNicksDoxasticReason = NoProp
|
||||
}
|
||||
]
|
||||
}
|
19
frontend/src/Cuckery/CuckList/AnthonyGustin.elm
Normal file
19
frontend/src/Cuckery/CuckList/AnthonyGustin.elm
Normal file
|
@ -0,0 +1,19 @@
|
|||
module Cuckery.CuckList.AnthonyGustin exposing (..)
|
||||
|
||||
import Cuckery.Types exposing (..)
|
||||
|
||||
|
||||
cuckAnthonyGustin : Cuck
|
||||
cuckAnthonyGustin =
|
||||
{ cuckImage = "adamsinger"
|
||||
, cuckName = "Adam Singer"
|
||||
, cuckSocial = "https://twitter.com/AdamSinger"
|
||||
, cuckDodges =
|
||||
[ { dodgeLink = "https://twitter.com/The_Nutrivore/status/1447245484356108292?s=20"
|
||||
, dodgeDescription = RanAway
|
||||
, dodgeProposition = "diets humans thrived on in the wild, sans dentists and doctors, are correct."
|
||||
, dodgeNicksDoxasticState = Just Belief
|
||||
, dodgeNicksDoxasticReason = NoProp
|
||||
}
|
||||
]
|
||||
}
|
120
frontend/src/Cuckery/Helpers.elm
Normal file
120
frontend/src/Cuckery/Helpers.elm
Normal file
|
@ -0,0 +1,120 @@
|
|||
module Cuckery.Helpers exposing (..)
|
||||
|
||||
import Config.Colour exposing (..)
|
||||
import Config.Format exposing (..)
|
||||
import Cuckery.Types exposing (..)
|
||||
import Effect exposing (Effect)
|
||||
import Element exposing (..)
|
||||
import Element.Border as D
|
||||
import Element.Font as F
|
||||
import Html.Attributes as H exposing (style)
|
||||
import Layouts
|
||||
import Page exposing (Page)
|
||||
import Route exposing (Route)
|
||||
import Shared
|
||||
import View exposing (View)
|
||||
|
||||
|
||||
makeDodge : Dodge -> Int -> Element msg
|
||||
makeDodge dodgeEntry index =
|
||||
column paragraphAlignLeft
|
||||
[ row (paragraphFormat ++ [ width fill ])
|
||||
[ text " "
|
||||
, text (String.fromInt index ++ ". ")
|
||||
, paragraphLinkFormat
|
||||
{ url = dodgeEntry.dodgeLink
|
||||
, label =
|
||||
row []
|
||||
[ transitionHighlightedLinkHover <|
|
||||
text
|
||||
(case dodgeEntry.dodgeDescription of
|
||||
NoReply ->
|
||||
"Invitation extended with no response"
|
||||
|
||||
RanAway ->
|
||||
"Engaged in written debate and ran away when cornered"
|
||||
|
||||
GhostedMe ->
|
||||
"Debate invitation accepted with no follow-up"
|
||||
|
||||
OutrightNo ->
|
||||
"Debate invitation declined"
|
||||
|
||||
InTooDeep ->
|
||||
"Debate invitation accepted and subsequently retracted"
|
||||
|
||||
KillScreen ->
|
||||
"All further debate invitations preemptively declined"
|
||||
)
|
||||
, text "." |> el [ F.color colourTheme.nonHighlightedText ]
|
||||
]
|
||||
}
|
||||
]
|
||||
, row paragraphBoldFormat
|
||||
[ column [ alignTop ]
|
||||
[ text " Proposition:"
|
||||
]
|
||||
, column [ width fill, alignLeft ] [ paragraph [ F.regular ] [ text ("\"" ++ dodgeEntry.dodgeProposition ++ "\"") ] ]
|
||||
]
|
||||
, row (paragraphBoldFormat ++ [ width fill ])
|
||||
[ text " Doxastic State:"
|
||||
, case dodgeEntry.dodgeNicksDoxasticState of
|
||||
Nothing ->
|
||||
paragraph [ F.regular ] [ text "Nick doesn't form a doxastic state." ]
|
||||
|
||||
Just Belief ->
|
||||
paragraph [ F.regular ]
|
||||
[ text "Nick leans more toward "
|
||||
, el [ F.bold ] (text "TRUE")
|
||||
, text " than false."
|
||||
]
|
||||
|
||||
Just Disbelief ->
|
||||
paragraph [ F.regular ]
|
||||
[ text "Nick leans more toward "
|
||||
, text "FALSE" |> el [ F.bold ]
|
||||
, text " than true."
|
||||
]
|
||||
|
||||
Just Agnostic ->
|
||||
el [ F.regular ] (text "Nick doesn't form beliefs about this proposition.")
|
||||
]
|
||||
, row (paragraphBoldFormat ++ [ width fill ])
|
||||
[ text " Reason:"
|
||||
, el [ F.regular ]
|
||||
(text <|
|
||||
case dodgeEntry.dodgeNicksDoxasticReason of
|
||||
NoProp ->
|
||||
"there is no proposition to evaluate."
|
||||
|
||||
Vague ->
|
||||
"the proposition is too vague to evaluate."
|
||||
)
|
||||
]
|
||||
]
|
||||
|
||||
|
||||
cuckMaker : Cuck -> Element msg
|
||||
cuckMaker cuck =
|
||||
row [ imageSpacer, alignLeft ]
|
||||
[ image [ centerX, centerY, D.rounded 100, clip, width <| px 80 ]
|
||||
{ src = "cucks/" ++ cuck.cuckImage ++ ".png"
|
||||
, description = cuck.cuckName
|
||||
}
|
||||
, column
|
||||
paragraphAlignLeft
|
||||
[ row nonHighlightedTitleFormat [ text cuck.cuckName ]
|
||||
, row paragraphBoldFormat
|
||||
[ text "Social:"
|
||||
, paragraphLinkFormat
|
||||
{ url = cuck.cuckSocial
|
||||
, label = transitionHighlightedLinkHover <| text cuck.cuckName
|
||||
}
|
||||
]
|
||||
, row paragraphBoldFormat [ text "Dodges:" ]
|
||||
, column [ spacing 8 ] <|
|
||||
List.map2 (\x y -> makeDodge x y)
|
||||
cuck.cuckDodges
|
||||
(List.range 1 (List.length cuck.cuckDodges))
|
||||
]
|
||||
]
|
38
frontend/src/Cuckery/Types.elm
Normal file
38
frontend/src/Cuckery/Types.elm
Normal file
|
@ -0,0 +1,38 @@
|
|||
module Cuckery.Types exposing (..)
|
||||
|
||||
|
||||
type alias Cuck =
|
||||
{ cuckImage : String
|
||||
, cuckName : String
|
||||
, cuckSocial : String
|
||||
, cuckDodges : List Dodge
|
||||
}
|
||||
|
||||
|
||||
type alias Dodge =
|
||||
{ dodgeLink : String
|
||||
, dodgeDescription : DodgeDescription
|
||||
, dodgeProposition : String
|
||||
, dodgeNicksDoxasticState : Maybe DoxasticState
|
||||
, dodgeNicksDoxasticReason : Reason
|
||||
}
|
||||
|
||||
|
||||
type DodgeDescription
|
||||
= NoReply
|
||||
| RanAway
|
||||
| GhostedMe
|
||||
| OutrightNo
|
||||
| InTooDeep
|
||||
| KillScreen
|
||||
|
||||
|
||||
type DoxasticState
|
||||
= Belief
|
||||
| Disbelief
|
||||
| Agnostic
|
||||
|
||||
|
||||
type Reason
|
||||
= NoProp
|
||||
| Vague
|
|
@ -3,6 +3,9 @@ module Pages.Dodgers exposing (Model, Msg, page)
|
|||
import Config.Colour as T exposing (..)
|
||||
import Config.Format as O exposing (..)
|
||||
import Config.Identity as I exposing (..)
|
||||
import Cuckery.CuckList.AdamSinger exposing (cuckAdamSinger)
|
||||
import Cuckery.CuckList.AnthonyGustin exposing (cuckAnthonyGustin)
|
||||
import Cuckery.Helpers exposing (..)
|
||||
import Effect exposing (Effect)
|
||||
import Element exposing (..)
|
||||
import Element.Border as D
|
||||
|
@ -93,7 +96,11 @@ dodgersList : Element msg
|
|||
dodgersList =
|
||||
column
|
||||
pageList
|
||||
dodgers
|
||||
<|
|
||||
List.map cuckMaker
|
||||
[ cuckAdamSinger
|
||||
, cuckAnthonyGustin
|
||||
]
|
||||
|
||||
|
||||
type alias MakeRowInput msg =
|
||||
|
@ -200,7 +207,7 @@ dodgers =
|
|||
dodgeType : DodgeType
|
||||
dodgeType =
|
||||
{ noReply = "Invitation extended with no response"
|
||||
, ranAway = "Engaged in written debate and dodged when cornered"
|
||||
, ranAway = "Engaged in written debate and ran away when cornered"
|
||||
, ghostedMe = "Debate invitation accepted with no follow-up"
|
||||
, outrightNo = "Debate invitation declined"
|
||||
, inTooDeep = "Debate invitation accepted and subsequently retracted"
|
||||
|
@ -287,7 +294,7 @@ dodgers =
|
|||
}
|
||||
]
|
||||
}
|
||||
, { cuckImage = "cucks/bartkay.png"
|
||||
, { cuckImage = "cucks/bartkay3.png"
|
||||
, cuckName = "Bart Kay"
|
||||
, cuckSocial = "https://twitter.com/@Bart_WT_Kay"
|
||||
, cuckDodges =
|
||||
|
|
|
@ -3,6 +3,7 @@ module Pages.Home_ exposing (Model, Msg, page)
|
|||
import Config.Colour as T exposing (..)
|
||||
import Config.Format as O exposing (..)
|
||||
import Config.Identity as I exposing (..)
|
||||
import Cuckery.Types
|
||||
import Effect exposing (Effect)
|
||||
import Element exposing (..)
|
||||
import Html.Attributes as H exposing (style)
|
||||
|
|
BIN
frontend/static/cucks/bartkay3.png
Executable file
BIN
frontend/static/cucks/bartkay3.png
Executable file
Binary file not shown.
After Width: | Height: | Size: 198 KiB |
Loading…
Add table
Add a link
Reference in a new issue