feat: added a bunch of stuff
|
@ -170,3 +170,13 @@ basicDivider =
|
|||
, paddingEach { top = 40, bottom = 0, left = 0, right = 0 }
|
||||
]
|
||||
none
|
||||
|
||||
|
||||
formatName : String -> String
|
||||
formatName name =
|
||||
name
|
||||
|> String.toLower
|
||||
|> String.replace " " ""
|
||||
|> String.replace "'" ""
|
||||
|> String.replace "." ""
|
||||
|> String.replace "-" ""
|
||||
|
|
|
@ -19,7 +19,7 @@ type alias PageInput =
|
|||
pageNames : PageInput
|
||||
pageNames =
|
||||
{ pageRoot = "home"
|
||||
, pageHome = "upRootHealth"
|
||||
, pageHome = "upRootNutrition"
|
||||
, pagePlatforms = "platforms"
|
||||
, pageServices = "services"
|
||||
, pageDodgers = "cuckList"
|
||||
|
|
|
@ -26,7 +26,7 @@ barMaker getTooltip num =
|
|||
, D.color colourTheme.textDarkGrey
|
||||
, D.width 2
|
||||
, B.gradient
|
||||
{ angle = 90
|
||||
{ angle = 1.57
|
||||
, steps =
|
||||
List.concat
|
||||
[ List.repeat num colourTheme.barGreen
|
||||
|
|
|
@ -11,7 +11,7 @@ argumentSodiumCVD =
|
|||
, proofLink = "https://www.umsu.de/trees/#(~6x(Px~1Q~5Rx)),(Ps),(Q)|=(Rs)"
|
||||
|
||||
, argumentCertainty = 9
|
||||
, argumentImage = "sociumcvd"
|
||||
, argumentImage = "sodiumcvd"
|
||||
, definitionTable =
|
||||
[ { definiendum = "P(x)"
|
||||
, definiens = "(x) consistently raises blood pressure in controlled studies"
|
||||
|
|
|
@ -24,7 +24,7 @@ argumentUnhealthyRedMeat =
|
|||
, definiens = "a food"
|
||||
}
|
||||
, { definiendum = "m"
|
||||
, definiens = "unprocessed red meat"
|
||||
, definiens = "redmeat"
|
||||
}
|
||||
]
|
||||
, argumentFormalization =
|
||||
|
|
|
@ -63,7 +63,12 @@ propositionMaker argument =
|
|||
row []
|
||||
[ column
|
||||
[ E.alignTop, E.alignLeft ]
|
||||
[ paragraph (paragraphBoldFormat ++ [ F.size 18, E.width <| px 100 ])
|
||||
[ paragraph
|
||||
(paragraphBoldFormat
|
||||
++ [ F.size 18
|
||||
, E.width <| px 100
|
||||
]
|
||||
)
|
||||
[ el
|
||||
[ tooltip
|
||||
"A proposition is a declarative statement that can be evaluated as either true or false, and which serves as the basis for debate."
|
||||
|
@ -241,7 +246,7 @@ tableMaker : Argument -> Element msg
|
|||
tableMaker argument =
|
||||
column
|
||||
[ centerX
|
||||
, E.width <| px 600
|
||||
, E.width fill
|
||||
]
|
||||
([ wrappedRow
|
||||
(paragraphBoldFormat
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
module Debate.Types exposing (..)
|
||||
|
||||
-- ARGUMENTS
|
||||
|
||||
|
||||
type alias Argument =
|
||||
{ argumentTitle : String
|
||||
|
@ -31,3 +33,24 @@ type alias Definition =
|
|||
{ definiendum : String
|
||||
, definiens : String
|
||||
}
|
||||
|
||||
|
||||
|
||||
-- GIBBERISH
|
||||
|
||||
|
||||
type alias GibberishEntry =
|
||||
{ gibberishEntry : List GibDomain
|
||||
}
|
||||
|
||||
|
||||
type alias GibDomain =
|
||||
{ gibberishTerms : List GibTerms
|
||||
, gibberishDomain : String
|
||||
}
|
||||
|
||||
|
||||
type alias GibTerms =
|
||||
{ term : String
|
||||
, explanation : String
|
||||
}
|
||||
|
|
|
@ -5,6 +5,13 @@ import Config.Colour exposing (..)
|
|||
import Config.Format exposing (..)
|
||||
import Config.StrengthBar exposing (..)
|
||||
import Config.ToolTip exposing (..)
|
||||
import Donate.Methods.Cardano exposing (donateCardano)
|
||||
import Donate.Methods.KoFi exposing (donateKoFi)
|
||||
import Donate.Methods.LiberaPay exposing (donateLiberaPay)
|
||||
import Donate.Methods.Merch exposing (donateMerch)
|
||||
import Donate.Methods.Patreon exposing (donatePatreon)
|
||||
import Donate.Methods.PayPal exposing (donatePayPal)
|
||||
import Donate.Methods.YouTube exposing (donateYouTube)
|
||||
import Donate.Types exposing (..)
|
||||
import Effect exposing (Effect)
|
||||
import Element as E exposing (..)
|
||||
|
@ -32,6 +39,7 @@ donateMaker donate =
|
|||
fieldSpacer
|
||||
[ feeMaker donate
|
||||
, preferenceMaker donate
|
||||
, tableMaker donate
|
||||
, proTitleMaker donate
|
||||
, proMaker donate
|
||||
, conTitleMaker donate
|
||||
|
@ -243,3 +251,117 @@ getPreferenceTooltip num =
|
|||
|
||||
_ ->
|
||||
"Preference is out of bounds."
|
||||
|
||||
|
||||
donateNames =
|
||||
[ "Service Fees"
|
||||
, "Subscriptions"
|
||||
, "Fast Payments"
|
||||
, "User Friendly"
|
||||
, "Anonymous"
|
||||
, "Reward Tiers"
|
||||
]
|
||||
|
||||
|
||||
tableMaker : Donate -> Element msg
|
||||
tableMaker donate =
|
||||
column
|
||||
[ centerX
|
||||
, E.width fill
|
||||
]
|
||||
[ wrappedRow
|
||||
(paragraphBoldFormat
|
||||
++ [ E.alignLeft
|
||||
, E.width fill
|
||||
, htmlAttribute <| H.style "position" "relative"
|
||||
]
|
||||
)
|
||||
[ E.table
|
||||
[ spacing 0
|
||||
, D.rounded 10
|
||||
, D.width 2
|
||||
, D.color colourTheme.textDarkGrey
|
||||
, clip
|
||||
]
|
||||
{ data = donate.donateFeatures
|
||||
, columns =
|
||||
List.map createColumn
|
||||
[ { label = "Zero Fees"
|
||||
, getter = .free
|
||||
}
|
||||
, { label = "Subscriptions"
|
||||
, getter = .subscriptions
|
||||
}
|
||||
, { label = "User Friendly"
|
||||
, getter = .userFriendly
|
||||
}
|
||||
, { label = "Anonymous"
|
||||
, getter = .anonymous
|
||||
}
|
||||
, { label = "Rewards"
|
||||
, getter = .rewardTiers
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
]
|
||||
|
||||
|
||||
createColumn : { label : String, getter : Features -> Maybe Bool } -> Column Features msg
|
||||
createColumn { label, getter } =
|
||||
{ header =
|
||||
el
|
||||
[ F.bold
|
||||
, D.widthEach
|
||||
{ bottom = 1
|
||||
, top = 1
|
||||
, left = 1
|
||||
, right = 1
|
||||
}
|
||||
, D.color colourTheme.textDarkGrey
|
||||
, padding 8
|
||||
, E.width fill
|
||||
, F.center
|
||||
]
|
||||
(text label)
|
||||
|> el [ F.color colourTheme.textLightOrange ]
|
||||
, width = fill
|
||||
, view =
|
||||
\feature ->
|
||||
row
|
||||
[ F.color colourTheme.textLightOrange
|
||||
, F.bold
|
||||
, D.widthEach
|
||||
{ bottom = 1
|
||||
, top = 0
|
||||
, left = 1
|
||||
, right = 1
|
||||
}
|
||||
, D.color colourTheme.textDarkGrey
|
||||
, padding 8
|
||||
, E.height fill
|
||||
]
|
||||
[ row [ centerX ]
|
||||
[ paragraph []
|
||||
[ E.image
|
||||
[ E.width <| px 30
|
||||
, E.height <| px 30
|
||||
]
|
||||
(featureToString (getter feature))
|
||||
]
|
||||
]
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
featureToString : Maybe Bool -> { src : String, description : String }
|
||||
featureToString maybeBool =
|
||||
case maybeBool of
|
||||
Just True ->
|
||||
{ src = "donate/checkmark.png", description = "" }
|
||||
|
||||
Just False ->
|
||||
{ src = "donate/ex.png", description = "" }
|
||||
|
||||
Nothing ->
|
||||
{ src = "donate/question.png", description = "" }
|
||||
|
|
|
@ -16,7 +16,7 @@ donateCardano =
|
|||
, donateFees = "0.17 ADA"
|
||||
, donatePreference = 6
|
||||
, donateFeatures =
|
||||
[ { fees = Just True
|
||||
[ { free = Just False
|
||||
, subscriptions = Just False
|
||||
, openSource = Just True
|
||||
, fastPayments = Just True
|
||||
|
|
|
@ -16,7 +16,7 @@ donateKoFi =
|
|||
, donateFees = "5%"
|
||||
, donatePreference = 5
|
||||
, donateFeatures =
|
||||
[ { fees = Just True
|
||||
[ { free = Just False
|
||||
, subscriptions = Just True
|
||||
, openSource = Just False
|
||||
, fastPayments = Just False
|
||||
|
|
|
@ -16,13 +16,13 @@ donateLiberaPay =
|
|||
, donateFees = "0%"
|
||||
, donatePreference = 10
|
||||
, donateFeatures =
|
||||
[ { fees = Just True
|
||||
[ { free = Just True
|
||||
, subscriptions = Just True
|
||||
, openSource = Just True
|
||||
, fastPayments = Just False
|
||||
, userFriendly = Just True
|
||||
, anonymous = Just True
|
||||
, rewardTiers = Just False
|
||||
, rewardTiers = Just True
|
||||
}
|
||||
]
|
||||
, donatePros =
|
||||
|
|
|
@ -8,7 +8,7 @@ donateMerch =
|
|||
let
|
||||
name : String
|
||||
name =
|
||||
"Merch"
|
||||
"Merchandise"
|
||||
in
|
||||
{ donateImage = formatName name
|
||||
, donateLink = "https://streamlabs.com/thenutrivore/merch"
|
||||
|
@ -16,7 +16,7 @@ donateMerch =
|
|||
, donateFees = "~60%"
|
||||
, donatePreference = 1
|
||||
, donateFeatures =
|
||||
[ { fees = Just True
|
||||
[ { free = Just False
|
||||
, subscriptions = Just False
|
||||
, openSource = Just False
|
||||
, fastPayments = Just False
|
||||
|
|
|
@ -16,13 +16,13 @@ donatePatreon =
|
|||
, donateFees = "5%"
|
||||
, donatePreference = 6
|
||||
, donateFeatures =
|
||||
[ { fees = Just True
|
||||
[ { free = Just False
|
||||
, subscriptions = Just True
|
||||
, openSource = Just False
|
||||
, fastPayments = Just False
|
||||
, userFriendly = Just True
|
||||
, anonymous = Just False
|
||||
, rewardTiers = Just False
|
||||
, rewardTiers = Just True
|
||||
}
|
||||
]
|
||||
, donatePros =
|
||||
|
|
|
@ -16,8 +16,8 @@ donatePayPal =
|
|||
, donateFees = "1%"
|
||||
, donatePreference = 8
|
||||
, donateFeatures =
|
||||
[ { fees = Just True
|
||||
, subscriptions = Just False
|
||||
[ { free = Just False
|
||||
, subscriptions = Just True
|
||||
, openSource = Just False
|
||||
, fastPayments = Just True
|
||||
, userFriendly = Just True
|
||||
|
|
|
@ -16,7 +16,7 @@ donateTemplate =
|
|||
, donateFees = ""
|
||||
, donatePreference = 1
|
||||
, donateFeatures =
|
||||
[ { fees = Just True
|
||||
[ { free = Just True
|
||||
, subscriptions = Just True
|
||||
, openSource = Just True
|
||||
, fastPayments = Just False
|
||||
|
|
|
@ -16,12 +16,12 @@ donateYouTube =
|
|||
, donateFees = "45%"
|
||||
, donatePreference = 3
|
||||
, donateFeatures =
|
||||
[ { fees = Just True
|
||||
[ { free = Just False
|
||||
, subscriptions = Just True
|
||||
, openSource = Just False
|
||||
, fastPayments = Just False
|
||||
, userFriendly = Just True
|
||||
, anonymous = Just True
|
||||
, anonymous = Just False
|
||||
, rewardTiers = Just True
|
||||
}
|
||||
]
|
||||
|
|
|
@ -14,7 +14,7 @@ type alias Donate =
|
|||
|
||||
|
||||
type alias Features =
|
||||
{ fees : Maybe Bool
|
||||
{ free : Maybe Bool
|
||||
, subscriptions : Maybe Bool
|
||||
, openSource : Maybe Bool
|
||||
, fastPayments : Maybe Bool
|
||||
|
@ -27,6 +27,8 @@ type alias Features =
|
|||
type alias Pros =
|
||||
{ pro : String
|
||||
}
|
||||
|
||||
|
||||
type alias Cons =
|
||||
{ con : String
|
||||
}
|
||||
|
|
29
frontend/src/Interviews/Episodes/DrShawnBakerPodcast.elm
Normal file
|
@ -0,0 +1,29 @@
|
|||
module Interviews.Episodes.DrShawnBakerPodcast exposing (..)
|
||||
|
||||
import Interviews.Types exposing (..)
|
||||
|
||||
|
||||
drShawnBakerPodcast : Interview
|
||||
drShawnBakerPodcast =
|
||||
let
|
||||
name : String
|
||||
name =
|
||||
"Dr. Shawn Baker Podcast"
|
||||
in
|
||||
{ interviewName = name
|
||||
, interviewImage = formatInterviewName name
|
||||
, interviewSocial = "https://x.com/SBakerMD"
|
||||
, interviewAppearances =
|
||||
[ { appearanceTitle = "He, Wants Wildlife To Not Exist So They Don’t Eat Each Other"
|
||||
, appearanceEpisode = "?"
|
||||
, appearanceLink = "https://podcast.carnivore.diet/ethical-vegan-logical-he-wants-wildlife-to-not-exist-so-they-dont-eat-each-other-1-hr-waste"
|
||||
, appearanceExperience = 0
|
||||
, appearanceYear = "November 30th, 2023"
|
||||
, appearanceSubjects =
|
||||
[ { subject = "Shawn contradicting himself." }
|
||||
, { subject = "Shawn strawmanning me." }
|
||||
, { subject = "Shawn just generally being a weak little bitch." }
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -180,10 +180,10 @@ getExperienceTooltip : Int -> String
|
|||
getExperienceTooltip num =
|
||||
case num of
|
||||
0 ->
|
||||
"Nightmare. Deliberately malicious."
|
||||
"Nightmare. Complete fucking cunt."
|
||||
|
||||
1 ->
|
||||
"Toxic. Utter fucking twat(s)."
|
||||
"Toxic. Deliberately malicious."
|
||||
|
||||
2 ->
|
||||
"Hostile. Consistently disruptive."
|
||||
|
|
|
@ -37,6 +37,8 @@ formatInterviewName name =
|
|||
|> String.toLower
|
||||
|> String.replace " " ""
|
||||
|> String.replace "'" ""
|
||||
|> String.replace "." ""
|
||||
|> String.replace "-" ""
|
||||
|
||||
|
||||
formatInterviewSocial : String -> FormattedInterviewSocial
|
||||
|
|
|
@ -124,7 +124,7 @@ view { toContentMsg, model, content } =
|
|||
}
|
||||
, link [ centerX ]
|
||||
{ url = localhostUrl ++ pageNames.pageHome
|
||||
, label = text "Health"
|
||||
, label = text "Nutrition"
|
||||
}
|
||||
]
|
||||
]
|
||||
|
@ -198,7 +198,12 @@ footerIcons =
|
|||
, E.width fill
|
||||
, E.height fill
|
||||
, spacing 20
|
||||
, paddingEach { top = 40, bottom = 20, left = 20, right = 20 }
|
||||
, paddingEach
|
||||
{ top = 40
|
||||
, bottom = 20
|
||||
, left = 20
|
||||
, right = 20
|
||||
}
|
||||
]
|
||||
<|
|
||||
List.map
|
||||
|
|
|
@ -11,8 +11,11 @@ import Donate.Methods.Merch exposing (donateMerch)
|
|||
import Donate.Methods.Patreon exposing (donatePatreon)
|
||||
import Donate.Methods.PayPal exposing (donatePayPal)
|
||||
import Donate.Methods.YouTube exposing (donateYouTube)
|
||||
import Donate.Types exposing (..)
|
||||
import Effect exposing (Effect)
|
||||
import Element exposing (..)
|
||||
import Element as E exposing (..)
|
||||
import Element.Background as B exposing (..)
|
||||
import Element.Border as D exposing (..)
|
||||
import Element.Font as F
|
||||
import Html.Attributes as H exposing (style)
|
||||
import Layouts
|
||||
|
@ -98,7 +101,17 @@ donateContainer =
|
|||
|
||||
donateList : Element msg
|
||||
donateList =
|
||||
column
|
||||
column pageList
|
||||
[ paragraph
|
||||
(paragraphFormat
|
||||
++ [ F.size 18
|
||||
, alignTop
|
||||
, E.width <| px 800
|
||||
, centerX, F.center
|
||||
]
|
||||
)
|
||||
[ text "Any of the below services may be bundled for a $10 discount off each hour. For example, bundling two sessions of Debate Analysis would be $140 total, rather than $80/hr. All services are changed in CAD." ]
|
||||
, column
|
||||
pageList
|
||||
<|
|
||||
List.map donateMaker
|
||||
|
@ -110,3 +123,4 @@ donateList =
|
|||
, donateYouTube
|
||||
, donateMerch
|
||||
]
|
||||
]
|
||||
|
|
|
@ -9,6 +9,7 @@ import Element.Border as D
|
|||
import Element.Font as F
|
||||
import Html
|
||||
import Html.Attributes as H exposing (style)
|
||||
import Interviews.Episodes.DrShawnBakerPodcast exposing (drShawnBakerPodcast)
|
||||
import Interviews.Episodes.FitAndFurious exposing (fitAndFurious)
|
||||
import Interviews.Episodes.FoolproofMastery exposing (foolproofMastery)
|
||||
import Interviews.Episodes.KetogeeksPodcast exposing (ketoGeeksPodcast)
|
||||
|
@ -113,4 +114,5 @@ interviewList =
|
|||
, muscleMemoirsPodcast
|
||||
, fitAndFurious
|
||||
, strenuousLifePodcast
|
||||
, drShawnBakerPodcast
|
||||
]
|
||||
|
|
BIN
frontend/static/arguments/coconutoil.png
Normal file
After Width: | Height: | Size: 234 KiB |
BIN
frontend/static/arguments/foodsubstitution.png
Normal file
After Width: | Height: | Size: 98 KiB |
BIN
frontend/static/arguments/healthseeker.png
Normal file
After Width: | Height: | Size: 53 KiB |
BIN
frontend/static/arguments/oddorderpredators.png
Normal file
After Width: | Height: | Size: 681 KiB |
BIN
frontend/static/arguments/omega6omega3ratio.png
Normal file
After Width: | Height: | Size: 69 KiB |
BIN
frontend/static/arguments/ostroveganism.png
Normal file
After Width: | Height: | Size: 472 KiB |
BIN
frontend/static/arguments/plantbasedcvd.png
Normal file
After Width: | Height: | Size: 679 KiB |
BIN
frontend/static/arguments/plantfoods.png
Normal file
After Width: | Height: | Size: 418 KiB |
BIN
frontend/static/arguments/pollinationreductio.png
Normal file
After Width: | Height: | Size: 430 KiB |
BIN
frontend/static/arguments/polyphenolreductio.png
Normal file
After Width: | Height: | Size: 415 KiB |
BIN
frontend/static/arguments/processedmeat.png
Normal file
After Width: | Height: | Size: 319 KiB |
BIN
frontend/static/arguments/redmeat.png
Normal file
After Width: | Height: | Size: 352 KiB |
BIN
frontend/static/arguments/saturatedfat.png
Normal file
After Width: | Height: | Size: 368 KiB |
BIN
frontend/static/arguments/seedoils.png
Normal file
After Width: | Height: | Size: 33 KiB |
BIN
frontend/static/arguments/sodiumcvd.png
Normal file
After Width: | Height: | Size: 207 KiB |
BIN
frontend/static/arguments/soyproducts.png
Normal file
After Width: | Height: | Size: 294 KiB |
BIN
frontend/static/arguments/tattooscratchers.png
Normal file
After Width: | Height: | Size: 352 KiB |
BIN
frontend/static/arguments/tmaocausality.png
Normal file
After Width: | Height: | Size: 249 KiB |
BIN
frontend/static/arguments/transpeople.png
Normal file
After Width: | Height: | Size: 166 KiB |
BIN
frontend/static/arguments/truncatedmetas.png
Normal file
After Width: | Height: | Size: 406 KiB |
BIN
frontend/static/arguments/vegansociety.png
Normal file
After Width: | Height: | Size: 213 KiB |
BIN
frontend/static/cucks/ninateicholz/ninateicholz.png
Executable file → Normal file
Before Width: | Height: | Size: 207 KiB After Width: | Height: | Size: 196 KiB |
BIN
frontend/static/cucks/ninateicholz/ninateicholz1.png
Executable file
After Width: | Height: | Size: 207 KiB |
BIN
frontend/static/donate/checkmark.png
Normal file
After Width: | Height: | Size: 950 B |
BIN
frontend/static/donate/ex.png
Normal file
After Width: | Height: | Size: 973 B |
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
BIN
frontend/static/donate/question.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
frontend/static/interviews/drshawnbakerpodcast.png
Normal file
After Width: | Height: | Size: 30 KiB |