feat: added popup

This commit is contained in:
Nick 2025-01-03 16:47:17 -06:00
parent 1a426736a7
commit 59e4f4f1ab
74 changed files with 380 additions and 174 deletions

View file

@ -25,7 +25,7 @@ Nearly a year ago, I was [invited](https://x.com/zbitter/status/1668413822388916
# THE DEBATE INVITATION
However, nearly a year after that, Cate Shenanigans put out a general [invite](https://x.com/drcateshanahan/status/1773836787196346592) to debate. Even going so far as to [suggest](https://x.com/drcateshanahan/status/1774490576362062311) that I was scared to face her, to which I replied. Shortly after, she actually decided to engage and [replied](https://x.com/drcateshanahan/status/1774681584907559220) to me, encouraging me to DM her (presumably to work out the details of the debate). After some minor miscommunications, she instructed me in another [reply](https://x.com/drcateshanahan/status/1774830896006185446) to contact her via email. I did. I never received a reply. Some time passed, and Zach Bitter once again started [prodding](https://x.com/zbitter/status/1778171569967190413) at Cate Shenanigans about the status of her debate invitation to me (presumably with the intention of once again offering to host it). A day later, after a brief back and forth, Cate Shenanigans [replied](https://x.com/drcateshanahan/status/1778430104617603232) with what seemed like an alteration in the conditions to debate. At least this is how I interpreted it, as someone who has an interest in her arguments. I [pressed](https://x.com/TheNutrivore/status/1778456234078662984) her for clarification, and even quoted her in a [post](https://x.com/TheNutrivore/status/1778490825124552875) later that day about it, and received no reply. But not before she made her own [post](https://x.com/drcateshanahan/status/1778483241755787308) in a different thread, which I didn't initially see, wherein she withdrew from the debate that day. What a bizarre series of behaviours.
However, nearly a year after that, Cate Shenanigans put out a general [invite](https://x.com/drcateshanahan/status/1773836787196346592) to debate. Even going so far as to [suggest](https://x.com/drcateshanahan/status/1774490576362062311) that I was scared to face her, to which I replied. Shortly after, she actually decided to engage and [replied](https://x.com/drcateshanahan/status/1774681584907559220) to me, encouraging me to DM her (presumably to work out the details of the debate). After some minor miscommunications, she instructed me in another [reply](https://x.com/drcateshanahan/status/1774830896006185446) to contact her via email. I did. I never received a reply. Some time passed, and Zach Bitter once again started [prodding](https://x.com/zbitter/status/1778171569967190413) at Cate Shenanigans about the status of her debate invitation to me (presumably with the intention of once again offering to host it). A day later, after a brief back and forth, Cate Shenanigans [replied](https://x.com/drcateshanahan/status/1778430104617603232) with what seemed like an alteration in the conditions to debate. At least this is how I interpreted it, as someone who has an interest in her arguments. I [pressed](https://x.com/upRootNutrition/status/1778456234078662984) her for clarification, and even quoted her in a [post](https://x.com/upRootNutrition/status/1778490825124552875) later that day about it, and received no reply. But not before she made her own [post](https://x.com/drcateshanahan/status/1778483241755787308) in a different thread, which I didn't initially see, wherein she withdrew from the debate that day. What a bizarre series of behaviours.
# THE EMAIL EXCHANGE
@ -61,7 +61,7 @@ Fast forward to June 2nd, 2024, and I was DMed by another third party looking to
> First of all, it's not just that someone else has previously wanted to set up a debate between Cate and myself. Cate herself put out what I (quite reasonably) interpreted as a general invitation to those challenging her positions, which can be found [here](https://x.com/drcateshanahan/status/1773836787196346592), on March 29th. I accepted the invite, to which Cate replied on March 31st with an invitation to me to DM her (presumably to set up a debate), which can be found [here](https://x.com/drcateshanahan/status/1774681584907559220). I responded via email on April 1st, after she invited me to do so [here](https://x.com/drcateshanahan/status/1774830896006185446), on the same day. There was no third party present at this time. This was Cate clearly inviting me, personally, to debate. Just to be clear about the facts.
>
> Furthermore, while we're being clear about the facts, Cate also presumably withdrew from the debate for what would be completely bizarre reasons that are ultimately orthogonal to the debate itself, which can be found [here](https://x.com/drcateshanahan/status/1778483241755787308). But, not before implying that she had altered the necessary conditions for a debate, which can be found [here](https://x.com/TheNutrivore/status/1778490825124552875). Whatever the case, declining to debate someone on an empirical position because they disagree with you on an unrelated normative position is **beyond** strange, and honestly it was so outlandish that I just flagged it as a blatant excuse not to debate. I hope, Host, you can also see that this is the most reasonable interpretation of her behaviour.
> Furthermore, while we're being clear about the facts, Cate also presumably withdrew from the debate for what would be completely bizarre reasons that are ultimately orthogonal to the debate itself, which can be found [here](https://x.com/drcateshanahan/status/1778483241755787308). But, not before implying that she had altered the necessary conditions for a debate, which can be found [here](https://x.com/upRootNutrition/status/1778490825124552875). Whatever the case, declining to debate someone on an empirical position because they disagree with you on an unrelated normative position is **beyond** strange, and honestly it was so outlandish that I just flagged it as a blatant excuse not to debate. I hope, Host, you can also see that this is the most reasonable interpretation of her behaviour.
>
> Now that that's out of the way and clarified, I'd be happy to debate Cate on a number of propositions. So long as she's done making excuses. Specifically, I might want to debate against [this](https://x.com/drcateshanahan/status/1516786219841073153) proposition:
>
@ -221,7 +221,7 @@ Furthermore, if she was truly interested in contesting my views, why did she not
**B) Shifting the goalpost three times**
Months ago, she dodged me on the grounds that I haven't read her book and that reading her book was necessary to have a debate. I [offered](https://x.com/TheNutrivore/status/1778490825124552875) to read her book then to satisfy the criteria and got no reply. Now, she dodged me for the second time on these grounds, and when I directly offered to read her book and satisfy her criteria, she shifted the goalpost a third time. Apparently, it's not good enough that I read her book, but now the entire audience needs to read her book in order for us to debate. This is just the most cuckish form of sophistry imaginable, and she should be ashamed.
Months ago, she dodged me on the grounds that I haven't read her book and that reading her book was necessary to have a debate. I [offered](https://x.com/upRootNutrition/status/1778490825124552875) to read her book then to satisfy the criteria and got no reply. Now, she dodged me for the second time on these grounds, and when I directly offered to read her book and satisfy her criteria, she shifted the goalpost a third time. Apparently, it's not good enough that I read her book, but now the entire audience needs to read her book in order for us to debate. This is just the most cuckish form of sophistry imaginable, and she should be ashamed.
**C) Her goalposts are dumb anyway**

View file

@ -25,7 +25,7 @@ cuckAdamSinger =
, cuckSocial = "https://x.com/AdamSinger"
, isNewTabLink = True
, cuckDodges =
[ { dodgeLink = "https://x.com/TheNutrivore/status/1566491269194719232?s=20"
[ { dodgeLink = "https://x.com/upRootNutrition/status/1566491269194719232?s=20"
, dodgeDescription = VagueGesture
, dodgeProposition = "Seed oils cause inflammation and stomach pain."
, dodgeReceipts =

View file

@ -24,7 +24,7 @@ cuckAnnChilders =
, cuckSocial = "https://x.com/AnnChildersMD"
, isNewTabLink = True
, cuckDodges =
[ { dodgeLink = "https://x.com/The_Nutrivore/status/1447245484356108292?s=20"
[ { dodgeLink = "https://x.com/upRootNutrition/status/1447245484356108292?s=20"
, dodgeDescription = RanAway
, dodgeProposition = "Diets humans thrived on in the wild, sans dentists and doctors, are correct."
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -27,7 +27,7 @@ cuckAnthonyGustin =
, cuckSocial = "https://x.com/dranthonygustin"
, isNewTabLink = True
, cuckDodges =
[ { dodgeLink = "https://x.com/The_Nutrivore/status/1482502242632552449?s=20"
[ { dodgeLink = "https://x.com/upRootNutrition/status/1482502242632552449?s=20"
, dodgeDescription = GhostedMe
, dodgeProposition = commonProps.propSeedOils
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -24,7 +24,7 @@ cuckAshwaniGarg =
, cuckSocial = "https://x.com/agargmd"
, isNewTabLink = True
, cuckDodges =
[ { dodgeLink = "https://x.com/The_Nutrivore/status/1443328350982967303?s=20"
[ { dodgeLink = "https://x.com/upRootNutrition/status/1443328350982967303?s=20"
, dodgeDescription = NoReply
, dodgeProposition = "Representing the protein content of beans by dry weight is misleading."
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -25,7 +25,7 @@ cuckAustinHerbert =
, cuckSocial = "https://x.com/_AustinHerbert"
, isNewTabLink = True
, cuckDodges =
[ { dodgeLink = "https://x.com/TheNutrivore/status/1663698981833277440"
[ { dodgeLink = "https://x.com/upRootNutrition/status/1663698981833277440"
, dodgeDescription = NoReply
, dodgeProposition = "Seed oils make you fat and kill your body."
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -25,7 +25,7 @@ cuckBenBikman =
, cuckSocial = "https://x.com/BenBikmanPhD"
, isNewTabLink = True
, cuckDodges =
[ { dodgeLink = "https://x.com/TheNutrivore/status/1587547250074746880?s=19"
[ { dodgeLink = "https://x.com/upRootNutrition/status/1587547250074746880?s=19"
, dodgeDescription = NoReply
, dodgeProposition = "The diet-heart hypothesis is false."
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -24,7 +24,7 @@ cuckBennyMalone =
, cuckSocial = "https://x.com/bennymaloneUK"
, isNewTabLink = True
, cuckDodges =
[ { dodgeLink = "https://x.com/TheNutrivore/status/1569046576609300489"
[ { dodgeLink = "https://x.com/upRootNutrition/status/1569046576609300489"
, dodgeDescription = RanAway
, dodgeProposition = "Eating oysters is compatible with veganism."
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -25,7 +25,7 @@ cuckBradCampbell =
, cuckSocial = "https://x.com/DrBradCampbell"
, isNewTabLink = True
, cuckDodges =
[ { dodgeLink = "https://x.com/The_Nutrivore/status/1530933999610171392?s=20"
[ { dodgeLink = "https://x.com/upRootNutrition/status/1530933999610171392?s=20"
, dodgeDescription = NoReply
, dodgeProposition = "Canola oil kills you slowly."
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -26,7 +26,7 @@ cuckBradCohn =
, cuckSocial = "https://x.com/BradCohn"
, isNewTabLink = True
, cuckDodges =
[ { dodgeLink = "https://x.com/TheNutrivore/status/1687535030862831616"
[ { dodgeLink = "https://x.com/upRootNutrition/status/1687535030862831616"
, dodgeDescription = NoReply
, dodgeProposition = commonProps.propSeedOils
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -25,7 +25,7 @@ cuckBretWeinstein =
, cuckSocial = "https://x.com/BretWeinstein"
, isNewTabLink = True
, cuckDodges =
[ { dodgeLink = "https://x.com/TheNutrivore/status/1858356347332374597"
[ { dodgeLink = "https://x.com/upRootNutrition/status/1858356347332374597"
, dodgeDescription = NoReply
, dodgeProposition = "Seed oils are dangerous."
, dodgeReceipts = [ { receipt = "receipt1" } ]
@ -33,7 +33,7 @@ cuckBretWeinstein =
, dodgeNicksDoxasticState = Just Disbelief
, dodgeNicksDoxasticReason = SpecificPropReason commonPropReasons.propSeedOilsReason
}
, { dodgeLink = "https://x.com/TheNutrivore/status/1858745910701777229"
, { dodgeLink = "https://x.com/upRootNutrition/status/1858745910701777229"
, dodgeDescription = NoReply
, dodgeProposition = "Seed oils are dangerous."
, dodgeReceipts = [ { receipt = "receipt1" } ]
@ -41,7 +41,7 @@ cuckBretWeinstein =
, dodgeNicksDoxasticState = Just Disbelief
, dodgeNicksDoxasticReason = SpecificPropReason commonPropReasons.propSeedOilsReason
}
, { dodgeLink = "https://x.com/TheNutrivore/status/1858746414882263256"
, { dodgeLink = "https://x.com/upRootNutrition/status/1858746414882263256"
, dodgeDescription = NoReply
, dodgeProposition = "Seed oils are dangerous."
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -26,7 +26,7 @@ cuckBrianKerley =
, cuckSocial = "https://x.com/SeedOilDsrspctr"
, isNewTabLink = True
, cuckDodges =
[ { dodgeLink = "https://x.com/The_Nutrivore/status/1483889771134926849?s=20"
[ { dodgeLink = "https://x.com/upRootNutrition/status/1483889771134926849?s=20"
, dodgeDescription = NoReply
, dodgeProposition = commonProps.propSeedOils
, dodgeReceipts = [ { receipt = "receipt1" } ]
@ -34,7 +34,7 @@ cuckBrianKerley =
, dodgeNicksDoxasticState = Just Belief
, dodgeNicksDoxasticReason = SpecificPropReason commonPropReasons.propSeedOilsReason
}
, { dodgeLink = "https://x.com/TheNutrivore/status/1783200352646619227"
, { dodgeLink = "https://x.com/upRootNutrition/status/1783200352646619227"
, dodgeDescription = NoReply
, dodgeProposition = commonProps.propSeedOils
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -25,7 +25,7 @@ cuckCarnivoreAurelius =
, cuckSocial = "https://x.com/AlpacaAurelius"
, isNewTabLink = True
, cuckDodges =
[ { dodgeLink = "https://x.com/The_Nutrivore/status/1538272143061815299?s=20"
[ { dodgeLink = "https://x.com/upRootNutrition/status/1538272143061815299?s=20"
, dodgeDescription = NoReply
, dodgeProposition = "Vegans kill 100x more animals."
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -26,7 +26,7 @@ cuckCateShanahan =
, cuckSocial = "https://x.com/drcateshanahan"
, isNewTabLink = True
, cuckDodges =
[ { dodgeLink = "https://x.com/The_Nutrivore/status/1266438463634632709?s=20"
[ { dodgeLink = "https://x.com/upRootNutrition/status/1266438463634632709?s=20"
, dodgeDescription = NoReply
, dodgeProposition = "Seed oils are pro-inflammatory."
, dodgeReceipts = [ { receipt = "receipt1" } ]
@ -34,7 +34,7 @@ cuckCateShanahan =
, dodgeNicksDoxasticState = Just Disbelief
, dodgeNicksDoxasticReason = SpecificPropReason commonPropReasons.propSeedOilsReasonInflammation
}
, { dodgeLink = "https://x.com/The_Nutrivore/status/1479497980570857474?s=20"
, { dodgeLink = "https://x.com/upRootNutrition/status/1479497980570857474?s=20"
, dodgeDescription = NoReply
, dodgeProposition = "Those who defend seed oils are just regurgitating the garbage that the AHA pumps out."
, dodgeReceipts = [ { receipt = "receipt1" } ]
@ -42,7 +42,7 @@ cuckCateShanahan =
, dodgeNicksDoxasticState = Just Disbelief
, dodgeNicksDoxasticReason = SpecificPropReason "I defend seed oils and I've never even read the AHA's material on the subject."
}
, { dodgeLink = "https://x.com/The_Nutrivore/status/1487215337116508162?s=20"
, { dodgeLink = "https://x.com/upRootNutrition/status/1487215337116508162?s=20"
, dodgeDescription = NoReply
, dodgeProposition = "Seed oils are toxic."
, dodgeReceipts = [ { receipt = "receipt1" } ]
@ -58,7 +58,7 @@ cuckCateShanahan =
, dodgeNicksDoxasticState = Just Disbelief
, dodgeNicksDoxasticReason = SpecificPropReason commonPropReasons.propSeedOilsReason
}
, { dodgeLink = "https://x.com/The_Nutrivore/status/1537544882532716544?s=20"
, { dodgeLink = "https://x.com/upRootNutrition/status/1537544882532716544?s=20"
, dodgeDescription = NoReply
, dodgeProposition = "Nick is just following the AHA marching orders."
, dodgeReceipts = [ { receipt = "receipt1" } ]
@ -66,7 +66,7 @@ cuckCateShanahan =
, dodgeNicksDoxasticState = Just Disbelief
, dodgeNicksDoxasticReason = SpecificPropReason "I've never even read the AHA's recommendations on anything."
}
, { dodgeLink = "https://x.com/TheNutrivore/status/1778616438116483102"
, { dodgeLink = "https://x.com/upRootNutrition/status/1778616438116483102"
, dodgeDescription = RanAway
, dodgeProposition = commonProps.propSeedOils
, dodgeReceipts = [ { receipt = "receipt1" } ]
@ -74,7 +74,7 @@ cuckCateShanahan =
, dodgeNicksDoxasticState = Just Belief
, dodgeNicksDoxasticReason = SpecificPropReason commonPropReasons.propSeedOilsReason
}
, { dodgeLink = "https://x.com/TheNutrivore/status/1779185488521310601"
, { dodgeLink = "https://x.com/upRootNutrition/status/1779185488521310601"
, dodgeDescription = OutrightNo
, dodgeProposition = commonProps.propSeedOils
, dodgeReceipts = [ { receipt = "receipt1" } ]
@ -82,7 +82,7 @@ cuckCateShanahan =
, dodgeNicksDoxasticState = Just Belief
, dodgeNicksDoxasticReason = SpecificPropReason commonPropReasons.propSeedOilsReason
}
, { dodgeLink = "https://x.com/TheNutrivore/status/1778616438116483102"
, { dodgeLink = "https://x.com/upRootNutrition/status/1778616438116483102"
, dodgeDescription = KillScreen
, dodgeProposition = commonProps.propSeedOils
, dodgeReceipts = [ { receipt = "receipt1" } ]
@ -90,7 +90,7 @@ cuckCateShanahan =
, dodgeNicksDoxasticState = Just Belief
, dodgeNicksDoxasticReason = SpecificPropReason commonPropReasons.propSeedOilsReason
}
, { dodgeLink = "https://x.com/TheNutrivore/status/1798766450255253987"
, { dodgeLink = "https://x.com/upRootNutrition/status/1798766450255253987"
, dodgeDescription = KillScreen
, dodgeProposition = "Current levels of seed oil consumption are the main driver of heart disease."
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -25,7 +25,7 @@ cuckClaraAboel =
, cuckSocial = "https://x.com/AIWellnessCoach"
, isNewTabLink = True
, cuckDodges =
[ { dodgeLink = "https://x.com/TheNutrivore/status/1727510906655969736"
[ { dodgeLink = "https://x.com/upRootNutrition/status/1727510906655969736"
, dodgeDescription = NoReply
, dodgeProposition = "Polyunsaturated fatty acids are known to initiate cancer."
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -33,7 +33,7 @@ cuckCliffHarvey =
, dodgeNicksDoxasticState = Just Disbelief
, dodgeNicksDoxasticReason = SpecificPropReason commonPropReasons.propSaturatedFatReason
}
, { dodgeLink = "https://x.com/The_Nutrivore/status/1500650543886204929?s=20"
, { dodgeLink = "https://x.com/upRootNutrition/status/1500650543886204929?s=20"
, dodgeDescription = NoReply
, dodgeProposition = "Saturated fat in the diet does not independently increase the risk of mortality."
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -25,7 +25,7 @@ cuckDaveFeldman =
, cuckSocial = "https://x.com/realDaveFeldman"
, isNewTabLink = True
, cuckDodges =
[ { dodgeLink = "https://x.com/The_Nutrivore/status/1306625219440730118?s=20"
[ { dodgeLink = "https://x.com/upRootNutrition/status/1306625219440730118?s=20"
, dodgeDescription = NoReply
, dodgeProposition = noProposition
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -25,7 +25,7 @@ cuckDavidGornoski =
, cuckSocial = "https://x.com/DavidGornoski"
, isNewTabLink = True
, cuckDodges =
[ { dodgeLink = "https://x.com/TheNutrivore/status/1525474063044550657?s=20"
[ { dodgeLink = "https://x.com/upRootNutrition/status/1525474063044550657?s=20"
, dodgeDescription = OutrightNo
, dodgeProposition = "Polyunsaturated fatty acids cause obesity."
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -25,7 +25,7 @@ cuckDianaRodgers =
, cuckSocial = "https://x.com/sustainabledish"
, isNewTabLink = True
, cuckDodges =
[ { dodgeLink = "https://x.com/The_Nutrivore/status/1365857401786814465?s=20"
[ { dodgeLink = "https://x.com/upRootNutrition/status/1365857401786814465?s=20"
, dodgeDescription = InTooDeep
, dodgeProposition = "Saturated fat doesn't increase the risk of coronary heart disease."
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -28,7 +28,7 @@ cuckEdwardGoeke =
, cuckSocial = "https://x.com/GoekeEddie"
, isNewTabLink = True
, cuckDodges =
[ { dodgeLink = "https://x.com/TheNutrivore/status/1773421625150746784?s=20"
[ { dodgeLink = "https://x.com/upRootNutrition/status/1773421625150746784?s=20"
, dodgeDescription = NoReply
, dodgeProposition = propSeedOils
, dodgeReceipts = [ { receipt = "receipt1" } ]
@ -36,7 +36,7 @@ cuckEdwardGoeke =
, dodgeNicksDoxasticState = Just Disbelief
, dodgeNicksDoxasticReason = SpecificPropReason commonPropReasons.propSeedOilsReasonInflammation
}
, { dodgeLink = "https://x.com/TheNutrivore/status/1774154640403423359?s=20"
, { dodgeLink = "https://x.com/upRootNutrition/status/1774154640403423359?s=20"
, dodgeDescription = NoReply
, dodgeProposition = propSeedOils
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -24,7 +24,7 @@ cuckElieJarrouge =
, cuckSocial = "https://x.com/ElieJarrougeMD"
, isNewTabLink = True
, cuckDodges =
[ { dodgeLink = "https://x.com/TheNutrivore/status/1506845469980315648?s=20"
[ { dodgeLink = "https://x.com/upRootNutrition/status/1506845469980315648?s=20"
, dodgeDescription = NoReply
, dodgeProposition = "Sugar, refined carbs, and seed oils are poison."
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -25,7 +25,7 @@ cuckGaryBrecka =
, cuckSocial = "https://x.com/garybrecka1"
, isNewTabLink = True
, cuckDodges =
[ { dodgeLink = "https://x.com/TheNutrivore/status/1726664526316372125"
[ { dodgeLink = "https://x.com/upRootNutrition/status/1726664526316372125"
, dodgeDescription = NoReply
, dodgeProposition = "Linoleic acid consumption causes atherosclerosis."
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -26,7 +26,7 @@ cuckGaryFettke =
, cuckSocial = "https://x.com/FructoseNo"
, isNewTabLink = True
, cuckDodges =
[ { dodgeLink = "https://x.com/TheNutrivore/status/1460983496524980224"
[ { dodgeLink = "https://x.com/upRootNutrition/status/1460983496524980224"
, dodgeDescription = GhostedMe
, dodgeProposition = commonProps.propLinoleicAcid
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -25,7 +25,7 @@ cuckGeorgeMartin =
, cuckSocial = "https://x.com/CarnismDebunked"
, isNewTabLink = True
, cuckDodges =
[ { dodgeLink = "https://x.com/TheNutrivore/status/1815098730141651021"
[ { dodgeLink = "https://x.com/upRootNutrition/status/1815098730141651021"
, dodgeDescription = RanAway
, dodgeProposition = "Nick has killed more animals in his life than a mature bear."
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -27,7 +27,7 @@ cuckGuyAustin =
, cuckSocial = "https://x.com/GuyNAustin"
, isNewTabLink = True
, cuckDodges =
[ { dodgeLink = "https://x.com/TheNutrivore/status/1538607434176020480"
[ { dodgeLink = "https://x.com/upRootNutrition/status/1538607434176020480"
, dodgeDescription = NoReply
, dodgeProposition = noProposition
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -28,7 +28,7 @@ cuckIvorCummins =
, cuckSocial = "https://x.com/FatEmperor"
, isNewTabLink = True
, cuckDodges =
[ { dodgeLink = "https://x.com/The_Nutrivore/status/1268600451693494273?s=20"
[ { dodgeLink = "https://x.com/upRootNutrition/status/1268600451693494273?s=20"
, dodgeDescription = NoReply
, dodgeProposition = propLDL
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -27,7 +27,7 @@ cuckJakeMey =
, cuckSocial = "https://x.com/CakeNutrition"
, isNewTabLink = True
, cuckDodges =
[ { dodgeLink = "https://x.com/The_Nutrivore/status/1490009495581298690?s=20"
[ { dodgeLink = "https://x.com/upRootNutrition/status/1490009495581298690?s=20"
, dodgeDescription = RanAway
, dodgeProposition = "Vegan Friday meals are unhealthy for children."
, dodgeReceipts = [ { receipt = "receipt1" } ]
@ -35,7 +35,7 @@ cuckJakeMey =
, dodgeNicksDoxasticState = Just Disbelief
, dodgeNicksDoxasticReason = SpecificPropReason propReason
}
, { dodgeLink = "https://x.com/The_Nutrivore/status/1490060813138280450?s=20"
, { dodgeLink = "https://x.com/upRootNutrition/status/1490060813138280450?s=20"
, dodgeDescription = OutrightNo
, dodgeProposition = "Vegan Friday meals are unhealthy for children."
, dodgeReceipts = [ { receipt = "receipt1" } ]
@ -43,7 +43,7 @@ cuckJakeMey =
, dodgeNicksDoxasticState = Just Disbelief
, dodgeNicksDoxasticReason = SpecificPropReason propReason
}
, { dodgeLink = "https://x.com/The_Nutrivore/status/1495419256737091585?s=20"
, { dodgeLink = "https://x.com/upRootNutrition/status/1495419256737091585?s=20"
, dodgeDescription = KillScreen
, dodgeProposition = "Vegan Friday meals are unhealthy for children."
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -26,7 +26,7 @@ cuckJamesDiNicolantonio =
, cuckSocial = "https://x.com/drjamesdinic"
, isNewTabLink = True
, cuckDodges =
[ { dodgeLink = "https://x.com/The_Nutrivore/status/1460788569388171268?s=20"
[ { dodgeLink = "https://x.com/upRootNutrition/status/1460788569388171268?s=20"
, dodgeDescription = NoReply
, dodgeProposition = commonProps.propLinoleicAcid
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -29,7 +29,7 @@ cuckJosephEverett =
, cuckSocial = "https://x.com/JEverettLearned"
, isNewTabLink = True
, cuckDodges =
[ { dodgeLink = "https://x.com/The_Nutrivore/status/1535334822825971712?s=20"
[ { dodgeLink = "https://x.com/upRootNutrition/status/1535334822825971712?s=20"
, dodgeDescription = NoReply
, dodgeProposition = propSeedOils
, dodgeReceipts = [ { receipt = "receipt1" } ]
@ -37,7 +37,7 @@ cuckJosephEverett =
, dodgeNicksDoxasticState = Just Disbelief
, dodgeNicksDoxasticReason = SpecificPropReason commonPropReasons.propSeedOilsReasonChronicDisease
}
, { dodgeLink = "https://x.com/TheNutrivore/status/1555138038740680704?s=20"
, { dodgeLink = "https://x.com/upRootNutrition/status/1555138038740680704?s=20"
, dodgeDescription = NoReply
, dodgeProposition = propSeedOils
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -25,7 +25,7 @@ cuckJustinMares =
, cuckSocial = "https://x.com/jwmares"
, isNewTabLink = True
, cuckDodges =
[ { dodgeLink = "https://x.com/The_Nutrivore/status/1329266554089869312?s=20"
[ { dodgeLink = "https://x.com/upRootNutrition/status/1329266554089869312?s=20"
, dodgeDescription = RanAway
, dodgeProposition = "Vegetable oils drive inflammation and are causally linked to weight gain and diseases of inflammation."
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -25,7 +25,7 @@ cuckKaitMalthaner =
, cuckSocial = "https://x.com/healthcoachkait"
, isNewTabLink = True
, cuckDodges =
[ { dodgeLink = "https://x.com/The_Nutrivore/status/1503258756687306753?s=20"
[ { dodgeLink = "https://x.com/upRootNutrition/status/1503258756687306753?s=20"
, dodgeDescription = NoReply
, dodgeProposition = "Omega-6 is pro-inflammatory."
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -42,7 +42,7 @@ cuckKemMinnick =
, dodgeNicksDoxasticState = Just Belief
, dodgeNicksDoxasticReason = SpecificPropReason reason
}
, { dodgeLink = "https://x.com/The_Nutrivore/status/1476990862793986052?s=20"
, { dodgeLink = "https://x.com/upRootNutrition/status/1476990862793986052?s=20"
, dodgeDescription = RanAway
, dodgeProposition = prop
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -30,7 +30,7 @@ cuckKenBerry =
, cuckSocial = "https://x.com/KenDBerryMD"
, isNewTabLink = True
, cuckDodges =
[ { dodgeLink = "https://x.com/The_Nutrivore/status/1366524889067368449?s=20"
[ { dodgeLink = "https://x.com/upRootNutrition/status/1366524889067368449?s=20"
, dodgeDescription = NoReply
, dodgeProposition = "Type 2 Diabetes is chronic carbohydrate overdose."
, dodgeReceipts = [ { receipt = "receipt1" } ]
@ -38,7 +38,7 @@ cuckKenBerry =
, dodgeNicksDoxasticState = Just Agnostic
, dodgeNicksDoxasticReason = VagueProp
}
, { dodgeLink = "https://x.com/TheNutrivore/status/1539720236701589504?s=20"
, { dodgeLink = "https://x.com/upRootNutrition/status/1539720236701589504?s=20"
, dodgeDescription = NoReply
, dodgeProposition = propAnimalFat
, dodgeReceipts = [ { receipt = "receipt1" } ]
@ -46,7 +46,7 @@ cuckKenBerry =
, dodgeNicksDoxasticState = Just Disbelief
, dodgeNicksDoxasticReason = SpecificPropReason commonPropReasons.propSeedOilsReason
}
, { dodgeLink = "https://x.com/TheNutrivore/status/1539721408372039680?s=20"
, { dodgeLink = "https://x.com/upRootNutrition/status/1539721408372039680?s=20"
, dodgeDescription = NoReply
, dodgeProposition = propAnimalFat
, dodgeReceipts = [ { receipt = "receipt1" } ]
@ -54,7 +54,7 @@ cuckKenBerry =
, dodgeNicksDoxasticState = Just Disbelief
, dodgeNicksDoxasticReason = SpecificPropReason commonPropReasons.propSeedOilsReason
}
, { dodgeLink = "https://x.com/TheNutrivore/status/1813969807521300615"
, { dodgeLink = "https://x.com/upRootNutrition/status/1813969807521300615"
, dodgeDescription = InTooDeep
, dodgeProposition = noProposition
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -26,7 +26,7 @@ cuckKevinStock =
, cuckSocial = "https://x.com/kevinstock12"
, isNewTabLink = True
, cuckDodges =
[ { dodgeLink = "https://x.com/The_Nutrivore/status/1530140722225102848?s=20"
[ { dodgeLink = "https://x.com/upRootNutrition/status/1530140722225102848?s=20"
, dodgeDescription = NoReply
, dodgeProposition = noProposition
, dodgeReceipts = [ { receipt = "receipt1" } ]
@ -34,7 +34,7 @@ cuckKevinStock =
, dodgeNicksDoxasticState = Nothing
, dodgeNicksDoxasticReason = NoProp
}
, { dodgeLink = "https://x.com/The_Nutrivore/status/1534927799911317509?s=20"
, { dodgeLink = "https://x.com/upRootNutrition/status/1534927799911317509?s=20"
, dodgeDescription = NoReply
, dodgeProposition = "Saturated fat does not cause cardiovascular disease."
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -25,7 +25,7 @@ cuckKyleMamounis =
, cuckSocial = "https://x.com/Nutricrinology"
, isNewTabLink = True
, cuckDodges =
[ { dodgeLink = "https://x.com/The_Nutrivore/status/1389259133044477953?s=20"
[ { dodgeLink = "https://x.com/upRootNutrition/status/1389259133044477953?s=20"
, dodgeDescription = RanAway
, dodgeProposition = "Statins do not prevent cardiovascular events."
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -25,7 +25,7 @@ cuckMarkSisson =
, cuckSocial = "https://x.com/Mark_Sisson"
, isNewTabLink = True
, cuckDodges =
[ { dodgeLink = "https://x.com/TheNutrivore/status/1488360227141419009?s=20"
[ { dodgeLink = "https://x.com/upRootNutrition/status/1488360227141419009?s=20"
, dodgeDescription = NoReply
, dodgeProposition = noProposition
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -37,7 +37,7 @@ cuckMaxLugavere =
, dodgeNicksDoxasticState = Just Disbelief
, dodgeNicksDoxasticReason = SpecificPropReason commonPropReasons.propSeedOilsReasonChronicDisease
}
, { dodgeLink = "https://x.com/The_Nutrivore/status/1518307089742848000?s=20"
, { dodgeLink = "https://x.com/upRootNutrition/status/1518307089742848000?s=20"
, dodgeDescription = NoReply
, dodgeProposition = prop
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -25,7 +25,7 @@ cuckMichaelManderville =
, cuckSocial = "https://x.com/MikeManderville"
, isNewTabLink = True
, cuckDodges =
[ { dodgeLink = "https://x.com/The_Nutrivore/status/1503036463306489856?s=20"
[ { dodgeLink = "https://x.com/upRootNutrition/status/1503036463306489856?s=20"
, dodgeDescription = RanAway
, dodgeProposition = "A logically coherent position will have logically coherent answer to a logically coherent hypothetical."
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -25,7 +25,7 @@ cuckMikeMutzel =
, cuckSocial = "https://x.com/MikeMutzel"
, isNewTabLink = True
, cuckDodges =
[ { dodgeLink = "https://x.com/The_Nutrivore/status/1414457776982552576?s=20"
[ { dodgeLink = "https://x.com/upRootNutrition/status/1414457776982552576?s=20"
, dodgeDescription = RanAway
, dodgeProposition = "COVID is nothing more than a cold to those that are healthy."
, dodgeReceipts = [ { receipt = "receipt1" } ]
@ -33,7 +33,7 @@ cuckMikeMutzel =
, dodgeNicksDoxasticState = Just Agnostic
, dodgeNicksDoxasticReason = SpecificPropReason commonPropReasons.propEmpiricalClaim
}
, { dodgeLink = "https://x.com/TheNutrivore/status/1584645853771616256?s=20"
, { dodgeLink = "https://x.com/upRootNutrition/status/1584645853771616256?s=20"
, dodgeDescription = NoReply
, dodgeProposition = "There is little to no association between saturated fat and cardiovascular disease."
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -25,7 +25,7 @@ cuckMikeSweeney =
, cuckSocial = "https://x.com/thelowcarb_rd"
, isNewTabLink = True
, cuckDodges =
[ { dodgeLink = "https://x.com/TheNutrivore/status/1746962254052962552"
[ { dodgeLink = "https://x.com/upRootNutrition/status/1746962254052962552"
, dodgeDescription = OutrightNo
, dodgeProposition = "Vegan diets are nowhere near appropriate for the average person in society."
, dodgeReceipts = [ { receipt = "receipt1" } ]
@ -41,7 +41,7 @@ cuckMikeSweeney =
, dodgeNicksDoxasticState = Just Agnostic
, dodgeNicksDoxasticReason = VagueProp
}
, { dodgeLink = "https://x.com/TheNutrivore/status/1776652108646821913?t=Pf4sfAC1Z0pAcxGfQFr7oQ"
, { dodgeLink = "https://x.com/upRootNutrition/status/1776652108646821913?t=Pf4sfAC1Z0pAcxGfQFr7oQ"
, dodgeDescription = NoReply
, dodgeProposition = "Cheerios cause nausea, vomiting, seizures, irregular heartbeat, liver damage, and coma."
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -24,7 +24,7 @@ cuckNickEggleton =
, cuckSocial = "https://x.com/NickEggleton"
, isNewTabLink = True
, cuckDodges =
[ { dodgeLink = "https://x.com/The_Nutrivore/status/1266626885703720961?s=20"
[ { dodgeLink = "https://x.com/upRootNutrition/status/1266626885703720961?s=20"
, dodgeDescription = OutrightNo
, dodgeProposition = "Polyunsaturated fats are poison."
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -25,7 +25,7 @@ cuckNinaTeicholz =
, cuckSocial = "https://x.com/bigfatsurprise"
, isNewTabLink = True
, cuckDodges =
[ { dodgeLink = "https://x.com/TheNutrivore/status/1556510529014882305?s=20"
[ { dodgeLink = "https://x.com/upRootNutrition/status/1556510529014882305?s=20"
, dodgeDescription = NoReply
, dodgeProposition = "The science linking red meat to heart disease is very weak."
, dodgeReceipts = [ { receipt = "receipt1" } ]
@ -33,7 +33,7 @@ cuckNinaTeicholz =
, dodgeNicksDoxasticState = Just Disbelief
, dodgeNicksDoxasticReason = SpecificPropReason "The aggregate of the data suggests red meat increases the risk of heart disease."
}
, { dodgeLink = "https://x.com/TheNutrivore/status/1467571763865210881?s=20"
, { dodgeLink = "https://x.com/upRootNutrition/status/1467571763865210881?s=20"
, dodgeDescription = NoReply
, dodgeProposition = "The available evidence supports limiting saturated fat intake for coronary heart disease risk reduction."
, dodgeReceipts = [ { receipt = "receipt1" } ]
@ -41,7 +41,7 @@ cuckNinaTeicholz =
, dodgeNicksDoxasticState = Just Belief
, dodgeNicksDoxasticReason = SpecificPropReason commonPropReasons.propSaturatedFatReason
}
, { dodgeLink = "https://x.com/TheNutrivore/status/1538895943050878977?s=20"
, { dodgeLink = "https://x.com/upRootNutrition/status/1538895943050878977?s=20"
, dodgeDescription = NoReply
, dodgeProposition = "Vegans pretend biology isn't real."
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -32,7 +32,7 @@ cuckNorstrongChris =
, dodgeNicksDoxasticState = Just Agnostic
, dodgeNicksDoxasticReason = VagueProp
}
, { dodgeLink = "https://x.com/The_Nutrivore/status/1534573919562350594?s=20"
, { dodgeLink = "https://x.com/upRootNutrition/status/1534573919562350594?s=20"
, dodgeDescription = OutrightNo
, dodgeProposition = "Nutrition science as a whole is shit."
, dodgeReceipts = [ { receipt = "receipt1" } ]
@ -40,7 +40,7 @@ cuckNorstrongChris =
, dodgeNicksDoxasticState = Just Agnostic
, dodgeNicksDoxasticReason = VagueProp
}
, { dodgeLink = "https://x.com/TheNutrivore/status/1534614710196260865?s=20"
, { dodgeLink = "https://x.com/upRootNutrition/status/1534614710196260865?s=20"
, dodgeDescription = NoReply
, dodgeProposition = "Nutrition science as a whole is shit."
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -43,7 +43,7 @@ cuckPaulMason =
, dodgeNicksDoxasticState = Just Agnostic
, dodgeNicksDoxasticReason = VagueProp
}
, { dodgeLink = "https://x.com/The_Nutrivore/status/1461361726943760391?s=20"
, { dodgeLink = "https://x.com/upRootNutrition/status/1461361726943760391?s=20"
, dodgeDescription = NoReply
, dodgeProposition = commonProps.propLinoleicAcid
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -31,7 +31,7 @@ cuckPaulSaladino =
, cuckSocial = "https://x.com/paulsaladinomd"
, isNewTabLink = True
, cuckDodges =
[ { dodgeLink = "https://x.com/The_Nutrivore/status/1275912849999695872?s=20"
[ { dodgeLink = "https://x.com/upRootNutrition/status/1275912849999695872?s=20"
, dodgeDescription = NoReply
, dodgeProposition = "Subsidies for corn and soy are huge contributors to the chronic disease epidemic in the US."
, dodgeReceipts = [ { receipt = "receipt1" } ]
@ -55,7 +55,7 @@ cuckPaulSaladino =
, dodgeReceipts = [ { receipt = "receipt1" } ]
, dodgeFallacy = Just AppealToNature
}
, { dodgeLink = "https://x.com/The_Nutrivore/status/1282851963902636032?s=20"
, { dodgeLink = "https://x.com/upRootNutrition/status/1282851963902636032?s=20"
, dodgeDescription = NoReply
, dodgeProposition = prop
, dodgeNicksDoxasticState = Just Agnostic
@ -63,7 +63,7 @@ cuckPaulSaladino =
, dodgeReceipts = [ { receipt = "receipt1" } ]
, dodgeFallacy = Just AppealToNature
}
, { dodgeLink = "https://x.com/The_Nutrivore/status/1469136550046814219?s=20"
, { dodgeLink = "https://x.com/upRootNutrition/status/1469136550046814219?s=20"
, dodgeDescription = NoReply
, dodgeProposition = "Nutritional epidemiology generally provides good causal estimates."
, dodgeNicksDoxasticState = Just Belief
@ -71,7 +71,7 @@ cuckPaulSaladino =
, dodgeReceipts = [ { receipt = "receipt1" } ]
, dodgeFallacy = Nothing
}
, { dodgeLink = "https://x.com/TheNutrivore/status/1633831762509045766?s=20"
, { dodgeLink = "https://x.com/upRootNutrition/status/1633831762509045766?s=20"
, dodgeDescription = NoReply
, dodgeProposition = "Linoleic acid wreaks havoc in your body."
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -26,7 +26,7 @@ cuckPhilipOvadia =
, cuckSocial = "https://x.com/ifixhearts"
, isNewTabLink = True
, cuckDodges =
[ { dodgeLink = "https://x.com/TheNutrivore/status/1557791520324890624?s=20"
[ { dodgeLink = "https://x.com/upRootNutrition/status/1557791520324890624?s=20"
, dodgeDescription = NoReply
, dodgeProposition = "Sugar is the problem and meat is the solution."
, dodgeReceipts = [ { receipt = "receipt1" } ]
@ -34,7 +34,7 @@ cuckPhilipOvadia =
, dodgeNicksDoxasticState = Just Agnostic
, dodgeNicksDoxasticReason = VagueProp
}
, { dodgeLink = "https://x.com/TheNutrivore/status/1558282337024180224?s=20"
, { dodgeLink = "https://x.com/upRootNutrition/status/1558282337024180224?s=20"
, dodgeDescription = NoReply
, dodgeProposition = "LDL doesn't cause coronary heart disease because it is just part of the arterial repair process."
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -25,7 +25,7 @@ cuckPhilippeStephenson =
, cuckSocial = "https://x.com/TotalCytopath"
, isNewTabLink = True
, cuckDodges =
[ { dodgeLink = "https://x.com/TheNutrivore/status/1779587012120715433"
[ { dodgeLink = "https://x.com/upRootNutrition/status/1779587012120715433"
, dodgeDescription = NoReply
, dodgeProposition = "Seed oils save lives."
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -24,7 +24,7 @@ cuckRalphNapolitano =
, cuckSocial = "https://x.com/DrRalphNap"
, isNewTabLink = True
, cuckDodges =
[ { dodgeLink = "https://x.com/The_Nutrivore/status/1462794580848300034?s=20"
[ { dodgeLink = "https://x.com/upRootNutrition/status/1462794580848300034?s=20"
, dodgeDescription = NoReply
, dodgeProposition = "Oatmeal is one of the worst foods you can eat and has no health benefits."
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -25,7 +25,7 @@ cuckRobMeijer =
, cuckSocial = "https://x.com/EngineerDiet"
, isNewTabLink = True
, cuckDodges =
[ { dodgeLink = "https://x.com/The_Nutrivore/status/1435850829051793408?s=20"
[ { dodgeLink = "https://x.com/upRootNutrition/status/1435850829051793408?s=20"
, dodgeDescription = RanAway
, dodgeProposition = noProposition
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -25,7 +25,7 @@ cuckRobbWolf =
, cuckSocial = "https://x.com/robbwolf"
, isNewTabLink = True
, cuckDodges =
[ { dodgeLink = "https://x.com/TheNutrivore/status/1601624559647875072?s=20"
[ { dodgeLink = "https://x.com/upRootNutrition/status/1601624559647875072?s=20"
, dodgeDescription = OutrightNo
, dodgeProposition = "Ancestral foods are more likely to be antagonistically pleiotropic than novel foods."
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -25,7 +25,7 @@ cuckShawnBaker =
, cuckSocial = "https://x.com/SBakerMD"
, isNewTabLink = True
, cuckDodges =
[ { dodgeLink = "https://x.com/TheNutrivore/status/1868037979807346738"
[ { dodgeLink = "https://x.com/upRootNutrition/status/1868037979807346738"
, dodgeDescription = GhostedMe
, dodgeProposition = noProposition
, dodgeReceipts = []

View file

@ -29,7 +29,7 @@ cuckSimonGoddek =
, cuckSocial = "https://x.com/goddeketal"
, isNewTabLink = True
, cuckDodges =
[ { dodgeLink = "https://x.com/TheNutrivore/status/1795673579931255233"
[ { dodgeLink = "https://x.com/upRootNutrition/status/1795673579931255233"
, dodgeDescription = NoReply
, dodgeProposition = prop
, dodgeReceipts = [ { receipt = "receipt1" } ]
@ -37,7 +37,7 @@ cuckSimonGoddek =
, dodgeNicksDoxasticState = Just Disbelief
, dodgeNicksDoxasticReason = SpecificPropReason commonPropReasons.propSeedOilsReasonCVD
}
, { dodgeLink = "https://x.com/TheNutrivore/status/1795885929678196951"
, { dodgeLink = "https://x.com/upRootNutrition/status/1795885929678196951"
, dodgeDescription = NoReply
, dodgeProposition = prop
, dodgeReceipts = [ { receipt = "receipt1" } ]
@ -45,7 +45,7 @@ cuckSimonGoddek =
, dodgeNicksDoxasticState = Just Disbelief
, dodgeNicksDoxasticReason = SpecificPropReason commonPropReasons.propSeedOilsReasonCVD
}
, { dodgeLink = "https://x.com/TheNutrivore/status/1795674575315112396"
, { dodgeLink = "https://x.com/upRootNutrition/status/1795674575315112396"
, dodgeDescription = NoReply
, dodgeProposition = prop
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -29,7 +29,7 @@ cuckTravisStatham =
, cuckSocial = "https://x.com/Travis_Statham"
, isNewTabLink = True
, cuckDodges =
[ { dodgeLink = "https://x.com/The_Nutrivore/status/1461428023207489542?s=20"
[ { dodgeLink = "https://x.com/upRootNutrition/status/1461428023207489542?s=20"
, dodgeDescription = NoReply
, dodgeProposition = prop
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -24,7 +24,7 @@ cuckTristanHaggard =
, cuckSocial = "https://x.com/Trxstxn4"
, isNewTabLink = True
, cuckDodges =
[ { dodgeLink = "https://x.com/The_Nutrivore/status/1513596227052527621?s=20"
[ { dodgeLink = "https://x.com/upRootNutrition/status/1513596227052527621?s=20"
, dodgeDescription = RanAway
, dodgeProposition = "Seed oils are toxic."
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -24,7 +24,7 @@ cuckTroKalayjian =
, cuckSocial = "https://x.com/DoctorTro"
, isNewTabLink = True
, cuckDodges =
[ { dodgeLink = "https://x.com/The_Nutrivore/status/1261351818430255104?s=20"
[ { dodgeLink = "https://x.com/upRootNutrition/status/1261351818430255104?s=20"
, dodgeDescription = RanAway
, dodgeProposition = "Dr. Tro engages in shitty behaviour that causes people to dislike him."
, dodgeReceipts = [ { receipt = "receipt1" } ]
@ -32,7 +32,7 @@ cuckTroKalayjian =
, dodgeNicksDoxasticState = Just Belief
, dodgeNicksDoxasticReason = SpecificPropReason "The proposition seems trivially true."
}
, { dodgeLink = "https://x.com/TheNutrivore/status/1865857839845232689"
, { dodgeLink = "https://x.com/upRootNutrition/status/1865857839845232689"
, dodgeDescription = RanAway
, dodgeProposition = "Meat doesnt cause cardiovascular disease"
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -26,7 +26,7 @@ cuckTuckerGoodrich =
, cuckSocial = "https://x.com/TuckerGoodrich"
, isNewTabLink = True
, cuckDodges =
[ { dodgeLink = "https://x.com/The_Nutrivore/status/1276694117494358017?s=19"
[ { dodgeLink = "https://x.com/upRootNutrition/status/1276694117494358017?s=19"
, dodgeDescription = RanAway
, dodgeProposition = "Nutritional epidemiology is almost always wrong."
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -25,7 +25,7 @@ cuckZoeHarcombe =
, cuckSocial = "https://x.com/zoeharcombe"
, isNewTabLink = True
, cuckDodges =
[ { dodgeLink = "https://x.com/The_Nutrivore/status/1418263706178310149"
[ { dodgeLink = "https://x.com/upRootNutrition/status/1418263706178310149"
, dodgeDescription = NoReply
, dodgeProposition = "Saturated fat doesn't increase the risk of coronary heart disease."
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -25,7 +25,7 @@ cuckZsofiaClemens =
, cuckSocial = "https://x.com/ClemensZsofia"
, isNewTabLink = True
, cuckDodges =
[ { dodgeLink = "https://x.com/TheNutrivore/status/1528377198180290561?s=20"
[ { dodgeLink = "https://x.com/upRootNutrition/status/1528377198180290561?s=20"
, dodgeDescription = OutrightNo
, dodgeProposition = "Well-planned, plant-based diets are healthy."
, dodgeReceipts = [ { receipt = "receipt1" } ]

View file

@ -20,6 +20,7 @@ module Config.Style.Icons.Icons exposing
, nutriDexLogo
, services
, thumbsDown
, thumbsUp
, twitter
, upRootLarge
, upRootMedium
@ -990,6 +991,22 @@ code inner =
}
thumbsUp : SvgTypes.OuterPart msg -> Element msg
thumbsUp inner =
HeSvg.buildSvg inner
{ svgAttributes =
[ SvgAttr.viewBox "0 0 512 512"
, SvgAttr.fill "currentColor"
]
, svg =
[ path
[ SvgAttr.d "M323.8 34.8c-38.2-10.9-78.1 11.2-89 49.4l-5.7 20c-3.7 13-10.4 25-19.5 35l-51.3 56.4c-8.9 9.8-8.2 25 1.6 33.9s25 8.2 33.9-1.6l51.3-56.4c14.1-15.5 24.4-34 30.1-54.1l5.7-20c3.6-12.7 16.9-20.1 29.7-16.5s20.1 16.9 16.5 29.7l-5.7 20c-5.7 19.9-14.7 38.7-26.6 55.5c-5.2 7.3-5.8 16.9-1.7 24.9s12.3 13 21.3 13L448 224c8.8 0 16 7.2 16 16c0 6.8-4.3 12.7-10.4 15c-7.4 2.8-13 9-14.9 16.7s.1 15.8 5.3 21.7c2.5 2.8 4 6.5 4 10.6c0 7.8-5.6 14.3-13 15.7c-8.2 1.6-15.1 7.3-18 15.2s-1.6 16.7 3.6 23.3c2.1 2.7 3.4 6.1 3.4 9.9c0 6.7-4.2 12.6-10.2 14.9c-11.5 4.5-17.7 16.9-14.4 28.8c.4 1.3 .6 2.8 .6 4.3c0 8.8-7.2 16-16 16l-97.5 0c-12.6 0-25-3.7-35.5-10.7l-61.7-41.1c-11-7.4-25.9-4.4-33.3 6.7s-4.4 25.9 6.7 33.3l61.7 41.1c18.4 12.3 40 18.8 62.1 18.8l97.5 0c34.7 0 62.9-27.6 64-62c14.6-11.7 24-29.7 24-50c0-4.5-.5-8.8-1.3-13c15.4-11.7 25.3-30.2 25.3-51c0-6.5-1-12.8-2.8-18.7C504.8 273.7 512 257.7 512 240c0-35.3-28.6-64-64-64l-92.3 0c4.7-10.4 8.7-21.2 11.8-32.2l5.7-20c10.9-38.2-11.2-78.1-49.4-89zM32 192c-17.7 0-32 14.3-32 32L0 448c0 17.7 14.3 32 32 32l64 0c17.7 0 32-14.3 32-32l0-224c0-17.7-14.3-32-32-32l-64 0z"
]
[]
]
}
thumbsDown : SvgTypes.OuterPart msg -> Element msg
thumbsDown inner =
HeSvg.buildSvg inner

View file

@ -2,6 +2,7 @@ module Config.Style.Images exposing
( imageSizer
, imageSquareMaker
, roundingScaler
, ElementSize(..)
)
import Config.Data.ImageFolders
@ -37,7 +38,7 @@ import Element.Border as D
)
imageSquareMaker : Device -> String -> Bool -> String -> Element msg
imageSquareMaker : Device -> String -> Bool -> ElementSize -> Element msg
imageSquareMaker device imagePath isLeft size =
E.image
[ D.rounded (roundingScaler size)
@ -55,46 +56,40 @@ imageSquareMaker device imagePath isLeft size =
}
imageSizer : String -> Length
imageSizer : ElementSize -> Length
imageSizer size =
case size of
"Fill" ->
Fill ->
fill
"Fatty" ->
Big ->
px 128
"Big" ->
Medium ->
px 65
"Small" ->
px 28
_ ->
Small ->
px 20
roundingScaler : String -> Int
roundingScaler : ElementSize -> Int
roundingScaler size =
case size of
"Fill" ->
Fill ->
32
"Fatty" ->
Big ->
32
-- 128px
"Big" ->
Medium ->
10
-- 65px
"Small" ->
10
-- 28px
_ ->
Small ->
10
-- 20px default
type ElementSize
= Fill
| Big
| Medium
| Small

View file

@ -2,7 +2,7 @@ module Effect exposing
( Effect
, none, batch
, sendCmd, sendMsg
, clearUser, saveUser, signIn, signOut, toggleLanguage, toggleNavbarExpansion
, clearUser, saveUser, signIn, signOut, toggleLanguage,togglePopUp, toggleNavbarExpansion
, pushRoute, replaceRoute, loadExternalUrl
, map, toCmd
)
@ -214,6 +214,11 @@ toggleNavbarExpansion =
SendSharedMsg Shared.Msg.ToggleNavbarExpansion
togglePopUp : Effect msg
togglePopUp =
SendSharedMsg Shared.Msg.TogglePopUp
toggleLanguage : Effect msg
toggleLanguage =
SendSharedMsg Shared.Msg.ToggleLanguage

View file

@ -1,7 +1,11 @@
module Pages.Blog exposing (Model, Msg, page)
import Config.Data.Identity exposing (pageNames)
import Config.Data.ImageFolders as M exposing (ImageFolder(..), imagePathMaker)
import Config.Data.ImageFolders as M
exposing
( ImageFolder(..)
, imagePathMaker
)
import Config.Helpers.Articles.Article exposing (extractFirstWords)
import Config.Helpers.Articles.Markdown exposing (renderDeviceMarkdownNoToc)
import Config.Helpers.Cards.Inner.Text
@ -45,7 +49,11 @@ import Config.Style.Fonts
, paragraphSpacing
)
import Config.Style.Icons.Icons exposing (construction)
import Config.Style.Images exposing (imageSquareMaker)
import Config.Style.Images
exposing
( ElementSize(..)
, imageSquareMaker
)
import Effect exposing (Effect)
import Element as E
exposing
@ -198,7 +206,7 @@ articleImage article =
articleMaker : Device -> BlogArticle -> Element msg
articleMaker device article =
let
image : String -> Element msg
image : ElementSize -> Element msg
image size =
el
[ alignLeft
@ -223,7 +231,7 @@ articleMaker device article =
none
_ ->
image "Fatty"
image Big
, detailFormat column
(articleRows article ++ [])
]

View file

@ -35,7 +35,11 @@ import Config.Style.Colour.Helpers
( ThemeColor(..)
, colourTheme
)
import Config.Style.Images exposing (imageSquareMaker)
import Config.Style.Images
exposing
( ElementSize(..)
, imageSquareMaker
)
import Effect exposing (Effect)
import Element as E
exposing
@ -163,7 +167,7 @@ contentList device contact =
descriptionMaker : Device -> Contact -> Element msg
descriptionMaker device contact =
let
image : String -> Element msg
image : ElementSize -> Element msg
image size =
el
[ alignLeft
@ -186,7 +190,7 @@ descriptionMaker device contact =
none
_ ->
image "Fatty"
image Big
, detailFormat column
[ detailBodyMaker TextLightGrey
(text contact.contactDescription)

View file

@ -45,7 +45,11 @@ import Config.Style.Colour.Helpers as T
( ThemeColor(..)
, colourTheme
)
import Config.Style.Images exposing (imageSquareMaker)
import Config.Style.Images
exposing
( ElementSize(..)
, imageSquareMaker
)
import Effect exposing (Effect)
import Element as E
exposing
@ -175,7 +179,7 @@ contentList device debate =
descriptionMaker : Device -> Debate -> Element msg
descriptionMaker device debate =
let
image : String -> Element msg
image : ElementSize -> Element msg
image size =
el
[ alignLeft
@ -198,7 +202,7 @@ descriptionMaker device debate =
none
_ ->
image "Fatty"
image Big
, detailFormat column
[ inferenceMaker debate
, detailBodyMaker TextLightGrey

View file

@ -53,7 +53,11 @@ import Config.Style.Icons.Types as TySvg
( InnerPart
, OuterPart
)
import Config.Style.Images exposing (imageSquareMaker)
import Config.Style.Images
exposing
( ElementSize(..)
, imageSquareMaker
)
import Config.Style.Transitions exposing (transitionStyleSlow)
import Effect exposing (Effect)
import Element as E
@ -250,7 +254,7 @@ debateList shared model =
contentList : Shared.Model -> Model -> Bool -> Int -> Argument -> List (Element Msg)
contentList shared model isLinkClicked index argument =
let
image : String -> Element msg
image : ElementSize -> Element msg
image size =
el
[ alignLeft
@ -293,7 +297,7 @@ contentList shared model isLinkClicked index argument =
none
_ ->
image "Big"
image Medium
, el ([ height fill ] ++ bodyFormat TextLightGrey) <| text argument.propositionSummary
]
, detailFormat row
@ -318,7 +322,12 @@ copyButton shared model isLinkClicked index argument =
Input.button
[ focused
[ D.color (rgba 0 0 0 0)
, D.shadow { blur = 0, color = rgba 0 0 0 0, offset = ( 0, 0 ), size = 0 }
, D.shadow
{ blur = 0
, color = rgba 0 0 0 0
, offset = ( 0, 0 )
, size = 0
}
]
]
{ onPress = Just (CopyText ("https://uprootnutrition.com" ++ Path.toString Path.Debate_Arguments ++ "#" ++ argument.argumentImage) index)

View file

@ -51,7 +51,7 @@ import Config.Style.Icons.Types as TySvg
( InnerPart
, OuterPart
)
import Config.Style.Images exposing (imageSquareMaker)
import Config.Style.Images exposing (ElementSize(..), imageSquareMaker)
import Config.Style.Transitions
exposing
( hoverFontDarkOrange
@ -240,7 +240,7 @@ cucksList shared model =
contentList : Shared.Model -> Model -> Bool -> Int -> Cuck -> List (Element Msg)
contentList shared model isLinkClicked index cuck =
let
image : String -> Element msg
image : ElementSize -> Element msg
image size =
el
[ alignRight
@ -264,7 +264,7 @@ contentList shared model isLinkClicked index cuck =
none
_ ->
image "Fatty"
image Big
, detailFormat column
[ socialMaker cuck
, dodgeTitle cuck

View file

@ -45,7 +45,7 @@ import Config.Style.Fonts
( defaultFontSize
, paragraphSpacing
)
import Config.Style.Images exposing (imageSquareMaker)
import Config.Style.Images exposing (ElementSize(..), imageSquareMaker)
import Effect exposing (Effect)
import Element as E
exposing
@ -189,7 +189,7 @@ gibberishList shared =
contentList : Shared.Model -> Gibberish -> List (Element msg)
contentList shared gibberish =
let
image : String -> Element msg
image : ElementSize -> Element msg
image size =
el
[ E.alignLeft
@ -217,7 +217,7 @@ contentList shared gibberish =
none
_ ->
image "Big"
image Medium
, text gibberish.gibberishDescription
]
, gibberishMakerBody shared gibberish

View file

@ -53,7 +53,11 @@ import Config.Style.Colour.Helpers as T
( ThemeColor(..)
, getThemeColor
)
import Config.Style.Images exposing (imageSquareMaker)
import Config.Style.Images
exposing
( ElementSize(..)
, imageSquareMaker
)
import Effect exposing (Effect)
import Element as E
exposing
@ -202,7 +206,7 @@ donateList shared =
contentList : Shared.Model -> Donate -> List (Element msg)
contentList shared donate =
let
image : String -> Element msg
image : ElementSize -> Element msg
image size =
el
[ alignLeft
@ -218,7 +222,7 @@ contentList shared donate =
imageSquareMaker shared.device (imagePathMaker M.Donate donate.donateImage) True size
in
[ detailFormat row
[ image "Fatty"
[ image Big
, detailFormat column
[ feeMaker donate
, preferenceMaker shared donate

View file

@ -60,7 +60,11 @@ import Config.Style.Colour.Helpers
( ThemeColor(..)
, colourTheme
)
import Config.Style.Images exposing (imageSquareMaker)
import Config.Style.Images
exposing
( ElementSize(..)
, imageSquareMaker
)
import Effect exposing (Effect)
import Element as E
exposing
@ -194,7 +198,7 @@ interviewList shared =
contentList : Shared.Model -> Interview -> List (Element msg)
contentList shared interview =
let
image : String -> Element msg
image : ElementSize -> Element msg
image size =
el
[ alignLeft
@ -219,7 +223,7 @@ contentList shared interview =
none
_ ->
image "Fatty"
image Big
in
[ detailFormat row
[ imageMaker

View file

@ -1,5 +1,6 @@
module Pages.Nutridex exposing (Model, Msg, page)
import Browser.Events exposing (onClick)
import Config.Data.Identity exposing (pageNames)
import Config.Helpers.Articles.Article exposing (makeReference)
import Config.Helpers.Articles.Types exposing (References)
@ -11,6 +12,7 @@ import Config.Helpers.Cards.Inner.Text
, detailHeader
, detailTitleMaker
, divider
, getHoverColours
)
import Config.Helpers.Cards.Outer.Helpers exposing (cardMaker)
import Config.Helpers.Cards.Outer.Types as C exposing (Cardable(..))
@ -29,6 +31,7 @@ import Config.Style.Colour.Helpers
exposing
( ThemeColor(..)
, colourTheme
, getThemeColor
)
import Config.Style.Fonts
exposing
@ -37,39 +40,69 @@ import Config.Style.Fonts
, paragraphSpacing
, smallTextFontSize
)
import Config.Style.Icons.Icons exposing (nutriDexLogo)
import Config.Style.Icons.Icons
exposing
( nutriDex
, nutriDexLogo
, thumbsUp
)
import Config.Style.Icons.Types as TySvg
exposing
( InnerPart
, OuterPart
)
import Config.Style.Transitions
exposing
( hoverFontDarkOrange
, transitionStyleFast
, transitionStyleMedium
, transitionStyleSlow
)
import Effect exposing (Effect)
import Element as E
exposing
( Attr
, Attribute
, Device
, DeviceClass(..)
, Element
, Orientation(..)
, alignLeft
, alignRight
, alignTop
, below
, centerX
, centerY
, column
, el
, fill
, focused
, height
, html
, htmlAttribute
, inFront
, mouseOver
, newTabLink
, none
, padding
, paddingEach
, paddingXY
, paragraph
, pointer
, px
, rgba
, row
, spacing
, text
, transparent
, width
)
import Element.Background as B exposing (color)
import Element.Border as D
exposing
( color
, rounded
, shadow
, width
)
import Element.Font as F
@ -78,17 +111,21 @@ import Element.Font as F
, center
, color
)
import Element.Input as Input
import Html.Attributes exposing (style)
import Html.Events as H exposing (onClick)
import Layouts
import Page exposing (Page)
import Route exposing (Route)
import Shared exposing (Model)
import Svg.Attributes as SvgAttr
import View exposing (View)
page : Shared.Model -> Route () -> Page Model Msg
page shared route =
Page.new
{ init = init
{ init = init shared
, update = update
, subscriptions = subscriptions
, view = view shared
@ -106,12 +143,12 @@ toLayout model =
type alias Model =
{}
{ isPopUpClicked : Bool }
init : () -> ( Model, Effect Msg )
init () =
( {}
init : Shared.Model -> () -> ( Model, Effect Msg )
init shared () =
( { isPopUpClicked = shared.isPopUpClicked }
, Effect.map
(\_ -> NoOp)
(Effect.sendCmd resetViewport)
@ -124,6 +161,7 @@ init () =
type Msg
= NoOp
| TogglePopUp
update : Msg -> Model -> ( Model, Effect Msg )
@ -134,6 +172,11 @@ update msg model =
, Effect.none
)
TogglePopUp ->
( { model | isPopUpClicked = not model.isPopUpClicked }
, Effect.togglePopUp
)
-- SUBSCRIPTIONS
@ -152,25 +195,25 @@ view : Shared.Model -> Model -> View Msg
view shared model =
{ title = pageNames.pageNutriDex
, attributes = []
, element = nutriDexContainer shared.device
, element = nutriDexContainer shared model
}
nutriDexContainer : Device -> Element msg
nutriDexContainer device =
topLevelContainer (nutriDexList device)
nutriDexContainer : Shared.Model -> Model -> Element Msg
nutriDexContainer shared model =
topLevelContainer (nutriDexList shared model)
nutriDexList : Device -> Element msg
nutriDexList device =
nutriDexList : Shared.Model -> Model -> Element Msg
nutriDexList shared model =
column
(case ( device.class, device.orientation ) of
(case ( shared.device.class, shared.device.orientation ) of
_ ->
pageList device
pageList shared.device
)
<|
List.concat
[ case ( device.class, device.orientation ) of
[ case ( shared.device.class, shared.device.orientation ) of
( Phone, Portrait ) ->
[ headerMaker (R.NutriDex nutriDexHeader) ]
@ -181,24 +224,26 @@ nutriDexList device =
[ none ]
, List.map
(\nutriDex ->
cardMaker device (C.NutriDex nutriDex) (contentList device nutriDex)
cardMaker shared.device (C.NutriDex nutriDex) (contentList shared nutriDex shared.isPopUpClicked)
)
[ productNutriDex ]
[ productNutriDex
]
]
contentList : Device -> NutriDex -> List (Element msg)
contentList device nutridex =
[ featureList nutridex device
, nutriDexBodyMaker device
, nutriDexAdjustments device
contentList : Shared.Model -> NutriDex -> Bool -> List (Element Msg)
contentList shared nutridex isPopUpClicked =
[ featureList nutridex shared.device
, nutriDexBodyMaker shared.device
, nutriDexAdjustments shared.device
, column [ spacing 10 ]
[ nutriDexVitamins
, nutriDexFattyAcids
, nutriDexMinerals
, nutriDexAminoAcids
]
, nutriDexReferences nutridex device
, nutriDexReferences nutridex shared.device
, el [ inFront (popUp shared isPopUpClicked), E.width fill, height fill ] <| none
]
@ -228,7 +273,7 @@ featureList : NutriDex -> Device -> Element msg
featureList nutridex device =
column
[ spacing 8
, width fill
, E.width fill
, height fill
, paddingEach
{ top = 10
@ -253,7 +298,7 @@ featureList nutridex device =
_ ->
row
[ spacing 20
, width fill
, E.width fill
, height fill
]
)
@ -282,7 +327,7 @@ featureList nutridex device =
]
[ html nutriDexLogo
]
, buyButton "$20" "https://uprootnutrition.myshopify.com/cart/31192710807615:1?channel=buy_button"
, buyButton "$20" "https://buy.stripe.com/fZecO177p34M5EY5ko"
, column
[ centerX ]
[ column
@ -302,7 +347,7 @@ featureList nutridex device =
]
]
]
, column [ width fill, smallTextFontSize, spacing 3 ] <|
, column [ E.width fill, smallTextFontSize, spacing 3 ] <|
List.map2 (\x y -> makeFeature x)
nutridex.nutriDexFeatures
(List.range 1 (List.length nutridex.nutriDexFeatures))
@ -381,7 +426,7 @@ referenceFormat =
nutriDexAdjustments : Device -> Element msg
nutriDexAdjustments device =
column
[ width fill
[ E.width fill
, height fill
, spacing 20
]
@ -443,7 +488,7 @@ nutriDexVitamins : Element msg
nutriDexVitamins =
column
[ spacing 20
, width fill
, E.width fill
, height fill
]
[ nutridexSubTitleMaker "Vitamins"
@ -544,7 +589,7 @@ nutriDexFattyAcids : Element msg
nutriDexFattyAcids =
column
[ spacing 20
, width fill
, E.width fill
, height fill
]
[ nutridexSubTitleMaker "Fatty Acids"
@ -684,12 +729,12 @@ nutriDexAminoAcids =
nutriDexReferences : NutriDex -> Device -> Element msg
nutriDexReferences nutridex device =
column
[ width fill
[ E.width fill
, height fill
]
[ detailHeader "BIBLIOGRAPHY"
, column
[ width fill
[ E.width fill
, F.size 15
, spacing 10
, paddingEach
@ -704,3 +749,101 @@ nutriDexReferences nutridex device =
nutridex.nutriDexReference
(List.range 1 (List.length nutridex.nutriDexReference))
]
popUp : Shared.Model -> Bool -> Element Msg
popUp shared isPopUpClicked =
let
popUpBox : List (Attribute msg)
popUpBox =
[ E.width fill
, htmlAttribute (style "position" "fixed")
, htmlAttribute (style "top" "0")
, htmlAttribute (style "left" "0")
, htmlAttribute (style "height" "100vh")
, htmlAttribute (style "z-index" "9999")
, htmlAttribute (style "display" "flex")
, htmlAttribute (style "align-items" "center")
, htmlAttribute (style "justify-content" "center")
, B.color (rgba 0 0 0 0.5)
, transitionStyleFast
]
in
el
(popUpBox
++ (if isPopUpClicked then
[ htmlAttribute (style "opacity" "0")
, htmlAttribute (style "pointer-events" "none")
, htmlAttribute (style "visibility" "hidden")
]
else
[ htmlAttribute (style "opacity" "1")
, htmlAttribute (style "pointer-events" "auto")
, htmlAttribute (style "visibility" "visible")
]
)
)
<|
column
[ centerX
, centerY
, padding 15
, B.color colourTheme.backgroundLightGrey
, F.color (getThemeColor TextLightGrey)
, D.color colourTheme.textLightOrange
, E.width <|
case ( shared.device.class, shared.device.orientation ) of
( Phone, Portrait ) ->
px 300
( Tablet, Portrait ) ->
px 300
_ ->
px 500
, htmlAttribute (style "max-height" "100vh")
, htmlAttribute (style "overflow-y" "auto")
, D.rounded 5
, D.width 2
, D.shadow
{ offset = ( 0, 3 )
, blur = 6
, size = 0
, color = rgba 0 0 0 0.32
}
, spacing 15
]
[ el
[ centerX
, E.width <| px 100
]
<|
html nutriDexLogo
, paragraph [ F.center ] [ text "All of the revenue from every purchase of the nutriDex will directly support the development of the nutriDex web-app! Plus, as a special thank you, all customers who purchase the nutriDex after January 1st, 2025 and before the web-app is released will receive a free six-month subscription to the nutriDex web app!" ]
, Input.button
[ centerX
, focused
[ D.color (rgba 0 0 0 0)
, D.shadow
{ blur = 0
, color = rgba 0 0 0 0
, offset = ( 0, 0 )
, size = 0
}
]
]
{ onPress = Just TogglePopUp
, label =
el [] <|
thumbsUp
{ elementAttributes =
[ pointer
, F.color (getThemeColor TextLightOrange)
]
++ getHoverColours TextLightOrange
, sharedModel = shared
, svgAttributes = [ SvgAttr.width "40" ]
}
}
]

View file

@ -41,7 +41,11 @@ import Config.Style.Colour.Helpers as T
( ThemeColor(..)
, getThemeColor
)
import Config.Style.Images exposing (imageSquareMaker)
import Config.Style.Images
exposing
( ElementSize(..)
, imageSquareMaker
)
import Effect exposing (Effect)
import Element as E
exposing
@ -169,7 +173,7 @@ servicesList device =
contentList : Device -> Service -> List (Element msg)
contentList device service =
let
image : String -> Element msg
image : ElementSize -> Element msg
image size =
el
[ alignLeft
@ -192,7 +196,7 @@ contentList device service =
none
_ ->
image "Fatty"
image Big
, detailFormat column
[ rateMaker service
, descriptionMaker

View file

@ -81,6 +81,7 @@ modelFromFlagsResult f =
, language = TyLang.English
, user = Just { token = "asht", name = "billy" }
, width = flags.width
, isPopUpClicked = False
}
Err e ->
@ -94,6 +95,7 @@ modelFromFlagsResult f =
, language = TyLang.English
, user = Nothing
, width = 10
, isPopUpClicked = False
}
@ -126,6 +128,11 @@ update route msg model =
, Effect.none
)
Shared.Msg.TogglePopUp ->
( { model | isPopUpClicked = not model.isPopUpClicked }
, Effect.none
)
Shared.Msg.SignIn user ->
( { model | user = Just user }
, Effect.batch

View file

@ -11,6 +11,7 @@ type alias Model =
, language : TyLang.Language
, isNavbarExpanded : Bool
, user : Maybe User
, isPopUpClicked : Bool
}

View file

@ -19,3 +19,4 @@ type Msg
| SignOut
| ToggleLanguage
| ToggleNavbarExpansion
| TogglePopUp