feat: I think I may be done v1

This commit is contained in:
Nick 2024-12-28 22:30:45 -06:00
parent c63ab0bfe7
commit 28293e56e2
11 changed files with 167 additions and 125 deletions

View file

@ -176,7 +176,15 @@ cardMaker device cardable contents =
, row
[ width fill
, spacing 10
, F.center
, case ( device.class, device.orientation ) of
( Phone, Portrait ) ->
F.alignLeft
( Tablet, Portrait ) ->
F.alignLeft
_ ->
F.center
, paddingXY 0
(case ( device.class, device.orientation ) of
( Phone, Portrait ) ->

View file

@ -1,7 +1,7 @@
module Config.Pages.Debate.Arguments.Records.ColonizingNature exposing (..)
import Config.Pages.Debate.Arguments.Types exposing (..)
import Config.Helpers.Converters exposing (toTitleCase)
import Config.Pages.Debate.Arguments.Types exposing (..)
argumentColonizingNature : Argument
@ -9,14 +9,11 @@ argumentColonizingNature =
{ argumentTitle = toTitleCase "Argument for Colonizing Nature"
, propositionTitle = "We are justified in displacing nature into non-existence"
, propositionReductio = ""
, propositionSummary = "Summary"
, proofLink = "https://www.umsu.de/trees/#(P~1~3Q~1~3R~1~3S~5W),(P),(~3Q),(~3R),(~3S)%7C=(W)"
, propositionSummary = "All else equal, is a world where sentient beings are getting torn to shreds and eaten alive or starving to death if they don't succumb to this fate better than a world where this does not happen? I'd argue not. As such, I advocate for non-violently displacing nature into non-existence."
, proofLink = "https://www.umsu.de/trees/#(P~1~3Q~1~3R~1~3S~5W),(P),(~3Q),(~3R),(~3S)%7C=(W)"
, argumentCertainty = 10
, argumentImage = "colonizingnature"
, argumentHashtags = []
, isNewTabLink = False
, definitionTable =
[ { definiendum = "P"
@ -32,12 +29,12 @@ argumentColonizingNature =
, definiens = "the natural world is currently instrumentally vital to facilitating human flourishing"
}
, { definiendum = "W"
, definiens = "we are justified in displacing nature into non-existence"
, definiens = "we are justified in non-violently displacing nature into non-existence"
}
]
, argumentFormalization =
[ { premises =
[ { premise = "If the natural world contains intolerable rights violations and we do not know that nature is net positive or net negative for utility and there is not any known practical means by which to end the rights violations beyond the use of force and the natural world is not currently instrumentally vital to facilitating human flourishing, then we are justified in displacing nature into non-existence."
[ { premise = "If the natural world contains intolerable rights violations and we do not know that nature is net positive or net negative for utility and there is not any known practical means by which to end the rights violations beyond the use of force and the natural world is not currently instrumentally vital to facilitating human flourishing, then we are justified in non-violently displacing nature into non-existence."
, notation = "(P¬Q¬R¬S)W"
}
, { premise = "Nature entails intolerable rights violations."
@ -53,8 +50,8 @@ argumentColonizingNature =
, notation = "¬S"
}
]
, conclusion = "Therefore, we are justified in displacing nature into non-existence."
, conclusion = "Therefore, we are justified in non-violently displacing nature into non-existence."
, conclusionNotation = "W"
}
]
}
}

View file

@ -1,31 +1,29 @@
module Config.Pages.Debate.Arguments.Records.OddOrderPredators exposing (..)
import Config.Pages.Debate.Arguments.Types exposing (..)
import Config.Helpers.Converters exposing (toTitleCase)
import Config.Pages.Debate.Arguments.Types exposing (..)
argumentOddOrderPredators : Argument
argumentOddOrderPredators =
{ argumentTitle = toTitleCase "Argument for Culling Odd Order Predators"
, propositionTitle = "It is permissible to prevent predation with lethal force to the same degree we would tolerate for humans."
, propositionReductio = "I view animal rights as the logical extension of trait-adjusted human rights to non-human animals. I think humans have the right not to be exposed to circumstances where they're hunted for food, and I think it is permissible to use lethal force to save the lives of the hunted, all else equal. By extension I think non-human animals have this right too."
, propositionSummary = "Summary"
, propositionReductio = ""
, propositionSummary = "I view animal rights as the logical extension of trait-adjusted human rights to non-human animals. I think humans have the right not to be exposed to circumstances where they're hunted for food, and I think it is permissible to use lethal force to save the lives of the hunted, all else equal. By extension I think non-human animals have this right too."
, proofLink = "https://www.umsu.de/trees/#(~6x(Px~5~3Qx)),(Pa),(~3Qa~5R)%7C=(R)"
, argumentCertainty = 10
, argumentImage = "oddorderpredators"
, argumentHashtags = []
, isNewTabLink = False
, definitionTable =
[ { definiendum = "P(x)"
, definiens = "(x) has negative rights"
}
, { definiendum = "Q(x)"
, definiens = "we should defend (x) from rights violations to any lesser degree than we would tolerate for humans"
, definiens = "we should defend (x) from rights violations to any lesser degree than we would tolerate for trait-adjusted humans"
}
, { definiendum = "R(x)"
, definiens = "it is permissible to prevent predation with lethal force to the same degree we would tolerate for humans"
, definiens = "it is permissible to prevent predation with lethal force to the same degree we would tolerate for trait-adjusted humans"
}
, { definiendum = "x"
, definiens = "a being"
@ -36,17 +34,17 @@ argumentOddOrderPredators =
]
, argumentFormalization =
[ { premises =
[ { premise = "For all things, if something has negative rights, then we should not defend it from rights violations to any lesser degree than we would tolerate for humans."
[ { premise = "For all things, if something has negative rights, then we should not defend it from rights violations to any lesser degree than we would tolerate for trait-adjusted humans."
, notation = "x(Px¬Qx)"
}
, { premise = "Animals have negative rights."
, notation = "Pa"
}
, { premise = "If we should not defend animals from rights violations to any lesser degree than we would tolerate for humans, then it is permissible to prevent predation with lethal force to the same degree we would tolerate for humans."
, { premise = "If we should not defend animals from rights violations to any lesser degree than we would tolerate for humans, then it is permissible to prevent predation with lethal force to the same degree we would tolerate for trait-adjusted humans."
, notation = "¬QaR"
}
]
, conclusion = "Therefore, it is permissible to prevent predation with lethal force to the same degree we would tolerate for humans."
, conclusion = "Therefore, it is permissible to prevent predation with lethal force to the same degree we would tolerate for trait-adjusted humans."
, conclusionNotation = "R"
}
]

View file

@ -15,7 +15,7 @@ servicesElmBuilds =
let
name : String
name =
"Front End Development"
"Custom Elm Sites"
in
{ serviceImage = formatName name
, serviceLink = Path.toString Path.Services_Elm

View file

@ -137,35 +137,35 @@ view : Shared.Model -> Model -> View Msg
view shared model =
{ title = "debate (" ++ pageNames.pageArguments ++ ")"
, attributes = []
, element = debateContainer shared.device
, element = debateContainer shared
}
debateContainer : Device -> Element msg
debateContainer device =
topLevelContainer (debateList device)
debateContainer : Shared.Model -> Element msg
debateContainer shared =
topLevelContainer (debateList shared)
debateList : Device -> Element msg
debateList device =
debateList : Shared.Model -> Element msg
debateList shared =
column
(case ( device.class, device.orientation ) of
(case ( shared.device.class, shared.device.orientation ) of
_ ->
pageList device
pageList shared.device
)
<|
List.concat
[ [ headerMaker (R.Arguments argumentHeader) ]
, List.map
(\argument ->
cardMaker device (C.Argument argument) (contentList device argument)
cardMaker shared.device (C.Argument argument) (contentList shared argument)
)
argumentList
]
contentList : Device -> Argument -> List (Element msg)
contentList device argument =
contentList : Shared.Model -> Argument -> List (Element msg)
contentList shared argument =
let
image : String -> Element msg
image size =
@ -180,13 +180,13 @@ contentList device argument =
}
]
<|
imageSquareMaker device (imagePathMaker M.Argument argument.argumentImage) True size
imageSquareMaker shared.device (imagePathMaker M.Argument argument.argumentImage) True size
in
[ row
[ width fill
, paddingEach
{ top =
case ( device.class, device.orientation ) of
case ( shared.device.class, shared.device.orientation ) of
( Phone, Portrait ) ->
8
@ -202,7 +202,7 @@ contentList device argument =
]
[ detailFormat column
[ detailFormat paragraph
[ case ( device.class, device.orientation ) of
[ case ( shared.device.class, shared.device.orientation ) of
( Phone, Portrait ) ->
none
@ -214,14 +214,14 @@ contentList device argument =
, el ([ height fill ] ++ bodyFormat TextLightGrey) <| text argument.propositionSummary
]
, detailFormat row
[ strengthMaker
[ strengthMaker shared
, barMaker getConfidenceTooltip argument.argumentCertainty
]
]
]
, tableMaker device argument
, formalizationMaker device argument
, el [alignRight] <|
, tableMaker shared.device argument
, formalizationMaker shared.device argument
, el [ alignRight ] <|
row [ width fill, spacing 20 ]
[ argumentButton (Path.toString Path.Contact_Criticism) "Reject Premise"
, argumentButton argument.proofLink "Proof Tree"
@ -229,12 +229,17 @@ contentList device argument =
]
strengthMaker : Element msg
strengthMaker =
strengthMaker : Shared.Model -> Element msg
strengthMaker shared =
el
[ tooltip
"This represents my confidence in the soundness of the argument."
]
(if not shared.isNavbarExpanded then
[ tooltip
"This represents my confidence in the soundness of the argument."
]
else
[]
)
<|
detailTitleMaker TextLightOrange "Confidence:"

View file

@ -122,28 +122,28 @@ view : Shared.Model -> Model -> View Msg
view shared model =
{ title = "debate (" ++ pageNames.pageGibberish ++ ")"
, attributes = []
, element = gibberishContainer shared.device
, element = gibberishContainer shared
}
gibberishContainer : Device -> Element msg
gibberishContainer device =
topLevelContainer (gibberishList device)
gibberishContainer : Shared.Model -> Element msg
gibberishContainer shared =
topLevelContainer (gibberishList shared)
gibberishList : Device -> Element msg
gibberishList device =
gibberishList : Shared.Model -> Element msg
gibberishList shared =
column
(case ( device.class, device.orientation ) of
(case ( shared.device.class, shared.device.orientation ) of
_ ->
pageList device
pageList shared.device
)
<|
List.concat
[ [ headerMaker (R.Gibberish gibberishHeader) ]
, List.map
(\gibberish ->
cardMaker device (C.Gibberish gibberish) (contentList device gibberish)
cardMaker shared.device (C.Gibberish gibberish) (contentList shared gibberish)
)
[ epistemologyGibberish
, theologyGibberish
@ -156,8 +156,8 @@ gibberishList device =
]
contentList : Device -> Gibberish -> List (Element msg)
contentList device gibberish =
contentList : Shared.Model -> Gibberish -> List (Element msg)
contentList shared gibberish =
let
image : String -> Element msg
image size =
@ -171,7 +171,7 @@ contentList device gibberish =
}
]
<|
imageSquareMaker device (imagePathMaker M.Gibberish gibberish.gibberishImage) True size
imageSquareMaker shared.device (imagePathMaker M.Gibberish gibberish.gibberishImage) True size
in
[ paragraph
[ F.color colourTheme.textLightGrey
@ -179,7 +179,7 @@ contentList device gibberish =
, paragraphFontSize
, width fill
]
[ case ( device.class, device.orientation ) of
[ case ( shared.device.class, shared.device.orientation ) of
( Phone, Portrait ) ->
none
@ -190,12 +190,12 @@ contentList device gibberish =
image "Big"
, text gibberish.gibberishDescription
]
, gibberishMakerBody gibberish
, gibberishMakerBody shared gibberish
]
gibberishMakerBody : Gibberish -> Element msg
gibberishMakerBody gibberish =
gibberishMakerBody : Shared.Model -> Gibberish -> Element msg
gibberishMakerBody shared gibberish =
column
[ paddingEach
{ top = 0
@ -216,7 +216,7 @@ gibberishMakerBody gibberish =
, headerFontSizeSmall
, F.center
]
[ domainList gibberish
[ domainList shared gibberish
]
]
]
@ -229,18 +229,18 @@ gibberishImage gibberish =
}
gibberishTitle : Gibberish -> String
gibberishTitle gibberish =
gibberishTitle : Shared.Model -> Gibberish -> String
gibberishTitle shared gibberish =
gibberish.gibberishTitle
domainList : Gibberish -> Element msg
domainList gibberish =
domainList : Shared.Model -> Gibberish -> Element msg
domainList shared gibberish =
column
[ spacing 8
, E.width fill
]
(List.indexedMap (makeTerms intelligibilityBar) gibberish.gibberishTerms)
(List.indexedMap (makeTerms (intelligibilityBar shared)) gibberish.gibberishTerms)
descriptionMaker : Gibberish -> Element msg
@ -328,8 +328,8 @@ makeTerms bar index terms =
]
intelligibilityBar : Terms -> Element msg
intelligibilityBar terms =
intelligibilityBar : Shared.Model -> Terms -> Element msg
intelligibilityBar shared terms =
row
[ E.width fill
, height fill
@ -347,9 +347,15 @@ intelligibilityBar terms =
, E.width fill
]
[ el
[ tooltip
tooltipMessage
]
(if not shared.isNavbarExpanded then
[ tooltip
tooltipMessage
]
else
[]
)
<|
(el
[ paddingEach
{ top = 0

View file

@ -118,28 +118,28 @@ view : Shared.Model -> Model -> View Msg
view shared model =
{ title = pageNames.pageDonate
, attributes = []
, element = donateContainer shared.device
, element = donateContainer shared
}
donateContainer : Device -> Element msg
donateContainer device =
topLevelContainer (donateList device)
donateContainer : Shared.Model -> Element msg
donateContainer shared =
topLevelContainer (donateList shared)
donateList : Device -> Element msg
donateList device =
donateList : Shared.Model -> Element msg
donateList shared =
column
(case ( device.class, device.orientation ) of
(case ( shared.device.class, shared.device.orientation ) of
_ ->
pageList device
pageList shared.device
)
<|
List.concat
[ [ headerMaker (R.Donate donateHeader) ]
, List.map
(\donate ->
cardMaker device (C.Donate donate) (contentList device donate)
cardMaker shared.device (C.Donate donate) (contentList shared donate)
)
[ donateLiberaPay
, donateStripe
@ -152,8 +152,8 @@ donateList device =
]
contentList : Device -> Donate -> List (Element msg)
contentList device donate =
contentList : Shared.Model -> Donate -> List (Element msg)
contentList shared donate =
let
image : String -> Element msg
image size =
@ -168,14 +168,14 @@ contentList device donate =
}
]
<|
imageSquareMaker device (imagePathMaker M.Donate donate.donateImage) True size
imageSquareMaker shared.device (imagePathMaker M.Donate donate.donateImage) True size
in
[ detailFormat row
[ image "Fatty"
, detailFormat column
[ feeMaker donate
, preferenceMaker donate
, tableMaker donate device
, preferenceMaker shared donate
, tableMaker donate shared.device
]
]
, proConMaker donate
@ -210,15 +210,22 @@ makeCon con =
listItem TextLightGrey con.con
preferenceMaker : Donate -> Element msg
preferenceMaker donate =
preferenceMaker : Shared.Model -> Donate -> Element msg
preferenceMaker shared donate =
detailFormat row
[ el
[ tooltip
"This represents how strongly I prefer a given platform relative to other platforms."
]
(if not shared.isNavbarExpanded then
[ tooltip
"This represents how strongly I prefer a given platform relative to other platforms."
]
else
[]
)
<|
detailTitleMaker TextLightOrange "Preference:"
detailTitleMaker
TextLightOrange
"Preference:"
, barPadding
[ barMaker getPreferenceTooltip donate.donatePreference ]
]

View file

@ -126,28 +126,28 @@ view : Shared.Model -> Model -> View Msg
view shared model =
{ title = pageNames.pageInterviews
, attributes = []
, element = interviewContainer shared.device
, element = interviewContainer shared
}
interviewContainer : Device -> Element msg
interviewContainer device =
topLevelContainer (interviewList device)
interviewContainer : Shared.Model -> Element msg
interviewContainer shared =
topLevelContainer (interviewList shared)
interviewList : Device -> Element msg
interviewList device =
interviewList : Shared.Model -> Element msg
interviewList shared =
column
(case ( device.class, device.orientation ) of
(case shared.device.class of
_ ->
pageList device
pageList shared.device
)
<|
List.concat
[ [ headerMaker (R.Interviews interviewHeader) ]
, List.map
(\interview ->
cardMaker device (C.Interview interview) (contentList device interview)
cardMaker shared.device (C.Interview interview) (contentList shared interview)
)
[ sigmaNutritionRadio
, markBellsPowerProject
@ -162,8 +162,8 @@ interviewList device =
]
contentList : Device -> Interview -> List (Element msg)
contentList device interview =
contentList : Shared.Model -> Interview -> List (Element msg)
contentList shared interview =
let
image : String -> Element msg
image size =
@ -178,11 +178,11 @@ contentList device interview =
}
]
<|
imageSquareMaker device (imagePathMaker M.Interviews interview.interviewImage) True size
imageSquareMaker shared.device (imagePathMaker M.Interviews interview.interviewImage) True size
imageMaker : Element msg
imageMaker =
case ( device.class, device.orientation ) of
case ( shared.device.class, shared.device.orientation ) of
( Phone, Portrait ) ->
none
@ -206,25 +206,25 @@ contentList device interview =
, detailFormat column
[ socialMaker interview.interviewSocial interview.interviewSocial
, detailTitleMaker TextLightGrey "Appearances:"
, appearanceMaker interview
, appearanceMaker shared interview
]
]
]
appearanceMaker : Interview -> Element msg
appearanceMaker interview =
appearanceMaker : Shared.Model -> Interview -> Element msg
appearanceMaker shared interview =
detailFormat paragraph
[ listMaker2 makeAppearance interview.interviewAppearances ]
[ listMaker2 (makeAppearance shared) interview.interviewAppearances ]
makeAppearance : Appearance -> Int -> Element msg
makeAppearance appearanceEntry index =
makeAppearance : Shared.Model -> Appearance -> Int -> Element msg
makeAppearance shared appearanceEntry index =
detailFormat row
[ listCounter index
, detailFormat column
[ episodeMaker appearanceEntry
, experienceMaker appearanceEntry
, experienceMaker shared appearanceEntry
, dateMaker appearanceEntry
, subjectMaker appearanceEntry
]
@ -240,13 +240,18 @@ episodeMaker appearanceEntry =
}
experienceMaker : Appearance -> Element msg
experienceMaker appearanceEntry =
experienceMaker : Shared.Model -> Appearance -> Element msg
experienceMaker shared appearanceEntry =
detailFormat row
[ el
[ tooltip
"This represents my confidence in the soundness of the argument."
]
(if not shared.isNavbarExpanded then
[ tooltip
"This represents my confidence in the soundness of the argument."
]
else
[]
)
<|
detailTitleMaker TextLightGrey "Pleasantness:"
, barPadding

View file

@ -128,7 +128,7 @@ elmBuildsList device =
cardMaker device
(C.BlogArticle service)
(contentList service
[ elmCodeRenderer ]
[ elmCodeRenderer device ]
)
)
[ elmBuilds ]
@ -183,8 +183,8 @@ The source code for this website is viewable on [Gitlab](https://gitlab.com/upRo
}
elmCodeRenderer : Element msg
elmCodeRenderer =
elmCodeRenderer : Device -> Element msg
elmCodeRenderer device =
el
[ paddingEach
{ top = 15
@ -192,7 +192,15 @@ elmCodeRenderer =
, left = 20
, right = 20
}
, B.color colourTheme.backgroundLightGrey
, case ( device.class, device.orientation ) of
( Phone, Portrait ) ->
B.color colourTheme.backgroundDarkGrey
( Tablet, Portrait ) ->
B.color colourTheme.backgroundDarkGrey
_ ->
B.color colourTheme.backgroundLightGrey
, D.rounded 10
, width fill
, spacing 8

View file

@ -129,7 +129,7 @@ elmBuildsList device =
cardMaker device
(C.BlogArticle service)
(contentList service
[ nixCodeRenderer ]
[ nixCodeRenderer device ]
)
)
[ nixBuilds ]
@ -195,8 +195,8 @@ renderCodeLine colors elements =
elements
nixCodeRenderer : Element msg
nixCodeRenderer =
nixCodeRenderer : Device -> Element msg
nixCodeRenderer device =
el
[ paddingEach
{ top = 15
@ -204,7 +204,15 @@ nixCodeRenderer =
, left = 20
, right = 20
}
, B.color colourTheme.backgroundLightGrey
, case ( device.class, device.orientation ) of
( Phone, Portrait ) ->
B.color colourTheme.backgroundDarkGrey
( Tablet, Portrait ) ->
B.color colourTheme.backgroundDarkGrey
_ ->
B.color colourTheme.backgroundLightGrey
, D.rounded 10
, width fill
, spacing 8

View file

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 5.8 KiB

Before After
Before After