mirror of
https://gitlab.com/upRootNutrition/website.git
synced 2025-08-10 04:14:38 -05:00
feat: still need to remake headers
This commit is contained in:
parent
4686c14667
commit
f9af0e1941
209 changed files with 1057 additions and 953 deletions
|
@ -2,7 +2,8 @@ module Pages.Blog exposing (Model, Msg, page)
|
|||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Articles.Article exposing (extractFirstWords)
|
||||
import Config.Helpers.CardFormat exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Converters
|
||||
exposing
|
||||
( formatName
|
||||
|
@ -14,7 +15,7 @@ import Config.Helpers.Format
|
|||
, paragraphFontSize
|
||||
, paragraphSpacing
|
||||
)
|
||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||
import Config.Helpers.Headers.Header exposing (..)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Markdown
|
||||
exposing
|
||||
|
@ -140,11 +141,15 @@ blogList device =
|
|||
)
|
||||
<|
|
||||
List.concat
|
||||
[ List.map (headerMaker device) [ blogHeader ] -- Pass the device to
|
||||
, (case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
List.map (blogMaker device)
|
||||
)
|
||||
[ -- List.map (headerMaker device)
|
||||
-- [
|
||||
-- servicesHeader
|
||||
-- ]
|
||||
-- ,
|
||||
List.map
|
||||
(\article ->
|
||||
cardMaker device (C.BlogCard article) (contentList article)
|
||||
)
|
||||
[ articleShenanigans
|
||||
, articleSweetDeception
|
||||
, articleEverettVegans
|
||||
|
@ -167,17 +172,10 @@ blogHeader =
|
|||
"Blog"
|
||||
in
|
||||
{ headerTitle = String.toUpper name
|
||||
, hasImage = False
|
||||
, hasLink = False
|
||||
, headerBody = "This page features blog articles written by me, along with contributions from guest authors, covering topics primarily related to nutrition science, health science, and article."
|
||||
}
|
||||
|
||||
|
||||
blogMaker : Device -> BlogArticle -> Element msg
|
||||
blogMaker device article =
|
||||
cardMaker device article.articleName (contentList article) (articleImage article) article.articleLink
|
||||
|
||||
|
||||
contentList : BlogArticle -> List (Element msg)
|
||||
contentList article =
|
||||
[ articleMaker article ]
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
module Pages.Blog.Bigfatsurprise exposing (Model, Msg, page)
|
||||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Articles.Article exposing (articleMaker)
|
||||
import Config.Helpers.Articles.Article exposing (contentList)
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
@ -104,9 +106,14 @@ articleList device =
|
|||
)
|
||||
<|
|
||||
List.concat
|
||||
[ (case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
List.map (articleMaker device)
|
||||
)
|
||||
[ -- List.map (headerMaker device)
|
||||
-- [
|
||||
-- servicesHeader
|
||||
-- ]
|
||||
-- ,
|
||||
List.map
|
||||
(\article ->
|
||||
cardMaker device (C.BlogArticle article) (contentList article)
|
||||
)
|
||||
[ articleBigFatSurprise ]
|
||||
]
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
module Pages.Blog.Everettvegans exposing (Model, Msg, page)
|
||||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Articles.Article exposing (articleMaker)
|
||||
import Config.Helpers.Articles.Article exposing (contentList)
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
@ -104,9 +106,14 @@ articleList device =
|
|||
)
|
||||
<|
|
||||
List.concat
|
||||
[ (case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
List.map (articleMaker device)
|
||||
)
|
||||
[ -- List.map (headerMaker device)
|
||||
-- [
|
||||
-- servicesHeader
|
||||
-- ]
|
||||
-- ,
|
||||
List.map
|
||||
(\article ->
|
||||
cardMaker device (C.BlogArticle article) (contentList article)
|
||||
)
|
||||
[ articleEverettVegans ]
|
||||
]
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
module Pages.Blog.Huntergatherers exposing (Model, Msg, page)
|
||||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Articles.Article exposing (articleMaker)
|
||||
|
||||
import Config.Helpers.Articles.Article exposing (contentList)
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
@ -105,9 +106,14 @@ articleList device =
|
|||
)
|
||||
<|
|
||||
List.concat
|
||||
[ (case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
List.map (articleMaker device)
|
||||
)
|
||||
[ -- List.map (headerMaker device)
|
||||
-- [
|
||||
-- servicesHeader
|
||||
-- ]
|
||||
-- ,
|
||||
List.map
|
||||
(\article ->
|
||||
cardMaker device (C.BlogArticle article) (contentList article)
|
||||
)
|
||||
[ articleHunterGatherers ]
|
||||
]
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
module Pages.Blog.Meatapologetics exposing (Model, Msg, page)
|
||||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Articles.Article exposing (articleMaker)
|
||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||
import Config.Helpers.Articles.Article exposing (contentList)
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
@ -105,9 +106,14 @@ articleList device =
|
|||
)
|
||||
<|
|
||||
List.concat
|
||||
[ (case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
List.map (articleMaker device)
|
||||
)
|
||||
[ -- List.map (headerMaker device)
|
||||
-- [
|
||||
-- servicesHeader
|
||||
-- ]
|
||||
-- ,
|
||||
List.map
|
||||
(\article ->
|
||||
cardMaker device (C.BlogArticle article) (contentList article)
|
||||
)
|
||||
[ articleMeatApologetics ]
|
||||
]
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
module Pages.Blog.Nagragoodrich exposing (Model, Msg, page)
|
||||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Articles.Article exposing (articleMaker)
|
||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||
import Config.Helpers.Articles.Article exposing (contentList)
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
@ -105,9 +106,14 @@ articleList device =
|
|||
)
|
||||
<|
|
||||
List.concat
|
||||
[ (case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
List.map (articleMaker device)
|
||||
)
|
||||
[ -- List.map (headerMaker device)
|
||||
-- [
|
||||
-- servicesHeader
|
||||
-- ]
|
||||
-- ,
|
||||
List.map
|
||||
(\article ->
|
||||
cardMaker device (C.BlogArticle article) (contentList article)
|
||||
)
|
||||
[ articleNagraGoodrich ]
|
||||
]
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
module Pages.Blog.Plantbasedmeta exposing (Model, Msg, page)
|
||||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Articles.Article exposing (articleMaker)
|
||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||
import Config.Helpers.Articles.Article exposing (contentList)
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
@ -105,9 +106,14 @@ articleList device =
|
|||
)
|
||||
<|
|
||||
List.concat
|
||||
[ (case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
List.map (articleMaker device)
|
||||
)
|
||||
[ -- List.map (headerMaker device)
|
||||
-- [
|
||||
-- servicesHeader
|
||||
-- ]
|
||||
-- ,
|
||||
List.map
|
||||
(\article ->
|
||||
cardMaker device (C.BlogArticle article) (contentList article)
|
||||
)
|
||||
[ articlePlantBasedMeta ]
|
||||
]
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
module Pages.Blog.Quacksmashing exposing (Model, Msg, page)
|
||||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Articles.Article exposing (articleMaker)
|
||||
|
||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||
import Config.Helpers.Articles.Article exposing (contentList)
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
@ -106,9 +106,14 @@ articleList device =
|
|||
)
|
||||
<|
|
||||
List.concat
|
||||
[ (case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
List.map (articleMaker device)
|
||||
)
|
||||
[ -- List.map (headerMaker device)
|
||||
-- [
|
||||
-- servicesHeader
|
||||
-- ]
|
||||
-- ,
|
||||
List.map
|
||||
(\article ->
|
||||
cardMaker device (C.BlogArticle article) (contentList article)
|
||||
)
|
||||
[ articleQuackSmashing ]
|
||||
]
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
module Pages.Blog.Sapiendiet exposing (Model, Msg, page)
|
||||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Articles.Article exposing (articleMaker)
|
||||
|
||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||
import Config.Helpers.Articles.Article exposing (contentList)
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
@ -106,9 +106,14 @@ articleList device =
|
|||
)
|
||||
<|
|
||||
List.concat
|
||||
[ (case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
List.map (articleMaker device)
|
||||
)
|
||||
[ -- List.map (headerMaker device)
|
||||
-- [
|
||||
-- servicesHeader
|
||||
-- ]
|
||||
-- ,
|
||||
List.map
|
||||
(\article ->
|
||||
cardMaker device (C.BlogArticle article) (contentList article)
|
||||
)
|
||||
[ articleSapienDiet ]
|
||||
]
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
module Pages.Blog.Seedoils exposing (Model, Msg, page)
|
||||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Articles.Article exposing (articleMaker)
|
||||
|
||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||
import Config.Helpers.Articles.Article exposing (contentList)
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
@ -106,9 +106,14 @@ articleList device =
|
|||
)
|
||||
<|
|
||||
List.concat
|
||||
[ (case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
List.map (articleMaker device)
|
||||
)
|
||||
[ -- List.map (headerMaker device)
|
||||
-- [
|
||||
-- servicesHeader
|
||||
-- ]
|
||||
-- ,
|
||||
List.map
|
||||
(\article ->
|
||||
cardMaker device (C.BlogArticle article) (contentList article)
|
||||
)
|
||||
[ articleSeedOils ]
|
||||
]
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
module Pages.Blog.Shenanigans exposing (Model, Msg, page)
|
||||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Articles.Article exposing (articleMaker)
|
||||
|
||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||
import Config.Helpers.Articles.Article exposing (contentList)
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
@ -106,9 +106,14 @@ articleList device =
|
|||
)
|
||||
<|
|
||||
List.concat
|
||||
[ (case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
List.map (articleMaker device)
|
||||
)
|
||||
[ -- List.map (headerMaker device)
|
||||
-- [
|
||||
-- servicesHeader
|
||||
-- ]
|
||||
-- ,
|
||||
List.map
|
||||
(\article ->
|
||||
cardMaker device (C.BlogArticle article) (contentList article)
|
||||
)
|
||||
[ articleShenanigans ]
|
||||
]
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
module Pages.Blog.Sweetdeception exposing (Model, Msg, page)
|
||||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Articles.Article exposing (articleMaker)
|
||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||
import Config.Helpers.Articles.Article exposing (contentList)
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
@ -105,9 +106,14 @@ articleList device =
|
|||
)
|
||||
<|
|
||||
List.concat
|
||||
[ (case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
List.map (articleMaker device)
|
||||
)
|
||||
[ -- List.map (headerMaker device)
|
||||
-- [
|
||||
-- servicesHeader
|
||||
-- ]
|
||||
-- ,
|
||||
List.map
|
||||
(\article ->
|
||||
cardMaker device (C.BlogArticle article) (contentList article)
|
||||
)
|
||||
[ articleSweetDeception ]
|
||||
]
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
module Pages.Contact exposing (Model, Msg, page)
|
||||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.CardFormat exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Format exposing (..)
|
||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||
import Config.Helpers.Headers.Header exposing (..)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
@ -123,19 +124,19 @@ contactList device =
|
|||
)
|
||||
<|
|
||||
List.concat
|
||||
[ (case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
List.map (contactMaker device)
|
||||
)
|
||||
[ -- List.map (headerMaker device)
|
||||
-- [
|
||||
-- servicesHeader
|
||||
-- ]
|
||||
-- ,
|
||||
List.map
|
||||
(\contact ->
|
||||
cardMaker device (C.Contact contact) (contentList contact)
|
||||
)
|
||||
[]
|
||||
]
|
||||
|
||||
|
||||
contactMaker : Device -> Contact -> Element msg
|
||||
contactMaker device contact =
|
||||
cardMaker device contact.contactName (contentList contact) { description = "", src = "" } contact.contactLink
|
||||
|
||||
|
||||
contentList : Contact -> List (Element msg)
|
||||
contentList contact =
|
||||
[ instructionBody ]
|
||||
|
|
|
@ -11,7 +11,8 @@ import Config.Data.Identity
|
|||
exposing
|
||||
( pageNames
|
||||
)
|
||||
import Config.Helpers.CardFormat exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Converters exposing (formatName)
|
||||
import Config.Helpers.Format
|
||||
exposing
|
||||
|
@ -19,7 +20,7 @@ import Config.Helpers.Format
|
|||
, paragraphFontSize
|
||||
, paragraphSpacing
|
||||
)
|
||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||
import Config.Helpers.Headers.Header exposing (..)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
@ -141,12 +142,15 @@ debateList device =
|
|||
)
|
||||
<|
|
||||
List.concat
|
||||
[ List.map (headerMaker device)
|
||||
[ debateHeader ]
|
||||
, (case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
List.map (debateMaker device)
|
||||
)
|
||||
[ -- List.map (headerMaker device)
|
||||
-- [
|
||||
-- servicesHeader
|
||||
-- ]
|
||||
-- ,
|
||||
List.map
|
||||
(\debate ->
|
||||
cardMaker device (C.Debate debate) (contentList debate)
|
||||
)
|
||||
[ debateArguments
|
||||
, debateCuckList
|
||||
, debateGibberish
|
||||
|
@ -161,17 +165,10 @@ debateHeader =
|
|||
"Debate"
|
||||
in
|
||||
{ headerTitle = String.toUpper name
|
||||
, hasImage = False
|
||||
, hasLink = False
|
||||
, headerBody = "Here you will find links to various pages relevant to debate, such as formal arguments, a list of debate-dodging cucks, and an inventory of nonsensical terminology."
|
||||
}
|
||||
|
||||
|
||||
debateMaker : Device -> Debate -> Element msg
|
||||
debateMaker device debate =
|
||||
cardMaker device debate.debateTitle (contentList debate) (debateImage debate) debate.debateLink
|
||||
|
||||
|
||||
contentList : Debate -> List (Element msg)
|
||||
contentList debate =
|
||||
[ descriptionMaker debate ]
|
||||
|
@ -240,8 +237,6 @@ debateArguments =
|
|||
, debateLink = Path.toString Path.Debate_Arguments
|
||||
, debateCount = List.length argumentList
|
||||
, debateImage = formatName name
|
||||
, hasLink = True
|
||||
, hasImage = True
|
||||
, isNewTabLink = False
|
||||
, debateDescription = "This page features arguments that I hold to be sound, though with varying degrees of confidence. I'm open to hearing all challenges, as I am ready to engage with any substantive critiques and defend any argument listed. I have additionally included a confidence meter with each argument to give readers a clearer understanding of how strongly I hold to the argument."
|
||||
}
|
||||
|
@ -257,8 +252,6 @@ debateCuckList =
|
|||
, debateLink = Path.toString Path.Debate_Cucklist
|
||||
, debateCount = List.length cuckList
|
||||
, debateImage = formatName name
|
||||
, hasLink = True
|
||||
, hasImage = True
|
||||
, isNewTabLink = False
|
||||
, debateDescription = "This page features a list of complete fucking morons who wrote cheques with their mouths that their asses ultimately couldn't cash. Each person included in this list has dodged debating me in some way, shape, or form. Whether it's simply ignoring invitations, or outright refusing to engage, or agreeing to debate and then subsequently withdrawing. All such instances are catalogued here."
|
||||
}
|
||||
|
@ -274,8 +267,6 @@ debateGibberish =
|
|||
, debateLink = Path.toString Path.Debate_Gibberish
|
||||
, debateCount = List.length gibberishList
|
||||
, debateImage = formatName name
|
||||
, hasLink = True
|
||||
, hasImage = True
|
||||
, isNewTabLink = False
|
||||
, debateDescription = "This page is specifically for terms and ostensible concepts that I don't have a good reason to believe are understandable from at least one viewpoint. If the clarification of a philosophical term is unsatisfying or unsuccessful, and my interlocutor has exhausted all means of rendering the concept to me, the term ends up here until someone explains to me what the fuck it even means."
|
||||
}
|
||||
|
|
|
@ -1,14 +1,15 @@
|
|||
module Pages.Debate.Arguments exposing (Model, Msg, page)
|
||||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.CardFormat exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Converters exposing (toTitleCase)
|
||||
import Config.Helpers.Format
|
||||
exposing
|
||||
( paragraphFontSize
|
||||
, paragraphSpacing
|
||||
)
|
||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||
import Config.Helpers.Headers.Header exposing (..)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
@ -136,12 +137,15 @@ debateList device =
|
|||
)
|
||||
<|
|
||||
List.concat
|
||||
[ List.map (headerMaker device)
|
||||
[ argumentHeader ]
|
||||
, (case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
List.map (argumentMaker device)
|
||||
)
|
||||
[ -- List.map (headerMaker device)
|
||||
-- [
|
||||
-- servicesHeader
|
||||
-- ]
|
||||
-- ,
|
||||
List.map
|
||||
(\argument ->
|
||||
cardMaker device (C.Argument argument) (contentList argument)
|
||||
)
|
||||
argumentList
|
||||
]
|
||||
|
||||
|
@ -153,17 +157,10 @@ argumentHeader =
|
|||
"Arguments"
|
||||
in
|
||||
{ headerTitle = String.toUpper name
|
||||
, hasImage = False
|
||||
, hasLink = False
|
||||
, headerBody = "This page features arguments that I hold to be sound. I'm open to hearing all challenges, as I am ready to engage with and defend any argument listed."
|
||||
}
|
||||
|
||||
|
||||
argumentMaker : Device -> Argument -> Element msg
|
||||
argumentMaker device argument =
|
||||
cardMaker device argument.argumentTitle (contentList argument) (argumentImage argument) argument.proofLink
|
||||
|
||||
|
||||
contentList : Argument -> List (Element msg)
|
||||
contentList argument =
|
||||
[ summaryMakerDesktop argument
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
module Pages.Debate.Cucklist exposing (Model, Msg, page)
|
||||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.CardFormat exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Converters exposing (formatSocial)
|
||||
import Config.Helpers.Format
|
||||
exposing
|
||||
|
@ -9,7 +10,7 @@ import Config.Helpers.Format
|
|||
, paragraphFontSize
|
||||
, paragraphSpacing
|
||||
)
|
||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||
import Config.Helpers.Headers.Header exposing (..)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
@ -129,12 +130,15 @@ cucksList device =
|
|||
)
|
||||
<|
|
||||
List.concat
|
||||
[ List.map (headerMaker device)
|
||||
[ cuckListHeader ]
|
||||
, (case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
List.map (cuckMaker device)
|
||||
)
|
||||
[ -- List.map (headerMaker device)
|
||||
-- [
|
||||
-- servicesHeader
|
||||
-- ]
|
||||
-- ,
|
||||
List.map
|
||||
(\cuck ->
|
||||
cardMaker device (C.Cuck cuck) (contentList cuck)
|
||||
)
|
||||
cuckList
|
||||
]
|
||||
|
||||
|
@ -146,17 +150,10 @@ cuckListHeader =
|
|||
"Cucklist"
|
||||
in
|
||||
{ headerTitle = String.toUpper name
|
||||
, hasImage = False
|
||||
, hasLink = False
|
||||
, headerBody = "This page features a list of morons who wrote cheques with their mouths that their asses couldn't cash. Each person included in this list has dodged debating me."
|
||||
}
|
||||
|
||||
|
||||
cuckMaker : Device -> Cuck -> Element msg
|
||||
cuckMaker device cuck =
|
||||
cardMaker device cuck.cuckName (contentList cuck) (cuckImage cuck) cuck.cuckSocial
|
||||
|
||||
|
||||
contentList : Cuck -> List (Element msg)
|
||||
contentList cuck =
|
||||
[ socialMaker cuck
|
||||
|
|
|
@ -1,14 +1,15 @@
|
|||
module Pages.Debate.Gibberish exposing (Model, Msg, page)
|
||||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.CardFormat exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Converters exposing (toTitleCase)
|
||||
import Config.Helpers.Format
|
||||
exposing
|
||||
( paragraphFontSize
|
||||
, paragraphSpacing
|
||||
)
|
||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||
import Config.Helpers.Headers.Header exposing (..)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
@ -134,12 +135,15 @@ gibberishList device =
|
|||
)
|
||||
<|
|
||||
List.concat
|
||||
[ List.map (headerMaker device)
|
||||
[ gibberishHeader ]
|
||||
, (case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
List.map (gibberishMaker device)
|
||||
)
|
||||
[ -- List.map (headerMaker device)
|
||||
-- [
|
||||
-- servicesHeader
|
||||
-- ]
|
||||
-- ,
|
||||
List.map
|
||||
(\gibberish ->
|
||||
cardMaker device (C.Gibberish gibberish) (contentList gibberish)
|
||||
)
|
||||
[ epistemologyGibberish
|
||||
, theologyGibberish
|
||||
, metaphysicsGibberish
|
||||
|
@ -158,17 +162,10 @@ gibberishHeader =
|
|||
"Gibberish"
|
||||
in
|
||||
{ headerTitle = String.toUpper name
|
||||
, hasImage = False
|
||||
, hasLink = False
|
||||
, headerBody = "This page is specifically for terms and ostensible concepts that I think are either nonsensical or so practically useless that its intelligiblity is irrelevant."
|
||||
}
|
||||
|
||||
|
||||
gibberishMaker : Device -> Gibberish -> Element msg
|
||||
gibberishMaker device gibberish =
|
||||
cardMaker device gibberish.gibberishTitle (contentList gibberish) (gibberishImage gibberish) gibberish.gibberishLink
|
||||
|
||||
|
||||
contentList : Gibberish -> List (Element msg)
|
||||
contentList gibberish =
|
||||
[ descriptionMaker gibberish
|
||||
|
|
|
@ -1,14 +1,15 @@
|
|||
module Pages.Donate exposing (Model, Msg, page)
|
||||
|
||||
import Config.Data.Identity as I exposing (..)
|
||||
import Config.Helpers.CardFormat exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Format
|
||||
exposing
|
||||
( headerFontSizeSmall
|
||||
, paragraphFontSize
|
||||
, paragraphSpacing
|
||||
)
|
||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||
import Config.Helpers.Headers.Header exposing (..)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
@ -131,12 +132,15 @@ donateList device =
|
|||
)
|
||||
<|
|
||||
List.concat
|
||||
[ List.map (headerMaker device)
|
||||
[ donateHeader ]
|
||||
, (case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
List.map (\donate -> donateMaker device donate)
|
||||
)
|
||||
[ -- List.map (headerMaker device)
|
||||
-- [
|
||||
-- servicesHeader
|
||||
-- ]
|
||||
-- ,
|
||||
List.map
|
||||
(\donate ->
|
||||
cardMaker device (C.Donate donate) (contentList device donate)
|
||||
)
|
||||
[ donateLiberaPay
|
||||
, donateStripe
|
||||
, donatePatreon
|
||||
|
@ -155,17 +159,10 @@ donateHeader =
|
|||
"Donate"
|
||||
in
|
||||
{ headerTitle = String.toUpper name
|
||||
, hasImage = False
|
||||
, hasLink = False
|
||||
, headerBody = "My site, research, and content all cost time and money to run. If you find my contributions valuable, please consider supporting my work on any of the platforms listed below!"
|
||||
}
|
||||
|
||||
|
||||
donateMaker : Device -> Donate -> Element msg
|
||||
donateMaker device donate =
|
||||
cardMaker device donate.donateName (contentList device donate) (donateImage donate) donate.donateLink
|
||||
|
||||
|
||||
contentList : Device -> Donate -> List (Element msg)
|
||||
contentList device donate =
|
||||
[ feeMaker donate
|
||||
|
|
|
@ -6,7 +6,7 @@ import Config.Helpers.Format
|
|||
( paragraphFontSize
|
||||
, paragraphSpacing
|
||||
)
|
||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||
import Config.Helpers.Headers.Header exposing (..)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
module Pages.Interviews exposing (Model, Msg, page)
|
||||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.CardFormat exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Converters exposing (formatSocial)
|
||||
import Config.Helpers.Format
|
||||
exposing
|
||||
|
@ -138,12 +139,15 @@ interviewList device =
|
|||
)
|
||||
<|
|
||||
List.concat
|
||||
[ List.map (headerMaker device)
|
||||
[ interviewHeader ]
|
||||
, (case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
List.map (interviewMaker device)
|
||||
)
|
||||
[ -- List.map (headerMaker device)
|
||||
-- [
|
||||
-- servicesHeader
|
||||
-- ]
|
||||
-- ,
|
||||
List.map
|
||||
(\interview ->
|
||||
cardMaker device (C.Interview interview) (contentList interview)
|
||||
)
|
||||
[ sigmaNutritionRadio
|
||||
, markBellsPowerProject
|
||||
, foolproofMastery
|
||||
|
@ -164,17 +168,10 @@ interviewHeader =
|
|||
"Interviews"
|
||||
in
|
||||
{ headerTitle = String.toUpper name
|
||||
, hasImage = False
|
||||
, hasLink = False
|
||||
, headerBody = "This page showcases various podcasts and shows I've been on. If you’d like to have me as a guest on your podcast, feel free to reach out—I’d love to share my perspectives with your audience!"
|
||||
}
|
||||
|
||||
|
||||
interviewMaker : Device -> Interview -> Element msg
|
||||
interviewMaker device interview =
|
||||
cardMaker device interview.interviewName (contentList interview) (interviewImage interview) interview.interviewSocial
|
||||
|
||||
|
||||
contentList : Interview -> List (Element msg)
|
||||
contentList interview =
|
||||
[ appearanceTitle interview
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
module Pages.NotFound_ exposing (Model, Msg, page)
|
||||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.CardFormat exposing (cardMaker)
|
||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Headers.Header exposing (..)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
|
|
@ -3,7 +3,8 @@ module Pages.Nutridex exposing (Model, Msg, page)
|
|||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Articles.Article exposing (makeReference)
|
||||
import Config.Helpers.Articles.Types exposing (References)
|
||||
import Config.Helpers.CardFormat exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Format
|
||||
exposing
|
||||
( divider
|
||||
|
@ -135,19 +136,19 @@ nutriDexList device =
|
|||
)
|
||||
<|
|
||||
List.concat
|
||||
[ (case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
List.map (\nutridex -> nutriDexMaker device nutridex)
|
||||
)
|
||||
[ -- List.map (headerMaker device)
|
||||
-- [
|
||||
-- servicesHeader
|
||||
-- ]
|
||||
-- ,
|
||||
List.map
|
||||
(\nutriDex ->
|
||||
cardMaker device (C.NutriDex nutriDex) (contentList device nutriDex)
|
||||
)
|
||||
[ productNutriDex ]
|
||||
]
|
||||
|
||||
|
||||
nutriDexMaker : Device -> NutriDex -> Element msg
|
||||
nutriDexMaker device nutridex =
|
||||
cardMaker device nutridex.nutriDexTitle (contentList device nutridex) { description = "", src = "" } ""
|
||||
|
||||
|
||||
contentList : Device -> NutriDex -> List (Element msg)
|
||||
contentList device nutridex =
|
||||
[ featureList nutridex device
|
||||
|
|
|
@ -2,7 +2,8 @@ module Pages.Services exposing (Model, Msg, page)
|
|||
|
||||
import Browser
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.CardFormat exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Format
|
||||
exposing
|
||||
( headerFontSizeMedium
|
||||
|
@ -10,7 +11,7 @@ import Config.Helpers.Format
|
|||
, paragraphFontSize
|
||||
, paragraphSpacing
|
||||
)
|
||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||
import Config.Helpers.Headers.Header exposing (..)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
@ -124,12 +125,15 @@ servicesList device =
|
|||
)
|
||||
<|
|
||||
List.concat
|
||||
[ List.map (headerMaker device)
|
||||
[ servicesHeader ]
|
||||
, (case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
List.map (serviceMaker device)
|
||||
)
|
||||
[ -- List.map (headerMaker device)
|
||||
-- [
|
||||
-- servicesHeader
|
||||
-- ]
|
||||
-- ,
|
||||
List.map
|
||||
(\service ->
|
||||
cardMaker device (C.Service service) (contentList service)
|
||||
)
|
||||
[ servicesDebateAnalysis
|
||||
, servicesDebateCoaching
|
||||
, servicesNutritionScience
|
||||
|
@ -139,24 +143,6 @@ servicesList device =
|
|||
]
|
||||
|
||||
|
||||
servicesHeader : Header
|
||||
servicesHeader =
|
||||
let
|
||||
name =
|
||||
"Services"
|
||||
in
|
||||
{ headerTitle = String.toUpper name
|
||||
, hasImage = False
|
||||
, hasLink = False
|
||||
, headerBody = "Bundle any of the services below to receive a $10 discount per hour. For example, two Debate Analysis sessions would cost $140 total, instead of $80/hr. All prices are in CAD."
|
||||
}
|
||||
|
||||
|
||||
serviceMaker : Device -> Service msg -> Element msg
|
||||
serviceMaker device service =
|
||||
cardMaker device service.serviceName (contentList service) (serviceImage service) service.serviceLink
|
||||
|
||||
|
||||
contentList : Service msg -> List (Element msg)
|
||||
contentList service =
|
||||
[ rateMaker service
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
module Pages.Services.Analysis exposing (Model, Msg, page)
|
||||
|
||||
import Config.Helpers.CardFormat exposing (..)
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Format exposing (..)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response exposing (pageList, topLevelContainer)
|
||||
|
@ -105,17 +106,24 @@ analysisContainer device =
|
|||
|
||||
analysisList : Device -> Element msg
|
||||
analysisList device =
|
||||
column pageList <|
|
||||
column
|
||||
(case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
pageList
|
||||
)
|
||||
<|
|
||||
List.concat
|
||||
(case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
[ [ headerMaker device ] ]
|
||||
)
|
||||
|
||||
|
||||
headerMaker : Device -> Element msg
|
||||
headerMaker device =
|
||||
cardMaker device "" contentList { description = "", src = "" } ""
|
||||
[ -- List.map (headerMaker device)
|
||||
-- [
|
||||
-- servicesHeader
|
||||
-- ]
|
||||
-- ,
|
||||
List.map
|
||||
(\service ->
|
||||
cardMaker device (C.Service service) contentList
|
||||
)
|
||||
[]
|
||||
]
|
||||
|
||||
|
||||
contentList : List (Element msg)
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
module Pages.Services.Coaching exposing (Model, Msg, page)
|
||||
|
||||
import Config.Helpers.CardFormat exposing (..)
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Format exposing (..)
|
||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||
import Config.Helpers.Headers.Header exposing (..)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
@ -110,17 +111,24 @@ coachingContainer device =
|
|||
|
||||
coachingList : Device -> Element msg
|
||||
coachingList device =
|
||||
column pageList <|
|
||||
column
|
||||
(case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
pageList
|
||||
)
|
||||
<|
|
||||
List.concat
|
||||
(case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
[ [ headerMaker device ] ]
|
||||
)
|
||||
|
||||
|
||||
headerMaker : Device -> Element msg
|
||||
headerMaker device =
|
||||
cardMaker device "" contentList { description = "", src = "" } ""
|
||||
[ -- List.map (headerMaker device)
|
||||
-- [
|
||||
-- servicesHeader
|
||||
-- ]
|
||||
-- ,
|
||||
List.map
|
||||
(\service ->
|
||||
cardMaker device (C.Service service) contentList
|
||||
)
|
||||
[]
|
||||
]
|
||||
|
||||
|
||||
contentList : List (Element msg)
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
module Pages.Services.Elm exposing (Model, Msg, page)
|
||||
|
||||
import Config.Helpers.CardFormat exposing (..)
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Format exposing (..)
|
||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||
import Config.Helpers.Headers.Header exposing (..)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
@ -110,17 +111,24 @@ elmBuildsContainer device =
|
|||
|
||||
elmBuildsList : Device -> Element msg
|
||||
elmBuildsList device =
|
||||
column pageList <|
|
||||
column
|
||||
(case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
pageList
|
||||
)
|
||||
<|
|
||||
List.concat
|
||||
(case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
[ [ headerMaker device ] ]
|
||||
)
|
||||
|
||||
|
||||
headerMaker : Device -> Element msg
|
||||
headerMaker device =
|
||||
cardMaker device "" contentList { description = "", src = "" } ""
|
||||
[ -- List.map (headerMaker device)
|
||||
-- [
|
||||
-- servicesHeader
|
||||
-- ]
|
||||
-- ,
|
||||
List.map
|
||||
(\service ->
|
||||
cardMaker device (C.Service service) contentList
|
||||
)
|
||||
[]
|
||||
]
|
||||
|
||||
|
||||
contentList : List (Element msg)
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
module Pages.Services.Nix exposing (Model, Msg, page)
|
||||
|
||||
import Config.Helpers.CardFormat exposing (..)
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Format exposing (..)
|
||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||
import Config.Helpers.Headers.Header exposing (..)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
@ -110,17 +111,24 @@ elmBuildsContainer device =
|
|||
|
||||
elmBuildsList : Device -> Element msg
|
||||
elmBuildsList device =
|
||||
column pageList <|
|
||||
column
|
||||
(case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
pageList
|
||||
)
|
||||
<|
|
||||
List.concat
|
||||
(case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
[ [ headerMaker device ] ]
|
||||
)
|
||||
|
||||
|
||||
headerMaker : Device -> Element msg
|
||||
headerMaker device =
|
||||
cardMaker device "" contentList { description = "", src = "" } ""
|
||||
[ -- List.map (headerMaker device)
|
||||
-- [
|
||||
-- servicesHeader
|
||||
-- ]
|
||||
-- ,
|
||||
List.map
|
||||
(\service ->
|
||||
cardMaker device (C.Service service) contentList
|
||||
)
|
||||
[]
|
||||
]
|
||||
|
||||
|
||||
contentList : List (Element msg)
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
module Pages.Services.Nutrition exposing (Model, Msg, page)
|
||||
|
||||
import Config.Helpers.CardFormat exposing (..)
|
||||
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cardables.Types as C
|
||||
import Config.Helpers.Format exposing (..)
|
||||
import Config.Helpers.Headers.Header exposing (headerMaker)
|
||||
import Config.Helpers.Headers.Header exposing (..)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
@ -110,17 +111,24 @@ nutritionContainer device =
|
|||
|
||||
nutritionList : Device -> Element msg
|
||||
nutritionList device =
|
||||
column pageList <|
|
||||
column
|
||||
(case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
pageList
|
||||
)
|
||||
<|
|
||||
List.concat
|
||||
(case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
[ [ headerMaker device ] ]
|
||||
)
|
||||
|
||||
|
||||
headerMaker : Device -> Element msg
|
||||
headerMaker device =
|
||||
cardMaker device "" contentList { description = "", src = "" } ""
|
||||
[ -- List.map (headerMaker device)
|
||||
-- [
|
||||
-- servicesHeader
|
||||
-- ]
|
||||
-- ,
|
||||
List.map
|
||||
(\service ->
|
||||
cardMaker device (C.Service service) contentList
|
||||
)
|
||||
[]
|
||||
]
|
||||
|
||||
|
||||
contentList : List (Element msg)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue