mirror of
https://gitlab.com/upRootNutrition/website.git
synced 2025-08-10 04:14:38 -05:00
feat: v1 finally done?
This commit is contained in:
parent
9f8d9c3146
commit
07b9330264
245 changed files with 3140 additions and 2197 deletions
|
@ -1,35 +1,25 @@
|
|||
module Pages.Blog exposing (Model, Msg, page)
|
||||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Data.ImageFolders as M exposing (ImageFolder(..), imagePathMaker)
|
||||
import Config.Helpers.Articles.Article exposing (extractFirstWords)
|
||||
import Config.Helpers.Cards.Inner.Helpers
|
||||
import Config.Helpers.Articles.Markdown exposing (renderDeviceMarkdownNoToc)
|
||||
import Config.Helpers.Cards.Inner.Text
|
||||
exposing
|
||||
( detailBodyMaker
|
||||
, detailFormat
|
||||
, detailTitleMaker
|
||||
)
|
||||
import Config.Helpers.Cards.Outer.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Outer.Types as C
|
||||
import Config.Helpers.Cards.Outer.Types as C exposing (Cardable(..))
|
||||
import Config.Helpers.Converters
|
||||
exposing
|
||||
( formatName
|
||||
, wordCount
|
||||
)
|
||||
import Config.Helpers.Format
|
||||
exposing
|
||||
( headerFontSizeSmall
|
||||
, paragraphFontSize
|
||||
, paragraphSpacing
|
||||
)
|
||||
import Config.Helpers.Headers.Helpers exposing (..)
|
||||
import Config.Helpers.Headers.Helpers exposing (headerMaker)
|
||||
import Config.Helpers.Headers.Records exposing (blogHeader)
|
||||
import Config.Helpers.Headers.Types as R exposing (..)
|
||||
import Config.Helpers.ImageFolders as M exposing (..)
|
||||
import Config.Helpers.Markdown
|
||||
exposing
|
||||
( renderDeviceMarkdown
|
||||
, renderDeviceMarkdownNoToc
|
||||
)
|
||||
import Config.Helpers.Headers.Types as R exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageList
|
||||
|
@ -47,21 +37,39 @@ import Config.Pages.Blog.Records.SapienDiet exposing (articleSapienDiet)
|
|||
import Config.Pages.Blog.Records.SeedOils exposing (articleSeedOils)
|
||||
import Config.Pages.Blog.Records.Shenangians exposing (articleShenanigans)
|
||||
import Config.Pages.Blog.Records.SweetDeception exposing (articleSweetDeception)
|
||||
import Config.Pages.Blog.Types exposing (..)
|
||||
import Config.Style.Colour.Helpers as T exposing (..)
|
||||
import Config.Pages.Blog.Types exposing (BlogArticle)
|
||||
import Config.Style.Colour.Helpers as T exposing (ThemeColor(..))
|
||||
import Config.Style.Fonts
|
||||
exposing
|
||||
( defaultFontSize
|
||||
, paragraphSpacing
|
||||
)
|
||||
import Config.Style.Icons.Icons exposing (construction)
|
||||
import Config.Style.Images exposing (imageSquareMaker)
|
||||
import Effect exposing (Effect)
|
||||
import Element as E exposing (..)
|
||||
import Element.Background as B
|
||||
import Element.Border as D
|
||||
import Element.Font as F
|
||||
import Element as E
|
||||
exposing
|
||||
( Device
|
||||
, DeviceClass(..)
|
||||
, Element
|
||||
, Orientation(..)
|
||||
, alignLeft
|
||||
, alignTop
|
||||
, column
|
||||
, el
|
||||
, none
|
||||
, paddingEach
|
||||
, px
|
||||
, row
|
||||
, text
|
||||
, width
|
||||
)
|
||||
import Html.Attributes as H exposing (style)
|
||||
import Layouts
|
||||
import Page exposing (Page)
|
||||
import Route exposing (Route)
|
||||
import Route.Path as Path
|
||||
import Shared exposing (..)
|
||||
import Shared exposing (Model)
|
||||
import View exposing (View)
|
||||
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ module Pages.Blog.Bigfatsurprise exposing (Model, Msg, page)
|
|||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Articles.Article exposing (contentList)
|
||||
import Config.Helpers.Cards.Outer.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Outer.Types as C
|
||||
import Config.Helpers.Cards.Outer.Types as C exposing (Cardable(..))
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
@ -13,11 +13,16 @@ import Config.Helpers.Response
|
|||
import Config.Helpers.Viewport exposing (resetViewport)
|
||||
import Config.Pages.Blog.Records.BigFatSurprise exposing (articleBigFatSurprise)
|
||||
import Effect exposing (Effect)
|
||||
import Element as E exposing (..)
|
||||
import Element as E
|
||||
exposing
|
||||
( Device
|
||||
, Element
|
||||
, column
|
||||
)
|
||||
import Layouts
|
||||
import Page exposing (Page)
|
||||
import Route exposing (Route)
|
||||
import Shared exposing (..)
|
||||
import Shared exposing (Model)
|
||||
import View exposing (View)
|
||||
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ module Pages.Blog.Everettvegans exposing (Model, Msg, page)
|
|||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Articles.Article exposing (contentList)
|
||||
import Config.Helpers.Cards.Outer.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Outer.Types as C
|
||||
import Config.Helpers.Cards.Outer.Types as C exposing (Cardable(..))
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
@ -13,11 +13,16 @@ import Config.Helpers.Response
|
|||
import Config.Helpers.Viewport exposing (resetViewport)
|
||||
import Config.Pages.Blog.Records.EverettVegans exposing (articleEverettVegans)
|
||||
import Effect exposing (Effect)
|
||||
import Element as E exposing (..)
|
||||
import Element as E
|
||||
exposing
|
||||
( Device
|
||||
, Element
|
||||
, column
|
||||
)
|
||||
import Layouts
|
||||
import Page exposing (Page)
|
||||
import Route exposing (Route)
|
||||
import Shared exposing (..)
|
||||
import Shared exposing (Model)
|
||||
import View exposing (View)
|
||||
|
||||
|
||||
|
@ -53,6 +58,8 @@ init () =
|
|||
(Effect.sendCmd resetViewport)
|
||||
)
|
||||
|
||||
|
||||
|
||||
-- UPDATE
|
||||
|
||||
|
||||
|
@ -104,12 +111,7 @@ articleList device =
|
|||
)
|
||||
<|
|
||||
List.concat
|
||||
[ -- List.map (headerMaker device)
|
||||
-- [
|
||||
-- servicesHeader
|
||||
-- ]
|
||||
-- ,
|
||||
List.map
|
||||
[ List.map
|
||||
(\article ->
|
||||
cardMaker device (C.BlogArticle article) (contentList article [])
|
||||
)
|
||||
|
|
|
@ -3,7 +3,7 @@ module Pages.Blog.Huntergatherers exposing (Model, Msg, page)
|
|||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Articles.Article exposing (contentList)
|
||||
import Config.Helpers.Cards.Outer.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Outer.Types as C
|
||||
import Config.Helpers.Cards.Outer.Types as C exposing (Cardable(..))
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
@ -13,11 +13,16 @@ import Config.Helpers.Response
|
|||
import Config.Helpers.Viewport exposing (resetViewport)
|
||||
import Config.Pages.Blog.Records.HunterGatherers exposing (articleHunterGatherers)
|
||||
import Effect exposing (Effect)
|
||||
import Element as E exposing (..)
|
||||
import Element as E
|
||||
exposing
|
||||
( Device
|
||||
, Element
|
||||
, column
|
||||
)
|
||||
import Layouts
|
||||
import Page exposing (Page)
|
||||
import Route exposing (Route)
|
||||
import Shared exposing (..)
|
||||
import Shared exposing (Model)
|
||||
import View exposing (View)
|
||||
|
||||
|
||||
|
@ -54,6 +59,7 @@ init () =
|
|||
)
|
||||
|
||||
|
||||
|
||||
-- UPDATE
|
||||
|
||||
|
||||
|
@ -105,12 +111,7 @@ articleList device =
|
|||
)
|
||||
<|
|
||||
List.concat
|
||||
[ -- List.map (headerMaker device)
|
||||
-- [
|
||||
-- servicesHeader
|
||||
-- ]
|
||||
-- ,
|
||||
List.map
|
||||
[ List.map
|
||||
(\article ->
|
||||
cardMaker device (C.BlogArticle article) (contentList article [])
|
||||
)
|
||||
|
|
|
@ -3,7 +3,7 @@ module Pages.Blog.Meatapologetics exposing (Model, Msg, page)
|
|||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Articles.Article exposing (contentList)
|
||||
import Config.Helpers.Cards.Outer.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Outer.Types as C
|
||||
import Config.Helpers.Cards.Outer.Types as C exposing (Cardable(..))
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
@ -13,11 +13,16 @@ import Config.Helpers.Response
|
|||
import Config.Helpers.Viewport exposing (resetViewport)
|
||||
import Config.Pages.Blog.Records.MeatApologetics exposing (articleMeatApologetics)
|
||||
import Effect exposing (Effect)
|
||||
import Element as E exposing (..)
|
||||
import Element as E
|
||||
exposing
|
||||
( Device
|
||||
, Element
|
||||
, column
|
||||
)
|
||||
import Layouts
|
||||
import Page exposing (Page)
|
||||
import Route exposing (Route)
|
||||
import Shared exposing (..)
|
||||
import Shared exposing (Model)
|
||||
import View exposing (View)
|
||||
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ module Pages.Blog.Nagragoodrich exposing (Model, Msg, page)
|
|||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Articles.Article exposing (contentList)
|
||||
import Config.Helpers.Cards.Outer.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Outer.Types as C
|
||||
import Config.Helpers.Cards.Outer.Types as C exposing (Cardable(..))
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
@ -13,11 +13,16 @@ import Config.Helpers.Response
|
|||
import Config.Helpers.Viewport exposing (resetViewport)
|
||||
import Config.Pages.Blog.Records.NagraGoodrich exposing (articleNagraGoodrich)
|
||||
import Effect exposing (Effect)
|
||||
import Element as E exposing (..)
|
||||
import Element as E
|
||||
exposing
|
||||
( Device
|
||||
, Element
|
||||
, column
|
||||
)
|
||||
import Layouts
|
||||
import Page exposing (Page)
|
||||
import Route exposing (Route)
|
||||
import Shared exposing (..)
|
||||
import Shared exposing (Model)
|
||||
import View exposing (View)
|
||||
|
||||
|
||||
|
@ -54,6 +59,7 @@ init () =
|
|||
)
|
||||
|
||||
|
||||
|
||||
-- UPDATE
|
||||
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ module Pages.Blog.Plantbasedmeta exposing (Model, Msg, page)
|
|||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Articles.Article exposing (contentList)
|
||||
import Config.Helpers.Cards.Outer.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Outer.Types as C
|
||||
import Config.Helpers.Cards.Outer.Types as C exposing (Cardable(..))
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
@ -13,11 +13,16 @@ import Config.Helpers.Response
|
|||
import Config.Helpers.Viewport exposing (resetViewport)
|
||||
import Config.Pages.Blog.Records.PlantBasedMeta exposing (articlePlantBasedMeta)
|
||||
import Effect exposing (Effect)
|
||||
import Element as E exposing (..)
|
||||
import Element as E
|
||||
exposing
|
||||
( Device
|
||||
, Element
|
||||
, column
|
||||
)
|
||||
import Layouts
|
||||
import Page exposing (Page)
|
||||
import Route exposing (Route)
|
||||
import Shared exposing (..)
|
||||
import Shared exposing (Model)
|
||||
import View exposing (View)
|
||||
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ module Pages.Blog.Quacksmashing exposing (Model, Msg, page)
|
|||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Articles.Article exposing (contentList)
|
||||
import Config.Helpers.Cards.Outer.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Outer.Types as C
|
||||
import Config.Helpers.Cards.Outer.Types as C exposing (Cardable(..))
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
@ -13,11 +13,16 @@ import Config.Helpers.Response
|
|||
import Config.Helpers.Viewport exposing (resetViewport)
|
||||
import Config.Pages.Blog.Records.QuackSmashing exposing (articleQuackSmashing)
|
||||
import Effect exposing (Effect)
|
||||
import Element as E exposing (..)
|
||||
import Element as E
|
||||
exposing
|
||||
( Device
|
||||
, Element
|
||||
, column
|
||||
)
|
||||
import Layouts
|
||||
import Page exposing (Page)
|
||||
import Route exposing (Route)
|
||||
import Shared exposing (..)
|
||||
import Shared exposing (Model)
|
||||
import View exposing (View)
|
||||
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ module Pages.Blog.Sapiendiet exposing (Model, Msg, page)
|
|||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Articles.Article exposing (contentList)
|
||||
import Config.Helpers.Cards.Outer.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Outer.Types as C
|
||||
import Config.Helpers.Cards.Outer.Types as C exposing (Cardable(..))
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
@ -13,11 +13,16 @@ import Config.Helpers.Response
|
|||
import Config.Helpers.Viewport exposing (resetViewport)
|
||||
import Config.Pages.Blog.Records.SapienDiet exposing (articleSapienDiet)
|
||||
import Effect exposing (Effect)
|
||||
import Element as E exposing (..)
|
||||
import Element as E
|
||||
exposing
|
||||
( Device
|
||||
, Element
|
||||
, column
|
||||
)
|
||||
import Layouts
|
||||
import Page exposing (Page)
|
||||
import Route exposing (Route)
|
||||
import Shared exposing (..)
|
||||
import Shared exposing (Model)
|
||||
import View exposing (View)
|
||||
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ module Pages.Blog.Seedoils exposing (Model, Msg, page)
|
|||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Articles.Article exposing (contentList)
|
||||
import Config.Helpers.Cards.Outer.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Outer.Types as C
|
||||
import Config.Helpers.Cards.Outer.Types as C exposing (Cardable(..))
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
@ -13,11 +13,16 @@ import Config.Helpers.Response
|
|||
import Config.Helpers.Viewport exposing (resetViewport)
|
||||
import Config.Pages.Blog.Records.SeedOils exposing (articleSeedOils)
|
||||
import Effect exposing (Effect)
|
||||
import Element as E exposing (..)
|
||||
import Element as E
|
||||
exposing
|
||||
( Device
|
||||
, Element
|
||||
, column
|
||||
)
|
||||
import Layouts
|
||||
import Page exposing (Page)
|
||||
import Route exposing (Route)
|
||||
import Shared exposing (..)
|
||||
import Shared exposing (Model)
|
||||
import View exposing (View)
|
||||
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ module Pages.Blog.Shenanigans exposing (Model, Msg, page)
|
|||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Articles.Article exposing (contentList)
|
||||
import Config.Helpers.Cards.Outer.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Outer.Types as C
|
||||
import Config.Helpers.Cards.Outer.Types as C exposing (Cardable(..))
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
@ -13,11 +13,16 @@ import Config.Helpers.Response
|
|||
import Config.Helpers.Viewport exposing (resetViewport)
|
||||
import Config.Pages.Blog.Records.Shenangians exposing (articleShenanigans)
|
||||
import Effect exposing (Effect)
|
||||
import Element as E exposing (..)
|
||||
import Element as E
|
||||
exposing
|
||||
( Device
|
||||
, Element
|
||||
, column
|
||||
)
|
||||
import Layouts
|
||||
import Page exposing (Page)
|
||||
import Route exposing (Route)
|
||||
import Shared exposing (..)
|
||||
import Shared exposing (Model)
|
||||
import View exposing (View)
|
||||
|
||||
|
||||
|
@ -117,7 +122,3 @@ articleList device =
|
|||
)
|
||||
[ articleShenanigans ]
|
||||
]
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ module Pages.Blog.Sweetdeception exposing (Model, Msg, page)
|
|||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Articles.Article exposing (contentList)
|
||||
import Config.Helpers.Cards.Outer.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Outer.Types as C
|
||||
import Config.Helpers.Cards.Outer.Types as C exposing (Cardable(..))
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
@ -13,11 +13,16 @@ import Config.Helpers.Response
|
|||
import Config.Helpers.Viewport exposing (resetViewport)
|
||||
import Config.Pages.Blog.Records.SweetDeception exposing (articleSweetDeception)
|
||||
import Effect exposing (Effect)
|
||||
import Element as E exposing (..)
|
||||
import Element as E
|
||||
exposing
|
||||
( Device
|
||||
, Element
|
||||
, column
|
||||
)
|
||||
import Layouts
|
||||
import Page exposing (Page)
|
||||
import Route exposing (Route)
|
||||
import Shared exposing (..)
|
||||
import Shared exposing (Model)
|
||||
import View exposing (View)
|
||||
|
||||
|
||||
|
|
|
@ -1,55 +1,61 @@
|
|||
module Pages.Contact exposing (Model, Msg, page)
|
||||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Cards.Inner.Helpers
|
||||
import Config.Data.ImageFolders as M
|
||||
exposing
|
||||
( ImageFolder(..)
|
||||
, imagePathMaker
|
||||
)
|
||||
import Config.Helpers.Cards.Inner.Text
|
||||
exposing
|
||||
( detailBodyMaker
|
||||
, detailFormat
|
||||
, numberedListItem
|
||||
)
|
||||
import Config.Helpers.Cards.Inner.ToolTip exposing (tooltip)
|
||||
import Config.Helpers.Cards.Outer.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Outer.Types as C
|
||||
import Config.Helpers.Format exposing (..)
|
||||
import Config.Helpers.Headers.Helpers exposing (..)
|
||||
import Config.Helpers.Headers.Records
|
||||
exposing
|
||||
( contactHeader
|
||||
, nutriDexHeader
|
||||
)
|
||||
import Config.Helpers.Headers.Types as R exposing (..)
|
||||
import Config.Helpers.ImageFolders as M exposing (..)
|
||||
import Config.Helpers.Cards.Outer.Types as C exposing (Cardable(..))
|
||||
import Config.Helpers.Headers.Helpers exposing (headerMaker)
|
||||
import Config.Helpers.Headers.Records exposing (contactHeader)
|
||||
import Config.Helpers.Headers.Types as R exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageList
|
||||
, topLevelContainer
|
||||
)
|
||||
import Config.Helpers.ServiceFormat
|
||||
exposing
|
||||
( chunkMaker
|
||||
, divider
|
||||
, titleMaker
|
||||
)
|
||||
import Config.Helpers.ToolTip exposing (..)
|
||||
import Config.Helpers.Viewport exposing (resetViewport)
|
||||
import Config.Pages.Contact.Types exposing (..)
|
||||
import Config.Style.Colour.Helpers exposing (ThemeColor(..), colourTheme)
|
||||
import Config.Style.Images exposing (imageSquareMaker)
|
||||
import Config.Style.Transitions
|
||||
import Config.Pages.Contact.Records
|
||||
exposing
|
||||
( hoverFontDarkOrange
|
||||
, transitionStyleFast
|
||||
, transitionStyleSlow
|
||||
( contactCriticism
|
||||
, contactInquiry
|
||||
)
|
||||
import Config.Pages.Contact.Types exposing (Contact)
|
||||
import Config.Style.Colour.Helpers
|
||||
exposing
|
||||
( ThemeColor(..)
|
||||
, colourTheme
|
||||
)
|
||||
import Config.Style.Images exposing (imageSquareMaker)
|
||||
import Effect exposing (Effect)
|
||||
import Element as E exposing (..)
|
||||
import Element.Background as B
|
||||
import Element.Border as D
|
||||
import Element.Font as F
|
||||
import Element as E
|
||||
exposing
|
||||
( Device
|
||||
, DeviceClass(..)
|
||||
, Element
|
||||
, Orientation(..)
|
||||
, alignLeft
|
||||
, column
|
||||
, el
|
||||
, none
|
||||
, paddingEach
|
||||
, row
|
||||
, text
|
||||
)
|
||||
import Html.Attributes as H exposing (style)
|
||||
import Layouts
|
||||
import Page exposing (Page)
|
||||
import Route exposing (Route)
|
||||
import Shared exposing (..)
|
||||
import Shared exposing (Model)
|
||||
import View exposing (View)
|
||||
|
||||
|
||||
|
|
|
@ -1,43 +1,72 @@
|
|||
module Pages.Contact.Criticism exposing (Model, Msg, page)
|
||||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Cards.Inner.Helpers exposing (detailBodyMaker, detailFormat, numberedListItem)
|
||||
import Config.Helpers.Cards.Inner.Text
|
||||
exposing
|
||||
( detailBodyMaker
|
||||
, detailFormat
|
||||
, detailHeader
|
||||
, detailTitleMaker
|
||||
, divider
|
||||
, numberedListItem
|
||||
)
|
||||
import Config.Helpers.Cards.Outer.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Outer.Types as C
|
||||
import Config.Helpers.Format exposing (..)
|
||||
import Config.Helpers.Headers.Helpers exposing (..)
|
||||
import Config.Helpers.Headers.Records exposing (contactHeader, nutriDexHeader)
|
||||
import Config.Helpers.Headers.Types as R exposing (..)
|
||||
import Config.Helpers.Cards.Outer.Types as C exposing (Cardable(..))
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageList
|
||||
, topLevelContainer
|
||||
)
|
||||
import Config.Helpers.ServiceFormat
|
||||
exposing
|
||||
( divider
|
||||
, titleMaker
|
||||
)
|
||||
import Config.Helpers.ToolTip exposing (..)
|
||||
import Config.Helpers.Viewport exposing (resetViewport)
|
||||
import Config.Pages.Contact.Types exposing (..)
|
||||
import Config.Style.Colour.Helpers exposing (ThemeColor(..), colourTheme)
|
||||
import Config.Pages.Contact.Records exposing (contactCriticism)
|
||||
import Config.Pages.Contact.Types exposing (Contact)
|
||||
import Config.Style.Colour.Helpers
|
||||
exposing
|
||||
( ThemeColor(..)
|
||||
, colourTheme
|
||||
)
|
||||
import Config.Style.Fonts exposing (defaultFontSize)
|
||||
import Config.Style.Transitions
|
||||
exposing
|
||||
( hoverFontDarkOrange
|
||||
, transitionStyleFast
|
||||
, transitionStyleSlow
|
||||
)
|
||||
import Effect exposing (Effect)
|
||||
import Element as E exposing (..)
|
||||
import Element.Background as B
|
||||
import Element.Border as D
|
||||
import Element as E
|
||||
exposing
|
||||
( Attr
|
||||
, Attribute
|
||||
, Device
|
||||
, DeviceClass(..)
|
||||
, Element
|
||||
, Orientation(..)
|
||||
, alignRight
|
||||
, alignTop
|
||||
, centerX
|
||||
, column
|
||||
, el
|
||||
, fill
|
||||
, newTabLink
|
||||
, paddingEach
|
||||
, paragraph
|
||||
, px
|
||||
, row
|
||||
, spacing
|
||||
, text
|
||||
, width
|
||||
)
|
||||
import Element.Background as B exposing (color)
|
||||
import Element.Border as D exposing (rounded)
|
||||
import Element.Font as F
|
||||
exposing
|
||||
( alignLeft
|
||||
, color
|
||||
)
|
||||
import Html.Attributes as H exposing (style)
|
||||
import Layouts
|
||||
import Page exposing (Page)
|
||||
import Route exposing (Route)
|
||||
import Shared exposing (..)
|
||||
import Shared exposing (Model)
|
||||
import View exposing (View)
|
||||
|
||||
|
||||
|
@ -154,13 +183,12 @@ instructionBody device =
|
|||
[ detailBodyMaker TextLightGrey (text "The following terms may seem unreasonable to some, but after years on a large platform, I've learned the importance of filtering the criticisms I receive. Most feedback I receive is just vague gesturing and lacks substance, making some sort of quality filter essential. Thank you for your patience and understanding.") ]
|
||||
, detailFormat paragraph
|
||||
[ detailBodyMaker TextLightGrey (text "Please keep in mind that any failure to comply with the following terms and conditions will forfeit your access to my time and attention. I ask that you respect my time and read these terms carefully. You are the one requesting an audience with me, and my time is mine to donate as I see fit. If you wish to submit your criticisms, you must do so on my terms, following the rules and conditions that streamline the process for me.") ]
|
||||
, column
|
||||
, el
|
||||
[ centerX
|
||||
, width fill
|
||||
]
|
||||
[ divider
|
||||
, titleMaker (String.toUpper "Terms and Conditions")
|
||||
]
|
||||
<|
|
||||
detailHeader (String.toUpper "Terms and Conditions")
|
||||
, column [ spacing 10 ] <|
|
||||
List.indexedMap
|
||||
(\index term ->
|
||||
|
@ -173,25 +201,23 @@ instructionBody device =
|
|||
, alignTop
|
||||
]
|
||||
[ numberedListItem TextLightGrey (index + 1) ]
|
||||
, column
|
||||
, el
|
||||
[ spacing 10
|
||||
, width fill
|
||||
, alignRight
|
||||
]
|
||||
[ paragraph
|
||||
<|
|
||||
paragraph
|
||||
[ width fill
|
||||
, paragraphFontSize
|
||||
, defaultFontSize
|
||||
, F.alignLeft
|
||||
]
|
||||
term
|
||||
]
|
||||
]
|
||||
)
|
||||
(termsAndConditions device)
|
||||
, column [ centerX, width fill ]
|
||||
[ divider
|
||||
, titleMaker (String.toUpper "Additional Clarifications")
|
||||
]
|
||||
, el [ centerX, width fill ] <|
|
||||
detailHeader (String.toUpper "Additional Clarifications")
|
||||
, detailFormat paragraph
|
||||
[ detailBodyMaker TextLightGrey (text "• ")
|
||||
, detailBodyMaker TextLightGrey (text "You are only allowed to post one criticism at a time in the ")
|
||||
|
|
|
@ -1,43 +1,45 @@
|
|||
module Pages.Contact.Inquiry exposing (Model, Msg, page)
|
||||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Cards.Inner.Helpers exposing (detailBodyLink, detailBodyMaker, detailFormat, numberedListItem)
|
||||
import Config.Helpers.Cards.Inner.Text
|
||||
exposing
|
||||
( detailBodyLink
|
||||
, detailBodyMaker
|
||||
, detailFormat
|
||||
)
|
||||
import Config.Helpers.Cards.Outer.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Outer.Types as C
|
||||
import Config.Helpers.Format exposing (..)
|
||||
import Config.Helpers.Headers.Helpers exposing (..)
|
||||
import Config.Helpers.Headers.Records exposing (contactHeader, nutriDexHeader)
|
||||
import Config.Helpers.Headers.Types as R exposing (..)
|
||||
import Config.Helpers.Cards.Outer.Types as C exposing (Cardable(..))
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageList
|
||||
, topLevelContainer
|
||||
)
|
||||
import Config.Helpers.ServiceFormat
|
||||
exposing
|
||||
( divider
|
||||
, titleMaker
|
||||
)
|
||||
import Config.Helpers.ToolTip exposing (..)
|
||||
import Config.Helpers.Viewport exposing (resetViewport)
|
||||
import Config.Pages.Contact.Types exposing (..)
|
||||
import Config.Style.Colour.Helpers exposing (ThemeColor(..), colourTheme)
|
||||
import Config.Style.Transitions
|
||||
import Config.Pages.Contact.Records exposing (contactInquiry)
|
||||
import Config.Pages.Contact.Types exposing (Contact)
|
||||
import Config.Style.Colour.Helpers
|
||||
exposing
|
||||
( hoverFontDarkOrange
|
||||
, transitionStyleFast
|
||||
, transitionStyleSlow
|
||||
( ThemeColor(..)
|
||||
, colourTheme
|
||||
)
|
||||
import Effect exposing (Effect)
|
||||
import Element as E exposing (..)
|
||||
import Element.Background as B
|
||||
import Element.Border as D
|
||||
import Element.Font as F
|
||||
import Html.Attributes as H exposing (style)
|
||||
import Element as E
|
||||
exposing
|
||||
( Device
|
||||
, DeviceClass(..)
|
||||
, Element
|
||||
, Orientation(..)
|
||||
, column
|
||||
, link
|
||||
, paddingEach
|
||||
, paragraph
|
||||
, spacing
|
||||
, text
|
||||
)
|
||||
import Layouts
|
||||
import Page exposing (Page)
|
||||
import Route exposing (Route)
|
||||
import Shared exposing (..)
|
||||
import Shared exposing (Model)
|
||||
import View exposing (View)
|
||||
|
||||
|
||||
|
@ -162,5 +164,3 @@ instructionBody device =
|
|||
, detailFormat paragraph
|
||||
[ detailBodyMaker TextLightGrey (text "If you wish to submit a Discord ban appeal, you may do using the provided email address. Please include your user ID and a detailed statement detailing why you believe that you, or someone else, should be unbanned.") ]
|
||||
]
|
||||
|
||||
|
||||
|
|
|
@ -11,54 +11,61 @@ import Config.Data.Identity
|
|||
exposing
|
||||
( pageNames
|
||||
)
|
||||
import Config.Helpers.Cards.Inner.Helpers exposing (detailBodyLink, detailBodyMaker, detailFormat, detailSpacing, detailTitleMaker)
|
||||
import Config.Helpers.Cards.Outer.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Outer.Types as C
|
||||
import Config.Helpers.Converters exposing (formatName)
|
||||
import Config.Helpers.Format
|
||||
import Config.Data.ImageFolders as M
|
||||
exposing
|
||||
( headerFontSizeSmall
|
||||
, paragraphFontSize
|
||||
, paragraphSpacing
|
||||
( ImageFolder(..)
|
||||
, imagePathMaker
|
||||
)
|
||||
import Config.Helpers.Headers.Helpers exposing (..)
|
||||
import Config.Helpers.Cards.Inner.Text
|
||||
exposing
|
||||
( detailBodyLink
|
||||
, detailBodyMaker
|
||||
, detailFormat
|
||||
, detailSpacing
|
||||
, detailTitleMaker
|
||||
)
|
||||
import Config.Helpers.Cards.Outer.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Outer.Types as C exposing (Cardable(..))
|
||||
import Config.Helpers.Converters exposing (formatName)
|
||||
import Config.Helpers.Headers.Helpers exposing (headerMaker)
|
||||
import Config.Helpers.Headers.Records exposing (debateHeader)
|
||||
import Config.Helpers.Headers.Types as R exposing (..)
|
||||
import Config.Helpers.ImageFolders as M exposing (..)
|
||||
import Config.Helpers.Headers.Types as R exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageList
|
||||
, topLevelContainer
|
||||
)
|
||||
import Config.Helpers.ServiceFormat exposing (chunkMaker)
|
||||
import Config.Helpers.Viewport exposing (resetViewport)
|
||||
import Config.Pages.Debate.Arguments.List exposing (argumentList)
|
||||
import Config.Pages.Debate.Cuckery.List exposing (cuckList)
|
||||
import Config.Pages.Debate.Gibberish.List exposing (gibberishList)
|
||||
import Config.Pages.Debate.Types exposing (..)
|
||||
import Config.Style.Colour.Helpers as T exposing (ThemeColor(..), colourTheme)
|
||||
import Config.Style.Glow
|
||||
import Config.Pages.Debate.Types exposing (Debate)
|
||||
import Config.Style.Colour.Helpers as T
|
||||
exposing
|
||||
( glowDeepDarkGrey
|
||||
, glowDeepDarkOrange
|
||||
( ThemeColor(..)
|
||||
, colourTheme
|
||||
)
|
||||
import Config.Style.Images exposing (imageSquareMaker)
|
||||
import Config.Style.Transitions
|
||||
exposing
|
||||
( transitionStyleSlow
|
||||
)
|
||||
import Effect exposing (Effect)
|
||||
import Element as E exposing (..)
|
||||
import Element.Background as B
|
||||
import Element.Border as D
|
||||
import Element.Font as F
|
||||
import Html exposing (label)
|
||||
import Html.Attributes as H
|
||||
import Element as E
|
||||
exposing
|
||||
( Device
|
||||
, DeviceClass(..)
|
||||
, Element
|
||||
, Orientation(..)
|
||||
, alignLeft
|
||||
, column
|
||||
, el
|
||||
, none
|
||||
, paddingEach
|
||||
, row
|
||||
, text
|
||||
)
|
||||
import Layouts
|
||||
import Page exposing (Page)
|
||||
import Route exposing (Route)
|
||||
import Route.Path as Path
|
||||
import Shared exposing (..)
|
||||
import Shared exposing (Model)
|
||||
import Task
|
||||
import View exposing (View)
|
||||
|
||||
|
|
|
@ -1,69 +1,115 @@
|
|||
module Pages.Debate.Arguments exposing (Model, Msg, page)
|
||||
|
||||
import Browser.Events as Events
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Cards.Inner.Helpers
|
||||
import Config.Data.ImageFolders as M
|
||||
exposing
|
||||
( argumentButton
|
||||
, bodyFormat
|
||||
( ImageFolder(..)
|
||||
, imagePathMaker
|
||||
)
|
||||
import Config.Helpers.Cards.Inner.StrengthBar exposing (barMaker)
|
||||
import Config.Helpers.Cards.Inner.Text
|
||||
exposing
|
||||
( bodyFormat
|
||||
, detailBodyLink
|
||||
, detailBodyMaker
|
||||
, detailFormat
|
||||
, detailSpacing
|
||||
, detailTitleMaker
|
||||
, generalButton
|
||||
, getHoverColours
|
||||
)
|
||||
import Config.Helpers.Cards.Inner.ToolTip exposing (tooltip)
|
||||
import Config.Helpers.Cards.Outer.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Outer.Types as C
|
||||
import Config.Helpers.Cards.Outer.Types as C exposing (Cardable(..))
|
||||
import Config.Helpers.Converters exposing (toTitleCase)
|
||||
import Config.Helpers.Format
|
||||
exposing
|
||||
( headerFontSizeSmall
|
||||
, paragraphFontSize
|
||||
, paragraphSpacing
|
||||
)
|
||||
import Config.Helpers.Headers.Helpers exposing (..)
|
||||
import Config.Helpers.Headers.Helpers exposing (headerMaker)
|
||||
import Config.Helpers.Headers.Records exposing (argumentHeader)
|
||||
import Config.Helpers.Headers.Types as R exposing (..)
|
||||
import Config.Helpers.ImageFolders as M exposing (..)
|
||||
import Config.Helpers.Headers.Types as R exposing (Headerable(..))
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageList
|
||||
, topLevelContainer
|
||||
)
|
||||
import Config.Helpers.StrengthBar
|
||||
exposing
|
||||
( barMaker
|
||||
, barPadding
|
||||
)
|
||||
import Config.Helpers.ToolTip exposing (tooltip)
|
||||
import Config.Helpers.Viewport exposing (resetViewport)
|
||||
import Config.Pages.Debate.Arguments.List
|
||||
exposing
|
||||
( argumentList
|
||||
)
|
||||
import Config.Pages.Debate.Arguments.Types exposing (..)
|
||||
import Config.Pages.Debate.Arguments.Types exposing (Argument)
|
||||
import Config.Style.Colour.Helpers
|
||||
exposing
|
||||
( ThemeColor(..)
|
||||
, colourTheme
|
||||
, getThemeColor
|
||||
)
|
||||
import Config.Style.Glow
|
||||
import Config.Style.Icons.Icons
|
||||
exposing
|
||||
( glowDeepDarkGrey
|
||||
, glowDeepDarkOrange
|
||||
( code
|
||||
, copyLink
|
||||
, thumbsDown
|
||||
)
|
||||
import Config.Style.Icons.Types as TySvg
|
||||
exposing
|
||||
( InnerPart
|
||||
, OuterPart
|
||||
)
|
||||
import Config.Style.Images exposing (imageSquareMaker)
|
||||
import Config.Style.Transitions exposing (transitionStyleSlow)
|
||||
import Effect exposing (Effect)
|
||||
import Element as E exposing (..)
|
||||
import Element.Background as B
|
||||
import Element as E
|
||||
exposing
|
||||
( Attribute
|
||||
, Device
|
||||
, DeviceClass(..)
|
||||
, Element
|
||||
, Orientation(..)
|
||||
, alignLeft
|
||||
, alignRight
|
||||
, alignTop
|
||||
, centerX
|
||||
, centerY
|
||||
, clip
|
||||
, column
|
||||
, el
|
||||
, fill
|
||||
, focused
|
||||
, height
|
||||
, htmlAttribute
|
||||
, maximum
|
||||
, none
|
||||
, paddingEach
|
||||
, paddingXY
|
||||
, paragraph
|
||||
, rgba
|
||||
, row
|
||||
, spacing
|
||||
, text
|
||||
, width
|
||||
)
|
||||
import Element.Background as B exposing (color)
|
||||
import Element.Border as D
|
||||
exposing
|
||||
( color
|
||||
, rounded
|
||||
, shadow
|
||||
)
|
||||
import Element.Font as F
|
||||
import Html exposing (div, hr)
|
||||
import Html.Attributes as H exposing (style, title, wrap)
|
||||
exposing
|
||||
( bold
|
||||
, center
|
||||
, color
|
||||
)
|
||||
import Element.Input as Input
|
||||
import Html.Attributes as H exposing (style)
|
||||
import Layouts
|
||||
import Page exposing (Page)
|
||||
import Ports
|
||||
import Process
|
||||
import Route exposing (Route)
|
||||
import Route.Path as Path
|
||||
import Shared
|
||||
import Svg.Attributes as SvgAttr
|
||||
import Task
|
||||
import View exposing (View)
|
||||
|
||||
|
||||
|
@ -88,12 +134,12 @@ toLayout model =
|
|||
|
||||
|
||||
type alias Model =
|
||||
{}
|
||||
{ hasBeenCopied : List Bool }
|
||||
|
||||
|
||||
init : () -> ( Model, Effect Msg )
|
||||
init () =
|
||||
( {}
|
||||
( { hasBeenCopied = List.repeat 51 False }
|
||||
, Effect.batch
|
||||
[ Effect.map
|
||||
(\_ -> NoOp)
|
||||
|
@ -108,12 +154,45 @@ init () =
|
|||
|
||||
|
||||
type Msg
|
||||
= NoOp
|
||||
= CopyText String Int
|
||||
| ResetCopyState Int
|
||||
| NoOp
|
||||
|
||||
|
||||
update : Msg -> Model -> ( Model, Effect Msg )
|
||||
update msg model =
|
||||
let
|
||||
urlLinkClickUpdate : Int -> Model
|
||||
urlLinkClickUpdate index =
|
||||
{ model
|
||||
| hasBeenCopied =
|
||||
List.take index model.hasBeenCopied
|
||||
++ (case List.head (List.drop index model.hasBeenCopied) of
|
||||
Just isCLicked ->
|
||||
[ not isCLicked ]
|
||||
|
||||
Nothing ->
|
||||
[]
|
||||
-- shouldn't happen
|
||||
)
|
||||
++ List.drop (index + 1) model.hasBeenCopied
|
||||
}
|
||||
in
|
||||
case msg of
|
||||
CopyText text index ->
|
||||
( urlLinkClickUpdate index
|
||||
, Effect.batch
|
||||
[ Effect.sendCmd (Ports.copyToClipboard text)
|
||||
, Effect.sendCmd (Process.sleep 700 |> Task.perform (\_ -> ResetCopyState index))
|
||||
]
|
||||
)
|
||||
|
||||
ResetCopyState index ->
|
||||
( urlLinkClickUpdate index
|
||||
-- wrong lol
|
||||
, Effect.none
|
||||
)
|
||||
|
||||
NoOp ->
|
||||
( model
|
||||
, Effect.none
|
||||
|
@ -137,17 +216,17 @@ view : Shared.Model -> Model -> View Msg
|
|||
view shared model =
|
||||
{ title = "debate (" ++ pageNames.pageArguments ++ ")"
|
||||
, attributes = []
|
||||
, element = debateContainer shared
|
||||
, element = debateContainer shared model
|
||||
}
|
||||
|
||||
|
||||
debateContainer : Shared.Model -> Element msg
|
||||
debateContainer shared =
|
||||
topLevelContainer (debateList shared)
|
||||
debateContainer : Shared.Model -> Model -> Element Msg
|
||||
debateContainer shared model =
|
||||
topLevelContainer (debateList shared model)
|
||||
|
||||
|
||||
debateList : Shared.Model -> Element msg
|
||||
debateList shared =
|
||||
debateList : Shared.Model -> Model -> Element Msg
|
||||
debateList shared model =
|
||||
column
|
||||
(case ( shared.device.class, shared.device.orientation ) of
|
||||
_ ->
|
||||
|
@ -156,16 +235,20 @@ debateList shared =
|
|||
<|
|
||||
List.concat
|
||||
[ [ headerMaker (R.Arguments argumentHeader) ]
|
||||
, List.map
|
||||
(\argument ->
|
||||
cardMaker shared.device (C.Argument argument) (contentList shared argument)
|
||||
, List.map3
|
||||
(\argument dummy index ->
|
||||
cardMaker shared.device
|
||||
(C.Argument argument)
|
||||
(contentList shared model dummy index argument)
|
||||
)
|
||||
argumentList
|
||||
model.hasBeenCopied
|
||||
(List.range 0 (List.length argumentList))
|
||||
]
|
||||
|
||||
|
||||
contentList : Shared.Model -> Argument -> List (Element msg)
|
||||
contentList shared argument =
|
||||
contentList : Shared.Model -> Model -> Bool -> Int -> Argument -> List (Element Msg)
|
||||
contentList shared model isLinkClicked index argument =
|
||||
let
|
||||
image : String -> Element msg
|
||||
image size =
|
||||
|
@ -223,18 +306,67 @@ contentList shared argument =
|
|||
, formalizationMaker shared.device argument
|
||||
, el [ alignRight ] <|
|
||||
row [ width fill, spacing 20 ]
|
||||
[ argumentButton (Path.toString Path.Contact_Criticism) "Reject Premise"
|
||||
, argumentButton argument.proofLink "Proof Tree"
|
||||
[ generalButton shared (Path.toString Path.Contact_Criticism) thumbsDown
|
||||
, generalButton shared argument.proofLink code
|
||||
, copyButton shared model isLinkClicked index argument
|
||||
]
|
||||
]
|
||||
|
||||
|
||||
copyButton : Shared.Model -> Model -> Bool -> Int -> Argument -> Element Msg
|
||||
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 }
|
||||
]
|
||||
]
|
||||
{ onPress = Just (CopyText ("https://uprootnutrition.com" ++ Path.toString Path.Debate_Arguments ++ "#" ++ argument.argumentImage) index)
|
||||
, label =
|
||||
el
|
||||
(if isLinkClicked then
|
||||
[ transitionStyleSlow
|
||||
, tooltip "Copied!" False
|
||||
, case ( shared.device.class, shared.device.orientation ) of
|
||||
( Phone, Portrait ) ->
|
||||
B.color (getThemeColor BackgroundDarkGrey)
|
||||
|
||||
( Tablet, Portrait ) ->
|
||||
B.color (getThemeColor BackgroundDarkGrey)
|
||||
|
||||
_ ->
|
||||
B.color (getThemeColor BackgroundDeepDarkGrey)
|
||||
, paddingXY 7 7
|
||||
, D.rounded 10
|
||||
, F.color (getThemeColor TextLightOrange)
|
||||
]
|
||||
|
||||
else
|
||||
[ transitionStyleSlow
|
||||
, B.color (getThemeColor Transparent)
|
||||
, paddingXY 7 7
|
||||
, D.rounded 10
|
||||
, F.color (getThemeColor TextLightOrange)
|
||||
]
|
||||
++ getHoverColours TextLightOrange
|
||||
)
|
||||
<|
|
||||
copyLink
|
||||
{ elementAttributes =
|
||||
[]
|
||||
, sharedModel = shared
|
||||
, svgAttributes = [ SvgAttr.width "20" ]
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
strengthMaker : Shared.Model -> Element msg
|
||||
strengthMaker shared =
|
||||
el
|
||||
(if not shared.isNavbarExpanded then
|
||||
[ tooltip
|
||||
"This represents my confidence in the soundness of the argument."
|
||||
"This represents how pleasant the host was to engage with."
|
||||
True
|
||||
]
|
||||
|
||||
else
|
||||
|
@ -303,15 +435,15 @@ tableMaker device argument =
|
|||
E.table
|
||||
([ D.rounded 10
|
||||
, D.width 2
|
||||
, D.color colourTheme.textDarkGrey
|
||||
, D.color (getThemeColor TextDarkGrey)
|
||||
, clip
|
||||
]
|
||||
++ (case ( device.class, device.orientation ) of
|
||||
( Phone, Portrait ) ->
|
||||
[ B.color colourTheme.backgroundSpreadsheet ]
|
||||
[ B.color (getThemeColor BackgroundSpreadsheet) ]
|
||||
|
||||
( Tablet, Portrait ) ->
|
||||
[ B.color colourTheme.backgroundSpreadsheet ]
|
||||
[ B.color (getThemeColor BackgroundSpreadsheet) ]
|
||||
|
||||
_ ->
|
||||
[]
|
||||
|
@ -328,7 +460,7 @@ tableMaker device argument =
|
|||
, left = 1
|
||||
, right = 1
|
||||
}
|
||||
, D.color colourTheme.textDarkGrey
|
||||
, D.color (getThemeColor TextDarkGrey)
|
||||
, cellPadding
|
||||
, E.width fill
|
||||
]
|
||||
|
@ -346,7 +478,7 @@ tableMaker device argument =
|
|||
, left = 1
|
||||
, right = 1
|
||||
}
|
||||
, D.color colourTheme.textDarkGrey
|
||||
, D.color (getThemeColor TextDarkGrey)
|
||||
, cellPadding
|
||||
, E.height fill
|
||||
]
|
||||
|
@ -366,7 +498,7 @@ tableMaker device argument =
|
|||
, left = 0
|
||||
, right = 1
|
||||
}
|
||||
, D.color colourTheme.textDarkGrey
|
||||
, D.color (getThemeColor TextDarkGrey)
|
||||
, cellPadding
|
||||
, E.width fill
|
||||
]
|
||||
|
@ -382,7 +514,7 @@ tableMaker device argument =
|
|||
, left = 0
|
||||
, right = 1
|
||||
}
|
||||
, D.color colourTheme.textDarkGrey
|
||||
, D.color (getThemeColor TextDarkGrey)
|
||||
, cellPadding
|
||||
, E.height fill
|
||||
]
|
||||
|
|
|
@ -1,38 +1,55 @@
|
|||
module Pages.Debate.Cucklist exposing (Model, Msg, page)
|
||||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Cards.Inner.Helpers exposing (detailBodyMaker, detailFormat, detailSpacing, detailTitleLink, detailTitleMaker, numberedListItem)
|
||||
import Config.Helpers.Cards.Outer.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Outer.Types as C
|
||||
import Config.Helpers.Converters exposing (formatSocial)
|
||||
import Config.Helpers.Format
|
||||
import Config.Data.ImageFolders as M
|
||||
exposing
|
||||
( headerFontSizeSmall
|
||||
, paragraphFontSize
|
||||
, paragraphSpacing
|
||||
, smallTextFontSize
|
||||
( ImageFolder(..)
|
||||
, imagePathMaker
|
||||
)
|
||||
import Config.Helpers.Headers.Helpers exposing (..)
|
||||
import Config.Helpers.Cards.Inner.Text
|
||||
exposing
|
||||
( detailBodyMaker
|
||||
, detailFormat
|
||||
, detailSpacing
|
||||
, detailTitleLink
|
||||
, detailTitleMaker
|
||||
, getHoverColours
|
||||
, numberedListItem
|
||||
)
|
||||
import Config.Helpers.Cards.Inner.ToolTip exposing (tooltip)
|
||||
import Config.Helpers.Cards.Outer.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Outer.Types as C exposing (Cardable(..))
|
||||
import Config.Helpers.Converters exposing (formatSocial)
|
||||
import Config.Helpers.Headers.Helpers exposing (headerMaker)
|
||||
import Config.Helpers.Headers.Records exposing (cuckListHeader)
|
||||
import Config.Helpers.Headers.Types as R exposing (..)
|
||||
import Config.Helpers.ImageFolders as M exposing (..)
|
||||
import Config.Helpers.Headers.Types as R exposing (Headerable(..))
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageList
|
||||
, topLevelContainer
|
||||
)
|
||||
import Config.Helpers.ToolTip exposing (tooltipImage)
|
||||
import Config.Helpers.Viewport exposing (resetViewport)
|
||||
import Config.Pages.Debate.Cuckery.List
|
||||
import Config.Pages.Debate.Cuckery.List exposing (cuckList)
|
||||
import Config.Pages.Debate.Cuckery.Types
|
||||
exposing
|
||||
( cuckList
|
||||
, cuckListNumber
|
||||
( Cuck
|
||||
, Dodge
|
||||
, DodgeDescription(..)
|
||||
, DodgeFallacies(..)
|
||||
, DoxasticState(..)
|
||||
, Evaluation(..)
|
||||
)
|
||||
import Config.Pages.Debate.Cuckery.Types exposing (..)
|
||||
import Config.Style.Colour.Helpers
|
||||
exposing
|
||||
( ThemeColor(..)
|
||||
, colourTheme
|
||||
, getThemeColor
|
||||
)
|
||||
import Config.Style.Fonts exposing (smallTextFontSize)
|
||||
import Config.Style.Icons.Icons exposing (copyLink)
|
||||
import Config.Style.Icons.Types as TySvg
|
||||
exposing
|
||||
( InnerPart
|
||||
, OuterPart
|
||||
)
|
||||
import Config.Style.Images exposing (imageSquareMaker)
|
||||
import Config.Style.Transitions
|
||||
|
@ -42,15 +59,50 @@ import Config.Style.Transitions
|
|||
, transitionStyleSlow
|
||||
)
|
||||
import Effect exposing (Effect)
|
||||
import Element as E exposing (..)
|
||||
import Element.Background as B
|
||||
import Element as E
|
||||
exposing
|
||||
( Device
|
||||
, DeviceClass(..)
|
||||
, Element
|
||||
, Orientation(..)
|
||||
, alignRight
|
||||
, alignTop
|
||||
, column
|
||||
, el
|
||||
, fill
|
||||
, focused
|
||||
, htmlAttribute
|
||||
, newTabLink
|
||||
, none
|
||||
, paddingEach
|
||||
, paddingXY
|
||||
, paragraph
|
||||
, px
|
||||
, rgba
|
||||
, row
|
||||
, spacing
|
||||
, text
|
||||
, width
|
||||
)
|
||||
import Element.Background as B exposing (color)
|
||||
import Element.Border as D
|
||||
import Element.Font as F
|
||||
import Html.Attributes as H
|
||||
exposing
|
||||
( color
|
||||
, rounded
|
||||
, shadow
|
||||
)
|
||||
import Element.Font as F exposing (color)
|
||||
import Element.Input as Input
|
||||
import Html.Attributes as H exposing (style)
|
||||
import Layouts
|
||||
import Page exposing (Page)
|
||||
import Ports
|
||||
import Process
|
||||
import Route exposing (Route)
|
||||
import Route.Path as Path
|
||||
import Shared
|
||||
import Svg.Attributes as SvgAttr
|
||||
import Task
|
||||
import View exposing (View)
|
||||
|
||||
|
||||
|
@ -75,15 +127,18 @@ toLayout model =
|
|||
|
||||
|
||||
type alias Model =
|
||||
{}
|
||||
{ hasBeenCopied : List Bool }
|
||||
|
||||
|
||||
init : () -> ( Model, Effect Msg )
|
||||
init () =
|
||||
( {}
|
||||
, Effect.map
|
||||
(\_ -> NoOp)
|
||||
(Effect.sendCmd resetViewport)
|
||||
( { hasBeenCopied = List.repeat 51 False }
|
||||
, Effect.batch
|
||||
[ Effect.map
|
||||
(\_ -> NoOp)
|
||||
(Effect.sendCmd resetViewport)
|
||||
, Effect.none
|
||||
]
|
||||
)
|
||||
|
||||
|
||||
|
@ -92,12 +147,44 @@ init () =
|
|||
|
||||
|
||||
type Msg
|
||||
= NoOp
|
||||
= CopyText String Int
|
||||
| ResetCopyState Int
|
||||
| NoOp
|
||||
|
||||
|
||||
update : Msg -> Model -> ( Model, Effect Msg )
|
||||
update msg model =
|
||||
let
|
||||
urlLinkClickUpdate : Int -> Model
|
||||
urlLinkClickUpdate index =
|
||||
{ model
|
||||
| hasBeenCopied =
|
||||
List.take index model.hasBeenCopied
|
||||
++ (case List.head (List.drop index model.hasBeenCopied) of
|
||||
Just isCLicked ->
|
||||
[ not isCLicked ]
|
||||
|
||||
Nothing ->
|
||||
-- shouldn't happen
|
||||
[]
|
||||
)
|
||||
++ List.drop (index + 1) model.hasBeenCopied
|
||||
}
|
||||
in
|
||||
case msg of
|
||||
CopyText text index ->
|
||||
( urlLinkClickUpdate index
|
||||
, Effect.batch
|
||||
[ Effect.sendCmd (Ports.copyToClipboard text)
|
||||
, Effect.sendCmd (Process.sleep 700 |> Task.perform (\_ -> ResetCopyState index))
|
||||
]
|
||||
)
|
||||
|
||||
ResetCopyState index ->
|
||||
( urlLinkClickUpdate index
|
||||
, Effect.none
|
||||
)
|
||||
|
||||
NoOp ->
|
||||
( model
|
||||
, Effect.none
|
||||
|
@ -121,35 +208,37 @@ view : Shared.Model -> Model -> View Msg
|
|||
view shared model =
|
||||
{ title = "debate (" ++ pageNames.pageCucks ++ ")"
|
||||
, attributes = []
|
||||
, element = cucksContainer shared.device
|
||||
, element = cucksContainer shared model
|
||||
}
|
||||
|
||||
|
||||
cucksContainer : Device -> Element msg
|
||||
cucksContainer device =
|
||||
topLevelContainer (cucksList device)
|
||||
cucksContainer : Shared.Model -> Model -> Element Msg
|
||||
cucksContainer shared model =
|
||||
topLevelContainer (cucksList shared model)
|
||||
|
||||
|
||||
cucksList : Device -> Element msg
|
||||
cucksList device =
|
||||
cucksList : Shared.Model -> Model -> Element Msg
|
||||
cucksList shared model =
|
||||
column
|
||||
(case ( device.class, device.orientation ) of
|
||||
(case ( shared.device.class, shared.device.orientation ) of
|
||||
_ ->
|
||||
pageList device
|
||||
pageList shared.device
|
||||
)
|
||||
<|
|
||||
List.concat
|
||||
[ [ headerMaker (R.CuckList cuckListHeader) ]
|
||||
, List.map
|
||||
(\cuck ->
|
||||
cardMaker device (C.Cuck cuck) (contentList device cuck)
|
||||
, List.map3
|
||||
(\cuck dummy index ->
|
||||
cardMaker shared.device (C.Cuck cuck) (contentList shared model dummy index cuck)
|
||||
)
|
||||
cuckList
|
||||
model.hasBeenCopied
|
||||
(List.range 0 (List.length cuckList))
|
||||
]
|
||||
|
||||
|
||||
contentList : Device -> Cuck -> List (Element msg)
|
||||
contentList device cuck =
|
||||
contentList : Shared.Model -> Model -> Bool -> Int -> Cuck -> List (Element Msg)
|
||||
contentList shared model isLinkClicked index cuck =
|
||||
let
|
||||
image : String -> Element msg
|
||||
image size =
|
||||
|
@ -164,10 +253,10 @@ contentList device cuck =
|
|||
}
|
||||
]
|
||||
<|
|
||||
imageSquareMaker device (imagePathMaker M.Cuck cuck.cuckImage) True size
|
||||
imageSquareMaker shared.device (imagePathMaker M.Cuck cuck.cuckImage) True size
|
||||
in
|
||||
[ detailFormat row
|
||||
[ case ( device.class, device.orientation ) of
|
||||
[ case ( shared.device.class, shared.device.orientation ) of
|
||||
( Phone, Portrait ) ->
|
||||
none
|
||||
|
||||
|
@ -179,12 +268,60 @@ contentList device cuck =
|
|||
, detailFormat column
|
||||
[ socialMaker cuck
|
||||
, dodgeTitle cuck
|
||||
, dodgeMaker device cuck
|
||||
, dodgeMaker shared.device cuck
|
||||
, el [ alignRight ] <| copyButton shared model isLinkClicked index cuck
|
||||
]
|
||||
]
|
||||
]
|
||||
|
||||
|
||||
copyButton : Shared.Model -> Model -> Bool -> Int -> Cuck -> Element Msg
|
||||
copyButton shared model isLinkClicked index cuck =
|
||||
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 }
|
||||
]
|
||||
]
|
||||
{ onPress = Just (CopyText ("https://uprootnutrition.com" ++ Path.toString Path.Debate_Cucklist ++ "#" ++ cuck.cuckImage) index)
|
||||
, label =
|
||||
el
|
||||
(if isLinkClicked then
|
||||
[ transitionStyleSlow
|
||||
, tooltip "Copied!" False
|
||||
, case ( shared.device.class, shared.device.orientation ) of
|
||||
( Phone, Portrait ) ->
|
||||
B.color (getThemeColor BackgroundDarkGrey)
|
||||
|
||||
( Tablet, Portrait ) ->
|
||||
B.color (getThemeColor BackgroundDarkGrey)
|
||||
|
||||
_ ->
|
||||
B.color (getThemeColor BackgroundDeepDarkGrey)
|
||||
, paddingXY 7 7
|
||||
, D.rounded 10
|
||||
, F.color (getThemeColor TextLightOrange)
|
||||
]
|
||||
|
||||
else
|
||||
[ transitionStyleSlow
|
||||
, B.color (getThemeColor Transparent)
|
||||
, paddingXY 7 7
|
||||
, D.rounded 10
|
||||
, F.color (getThemeColor TextLightOrange)
|
||||
]
|
||||
++ getHoverColours TextLightOrange
|
||||
)
|
||||
<|
|
||||
copyLink
|
||||
{ elementAttributes =
|
||||
[]
|
||||
, sharedModel = shared
|
||||
, svgAttributes = [ SvgAttr.width "20" ]
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
dodgeMaker : Device -> Cuck -> Element msg
|
||||
dodgeMaker device cuck =
|
||||
column
|
||||
|
@ -282,7 +419,7 @@ circumstance cuck dodge =
|
|||
EmptyHanded ->
|
||||
"Engaged in written debate and ran away when pressed for specifics"
|
||||
)
|
||||
, el [ F.color colourTheme.textLightGrey ] <|
|
||||
, el [ F.color (getThemeColor TextLightGrey) ] <|
|
||||
text "."
|
||||
|
||||
-- , receipts cuck dodge
|
||||
|
@ -308,14 +445,14 @@ receipts cuck dodge =
|
|||
(\index2 link ->
|
||||
paragraph
|
||||
[ alignTop
|
||||
, F.color colourTheme.textLightOrange
|
||||
, F.color (getThemeColor TextLightOrange)
|
||||
]
|
||||
[ el
|
||||
[ transitionStyleSlow
|
||||
, hoverFontDarkOrange
|
||||
]
|
||||
(text (String.fromInt (index2 + 1)))
|
||||
, text ", " |> el [ F.color colourTheme.textLightGrey ]
|
||||
, text ", " |> el [ F.color (getThemeColor TextLightGrey) ]
|
||||
]
|
||||
)
|
||||
dodge.dodgeReceipts
|
||||
|
@ -439,6 +576,7 @@ reductioMaker device dodge =
|
|||
|
||||
MechanisticMasturbation ->
|
||||
displayFallacy "Mechanistic Masturbation"
|
||||
|
||||
Vaguemongering ->
|
||||
displayFallacy "Vaguemongering"
|
||||
|
||||
|
|
|
@ -1,33 +1,26 @@
|
|||
module Pages.Debate.Gibberish exposing (Model, Msg, page)
|
||||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Cards.Outer.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Outer.Types as C
|
||||
import Config.Helpers.Converters exposing (toTitleCase)
|
||||
import Config.Helpers.Format
|
||||
import Config.Data.ImageFolders as M exposing (ImageFolder(..), imagePathMaker)
|
||||
import Config.Helpers.Cards.Inner.StrengthBar
|
||||
exposing
|
||||
( headerFontSizeSmall
|
||||
, paragraphFontSize
|
||||
, paragraphSpacing
|
||||
( barMaker
|
||||
, barPadding
|
||||
)
|
||||
import Config.Helpers.Headers.Helpers exposing (..)
|
||||
import Config.Helpers.Cards.Inner.ToolTip exposing (tooltip)
|
||||
import Config.Helpers.Cards.Outer.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Outer.Types as C exposing (Cardable(..))
|
||||
import Config.Helpers.Converters exposing (toTitleCase)
|
||||
import Config.Helpers.Headers.Helpers exposing (headerMaker)
|
||||
import Config.Helpers.Headers.Records exposing (gibberishHeader)
|
||||
import Config.Helpers.Headers.Types as R exposing (..)
|
||||
import Config.Helpers.ImageFolders as M exposing (..)
|
||||
import Config.Helpers.Headers.Types as R exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageList
|
||||
, topLevelContainer
|
||||
)
|
||||
import Config.Helpers.ServiceFormat exposing (chunkMaker)
|
||||
import Config.Helpers.StrengthBar
|
||||
exposing
|
||||
( barMaker
|
||||
, barPadding
|
||||
)
|
||||
import Config.Helpers.ToolTip exposing (tooltip)
|
||||
import Config.Helpers.Viewport exposing (resetViewport)
|
||||
import Config.Pages.Debate.Arguments.Types exposing (..)
|
||||
import Config.Pages.Debate.Arguments.Types exposing (Argument)
|
||||
import Config.Pages.Debate.Gibberish.List exposing (gibberishList)
|
||||
import Config.Pages.Debate.Gibberish.Records.Epistemology exposing (epistemologyGibberish)
|
||||
import Config.Pages.Debate.Gibberish.Records.Metaphysics exposing (metaphysicsGibberish)
|
||||
|
@ -36,16 +29,53 @@ import Config.Pages.Debate.Gibberish.Records.Ontology exposing (ontologyGibberis
|
|||
import Config.Pages.Debate.Gibberish.Records.PhilOfLanguage exposing (philOfLanguageGibberish)
|
||||
import Config.Pages.Debate.Gibberish.Records.PhilOfMind exposing (philOfMindGibberish)
|
||||
import Config.Pages.Debate.Gibberish.Records.Theology exposing (theologyGibberish)
|
||||
import Config.Pages.Debate.Gibberish.Types exposing (..)
|
||||
import Config.Style.Colour.Helpers exposing (colourTheme)
|
||||
import Config.Pages.Debate.Gibberish.Types
|
||||
exposing
|
||||
( Explanation(..)
|
||||
, Gibberish
|
||||
, Terms
|
||||
)
|
||||
import Config.Style.Colour.Helpers
|
||||
exposing
|
||||
( ThemeColor(..)
|
||||
, getThemeColor
|
||||
)
|
||||
import Config.Style.Fonts
|
||||
exposing
|
||||
( defaultFontSize
|
||||
, paragraphSpacing
|
||||
)
|
||||
import Config.Style.Images exposing (imageSquareMaker)
|
||||
import Effect exposing (Effect)
|
||||
import Element as E exposing (..)
|
||||
import Element.Background as B
|
||||
import Element.Border as D
|
||||
import Element as E
|
||||
exposing
|
||||
( Device
|
||||
, DeviceClass(..)
|
||||
, Element
|
||||
, Orientation(..)
|
||||
, alignTop
|
||||
, centerX
|
||||
, column
|
||||
, el
|
||||
, fill
|
||||
, height
|
||||
, none
|
||||
, paddingEach
|
||||
, paragraph
|
||||
, row
|
||||
, spacing
|
||||
, text
|
||||
, width
|
||||
)
|
||||
import Element.Font as F
|
||||
exposing
|
||||
( alignLeft
|
||||
, bold
|
||||
, center
|
||||
, color
|
||||
, regular
|
||||
)
|
||||
import Layouts
|
||||
import List.Extra as L exposing (..)
|
||||
import Page exposing (Page)
|
||||
import Route exposing (Route)
|
||||
import Shared
|
||||
|
@ -162,7 +192,7 @@ contentList shared gibberish =
|
|||
image : String -> Element msg
|
||||
image size =
|
||||
el
|
||||
[ alignLeft
|
||||
[ E.alignLeft
|
||||
, paddingEach
|
||||
{ top = 0
|
||||
, right = 10
|
||||
|
@ -174,9 +204,9 @@ contentList shared gibberish =
|
|||
imageSquareMaker shared.device (imagePathMaker M.Gibberish gibberish.gibberishImage) True size
|
||||
in
|
||||
[ paragraph
|
||||
[ F.color colourTheme.textLightGrey
|
||||
[ F.color (getThemeColor TextLightGrey)
|
||||
, paragraphSpacing
|
||||
, paragraphFontSize
|
||||
, defaultFontSize
|
||||
, width fill
|
||||
]
|
||||
[ case ( shared.device.class, shared.device.orientation ) of
|
||||
|
@ -211,9 +241,9 @@ gibberishMakerBody shared gibberish =
|
|||
, width fill
|
||||
]
|
||||
[ paragraph
|
||||
[ F.color colourTheme.textLightGrey
|
||||
[ F.color (getThemeColor TextLightGrey)
|
||||
, paragraphSpacing
|
||||
, headerFontSizeSmall
|
||||
, defaultFontSize
|
||||
, F.center
|
||||
]
|
||||
[ domainList shared gibberish
|
||||
|
@ -250,9 +280,9 @@ descriptionMaker gibberish =
|
|||
, centerX
|
||||
]
|
||||
[ paragraph
|
||||
[ F.color colourTheme.textLightGrey
|
||||
[ F.color (getThemeColor TextLightGrey)
|
||||
, paragraphSpacing
|
||||
, paragraphFontSize
|
||||
, defaultFontSize
|
||||
, spacing 3
|
||||
, F.regular
|
||||
, F.alignLeft
|
||||
|
@ -265,18 +295,18 @@ descriptionMaker gibberish =
|
|||
makeTerms : (Terms -> Element msg) -> Int -> Terms -> Element msg
|
||||
makeTerms bar index terms =
|
||||
column
|
||||
[ F.color colourTheme.textLightGrey
|
||||
[ F.color (getThemeColor TextLightGrey)
|
||||
, paragraphSpacing
|
||||
, paragraphFontSize
|
||||
, defaultFontSize
|
||||
, F.bold
|
||||
, E.alignLeft
|
||||
, spacing 8
|
||||
, E.width fill
|
||||
]
|
||||
[ row
|
||||
[ F.color colourTheme.textLightGrey
|
||||
[ F.color (getThemeColor TextLightGrey)
|
||||
, F.regular
|
||||
, headerFontSizeSmall
|
||||
, defaultFontSize
|
||||
, F.bold
|
||||
, F.alignLeft
|
||||
, E.width fill
|
||||
|
@ -301,7 +331,7 @@ makeTerms bar index terms =
|
|||
]
|
||||
[ paragraph
|
||||
[]
|
||||
[ el [ F.color colourTheme.textLightOrange ] <|
|
||||
[ el [ F.color (getThemeColor TextLightOrange) ] <|
|
||||
text <|
|
||||
"\""
|
||||
++ String.toLower terms.term
|
||||
|
@ -309,9 +339,9 @@ makeTerms bar index terms =
|
|||
]
|
||||
, bar terms
|
||||
, paragraph
|
||||
[ F.color colourTheme.textLightGrey
|
||||
[ F.color (getThemeColor TextLightGrey)
|
||||
, F.regular
|
||||
, paragraphFontSize
|
||||
, defaultFontSize
|
||||
, F.alignLeft
|
||||
]
|
||||
[ text
|
||||
|
@ -339,9 +369,9 @@ intelligibilityBar shared terms =
|
|||
, E.alignLeft
|
||||
]
|
||||
[ paragraph
|
||||
[ F.color colourTheme.textLightGrey
|
||||
[ F.color (getThemeColor TextLightGrey)
|
||||
, F.bold
|
||||
, headerFontSizeSmall
|
||||
, defaultFontSize
|
||||
, paragraphSpacing
|
||||
, E.alignLeft
|
||||
, E.width fill
|
||||
|
@ -350,6 +380,7 @@ intelligibilityBar shared terms =
|
|||
(if not shared.isNavbarExpanded then
|
||||
[ tooltip
|
||||
tooltipMessage
|
||||
True
|
||||
]
|
||||
|
||||
else
|
||||
|
|
|
@ -1,31 +1,38 @@
|
|||
module Pages.Donate exposing (Model, Msg, page)
|
||||
|
||||
import Config.Data.Identity as I exposing (..)
|
||||
import Config.Helpers.Cards.Inner.Helpers exposing (detailBodyMaker, detailFormat, detailFormatEl, detailTitleMaker, listItem, listMaker)
|
||||
import Config.Helpers.Cards.Outer.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Outer.Types as C
|
||||
import Config.Helpers.Format
|
||||
-- import Html.Attributes as H
|
||||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Data.ImageFolders as M
|
||||
exposing
|
||||
( headerFontSizeSmall
|
||||
, paragraphFontSize
|
||||
, paragraphSpacing
|
||||
( ImageFolder(..)
|
||||
, imagePathMaker
|
||||
)
|
||||
import Config.Helpers.Headers.Helpers exposing (..)
|
||||
import Config.Helpers.Cards.Inner.StrengthBar
|
||||
exposing
|
||||
( barMaker
|
||||
, barPadding
|
||||
)
|
||||
import Config.Helpers.Cards.Inner.Text
|
||||
exposing
|
||||
( detailBodyMaker
|
||||
, detailFormat
|
||||
, detailTitleMaker
|
||||
, listItem
|
||||
, listMaker
|
||||
)
|
||||
import Config.Helpers.Cards.Inner.ToolTip exposing (tooltip)
|
||||
import Config.Helpers.Cards.Outer.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Outer.Types as C exposing (Cardable(..))
|
||||
import Config.Helpers.Headers.Helpers exposing (headerMaker)
|
||||
import Config.Helpers.Headers.Records exposing (donateHeader)
|
||||
import Config.Helpers.Headers.Types as R exposing (..)
|
||||
import Config.Helpers.ImageFolders as M exposing (..)
|
||||
import Config.Helpers.Headers.Types as R exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageList
|
||||
, topLevelContainer
|
||||
)
|
||||
import Config.Helpers.StrengthBar
|
||||
exposing
|
||||
( barMaker
|
||||
, barPadding
|
||||
)
|
||||
import Config.Helpers.ToolTip exposing (tooltip)
|
||||
import Config.Helpers.Viewport exposing (..)
|
||||
import Config.Helpers.Viewport exposing (resetViewport)
|
||||
import Config.Pages.Donate.Records.Cardano exposing (donateCardano)
|
||||
import Config.Pages.Donate.Records.KoFi exposing (donateKoFi)
|
||||
import Config.Pages.Donate.Records.LiberaPay exposing (donateLiberaPay)
|
||||
|
@ -34,19 +41,59 @@ import Config.Pages.Donate.Records.Patreon exposing (donatePatreon)
|
|||
import Config.Pages.Donate.Records.PayPal exposing (donatePayPal)
|
||||
import Config.Pages.Donate.Records.Stripe exposing (donateStripe)
|
||||
import Config.Pages.Donate.Records.YouTube exposing (donateYouTube)
|
||||
import Config.Pages.Donate.Types exposing (..)
|
||||
import Config.Style.Colour.Helpers as T exposing (..)
|
||||
import Config.Pages.Donate.Types
|
||||
exposing
|
||||
( Cons
|
||||
, Donate
|
||||
, Features
|
||||
, Pros
|
||||
)
|
||||
import Config.Style.Colour.Helpers as T
|
||||
exposing
|
||||
( ThemeColor(..)
|
||||
, getThemeColor
|
||||
)
|
||||
import Config.Style.Images exposing (imageSquareMaker)
|
||||
import Effect exposing (Effect)
|
||||
import Element as E exposing (..)
|
||||
import Element.Background as B
|
||||
import Element as E
|
||||
exposing
|
||||
( Column
|
||||
, Device
|
||||
, DeviceClass(..)
|
||||
, Element
|
||||
, Orientation(..)
|
||||
, alignLeft
|
||||
, alignTop
|
||||
, centerX
|
||||
, centerY
|
||||
, clip
|
||||
, column
|
||||
, el
|
||||
, fill
|
||||
, padding
|
||||
, paddingEach
|
||||
, paragraph
|
||||
, px
|
||||
, row
|
||||
, spacing
|
||||
, text
|
||||
)
|
||||
import Element.Background as B exposing (color)
|
||||
import Element.Border as D
|
||||
exposing
|
||||
( color
|
||||
, widthEach
|
||||
)
|
||||
import Element.Font as F
|
||||
import Html.Attributes as H
|
||||
exposing
|
||||
( bold
|
||||
, center
|
||||
, color
|
||||
)
|
||||
import Layouts
|
||||
import Page exposing (Page)
|
||||
import Route exposing (Route)
|
||||
import Shared exposing (..)
|
||||
import Shared exposing (Model)
|
||||
import Task
|
||||
import View exposing (View)
|
||||
|
||||
|
@ -217,6 +264,7 @@ preferenceMaker shared donate =
|
|||
(if not shared.isNavbarExpanded then
|
||||
[ tooltip
|
||||
"This represents how strongly I prefer a given platform relative to other platforms."
|
||||
True
|
||||
]
|
||||
|
||||
else
|
||||
|
@ -283,15 +331,15 @@ tableMaker donate device =
|
|||
([ spacing 0
|
||||
, D.rounded 10
|
||||
, D.width 2
|
||||
, D.color colourTheme.textDarkGrey
|
||||
, D.color (getThemeColor TextDarkGrey)
|
||||
, clip
|
||||
]
|
||||
++ (case ( device.class, device.orientation ) of
|
||||
( Phone, Portrait ) ->
|
||||
[ B.color colourTheme.backgroundSpreadsheet ]
|
||||
[ B.color (getThemeColor BackgroundSpreadsheet) ]
|
||||
|
||||
( Tablet, Portrait ) ->
|
||||
[ B.color colourTheme.backgroundSpreadsheet ]
|
||||
[ B.color (getThemeColor BackgroundSpreadsheet) ]
|
||||
|
||||
_ ->
|
||||
[]
|
||||
|
@ -361,18 +409,18 @@ createColumn { label, getter } =
|
|||
, left = 1
|
||||
, right = 0
|
||||
}
|
||||
, D.color colourTheme.textDarkGrey
|
||||
, D.color (getThemeColor TextDarkGrey)
|
||||
, padding 5
|
||||
, E.width fill
|
||||
, F.center
|
||||
]
|
||||
(text label)
|
||||
|> el [ F.color colourTheme.textLightOrange ]
|
||||
|> el [ F.color (getThemeColor TextLightOrange) ]
|
||||
, width = fill
|
||||
, view =
|
||||
\feature ->
|
||||
row
|
||||
[ F.color colourTheme.textLightOrange
|
||||
[ F.color (getThemeColor TextLightOrange)
|
||||
, F.bold
|
||||
, D.widthEach
|
||||
{ bottom = 1
|
||||
|
@ -380,7 +428,7 @@ createColumn { label, getter } =
|
|||
, left = 1
|
||||
, right = 0
|
||||
}
|
||||
, D.color colourTheme.textDarkGrey
|
||||
, D.color (getThemeColor TextDarkGrey)
|
||||
, padding 5
|
||||
, E.height fill
|
||||
]
|
||||
|
|
|
@ -1,12 +1,7 @@
|
|||
module Pages.Home_ exposing (Model, Msg, page)
|
||||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Cards.Inner.Helpers exposing (bodyFormat, detailBodyLink, detailBodyMaker)
|
||||
import Config.Helpers.Format
|
||||
exposing
|
||||
( paragraphFontSize
|
||||
, paragraphSpacing
|
||||
)
|
||||
import Config.Helpers.Cards.Inner.Text exposing (detailBodyLink)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
|
@ -14,7 +9,16 @@ import Config.Helpers.Response
|
|||
, topLevelContainer
|
||||
)
|
||||
import Config.Helpers.Viewport exposing (resetViewport)
|
||||
import Config.Style.Colour.Helpers exposing (ThemeColor(..), colourTheme)
|
||||
import Config.Style.Colour.Helpers
|
||||
exposing
|
||||
( ThemeColor(..)
|
||||
, colourTheme
|
||||
)
|
||||
import Config.Style.Fonts
|
||||
exposing
|
||||
( defaultFontSize
|
||||
, paragraphSpacing
|
||||
)
|
||||
import Config.Style.Glow exposing (glowDeepDarkGrey)
|
||||
import Config.Style.Icons.Icons
|
||||
exposing
|
||||
|
@ -24,17 +28,33 @@ import Config.Style.Icons.Icons
|
|||
)
|
||||
import Config.Style.Transitions exposing (transitionStyleMedium)
|
||||
import Effect exposing (Effect)
|
||||
import Element as E exposing (..)
|
||||
import Element.Background as B
|
||||
import Element.Border as D
|
||||
import Element as E
|
||||
exposing
|
||||
( Device
|
||||
, DeviceClass(..)
|
||||
, Element
|
||||
, Orientation(..)
|
||||
, centerX
|
||||
, centerY
|
||||
, column
|
||||
, el
|
||||
, html
|
||||
, maximum
|
||||
, minimum
|
||||
, newTabLink
|
||||
, paddingEach
|
||||
, paragraph
|
||||
, px
|
||||
, text
|
||||
)
|
||||
import Element.Background as B exposing (color)
|
||||
import Element.Border as D exposing (rounded)
|
||||
import Element.Font as F exposing (color)
|
||||
import Html exposing (Html)
|
||||
import Html.Attributes as H
|
||||
import Layouts
|
||||
import Page exposing (Page)
|
||||
import Route exposing (Route)
|
||||
import Shared exposing (..)
|
||||
import Svg.Attributes as SvgAttr exposing (..)
|
||||
import Shared exposing (Model)
|
||||
import View exposing (View)
|
||||
|
||||
|
||||
|
@ -185,7 +205,7 @@ homePage device image =
|
|||
paragraph
|
||||
[ F.color colourTheme.textLightGrey
|
||||
, paragraphSpacing
|
||||
, paragraphFontSize
|
||||
, defaultFontSize
|
||||
, centerX
|
||||
]
|
||||
[ text "upRootNutrition is an "
|
||||
|
|
|
@ -1,33 +1,45 @@
|
|||
module Pages.Interviews exposing (Model, Msg, page)
|
||||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Cards.Inner.Helpers exposing (..)
|
||||
import Config.Helpers.Cards.Outer.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Outer.Types as C
|
||||
import Config.Helpers.Converters exposing (formatSocial)
|
||||
import Config.Helpers.Format
|
||||
import Config.Data.ImageFolders as M
|
||||
exposing
|
||||
( headerFontSizeSmall
|
||||
, paragraphFontSize
|
||||
, paragraphSpacing
|
||||
( ImageFolder(..)
|
||||
, imagePathMaker
|
||||
)
|
||||
import Config.Helpers.Headers.Helpers exposing (..)
|
||||
import Config.Helpers.Cards.Inner.StrengthBar
|
||||
exposing
|
||||
( barMaker
|
||||
, barPadding
|
||||
)
|
||||
import Config.Helpers.Cards.Inner.Text
|
||||
exposing
|
||||
( detailBodyLink
|
||||
, detailBodyMaker
|
||||
, detailFormat
|
||||
, detailFormatEl
|
||||
, detailSpacing
|
||||
, detailTitleLinkWide
|
||||
, detailTitleMaker
|
||||
, listCounter
|
||||
, listItem
|
||||
, listMaker
|
||||
, listMaker2
|
||||
, socialMaker
|
||||
)
|
||||
import Config.Helpers.Cards.Inner.ToolTip exposing (tooltip)
|
||||
import Config.Helpers.Cards.Outer.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Outer.Types as C exposing (Cardable(..))
|
||||
import Config.Helpers.Converters exposing (formatSocial)
|
||||
import Config.Helpers.Headers.Helpers exposing (headerMaker)
|
||||
import Config.Helpers.Headers.Records exposing (interviewHeader)
|
||||
import Config.Helpers.Headers.Types as R exposing (..)
|
||||
import Config.Helpers.ImageFolders as M exposing (..)
|
||||
import Config.Helpers.Headers.Types as R exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageList
|
||||
, topLevelContainer
|
||||
)
|
||||
import Config.Helpers.StrengthBar
|
||||
exposing
|
||||
( barMaker
|
||||
, barPadding
|
||||
)
|
||||
import Config.Helpers.ToolTip exposing (tooltip)
|
||||
import Config.Helpers.Viewport exposing (resetViewport)
|
||||
import Config.Pages.Debate.Cuckery.List exposing (cuckListNumber)
|
||||
import Config.Pages.Debate.Cuckery.List exposing (cuckList)
|
||||
import Config.Pages.Interviews.Records.DrShawnBakerPodcast exposing (drShawnBakerPodcast)
|
||||
import Config.Pages.Interviews.Records.FitAndFurious exposing (fitAndFurious)
|
||||
import Config.Pages.Interviews.Records.FoolproofMastery exposing (foolproofMastery)
|
||||
|
@ -37,25 +49,42 @@ import Config.Pages.Interviews.Records.MarkBellsPowerProject exposing (markBells
|
|||
import Config.Pages.Interviews.Records.MuscleMemoirsPodcast exposing (muscleMemoirsPodcast)
|
||||
import Config.Pages.Interviews.Records.SigmaNutritionRadio exposing (sigmaNutritionRadio)
|
||||
import Config.Pages.Interviews.Records.StrenuousLifePodcast exposing (strenuousLifePodcast)
|
||||
import Config.Pages.Interviews.Types exposing (..)
|
||||
import Config.Style.Colour.Helpers exposing (ThemeColor(..), colourTheme)
|
||||
import Config.Style.Images exposing (imageSquareMaker)
|
||||
import Config.Style.Transitions
|
||||
import Config.Pages.Interviews.Types
|
||||
exposing
|
||||
( hoverFontDarkOrange
|
||||
, transitionStyleFast
|
||||
, transitionStyleSlow
|
||||
( Appearance
|
||||
, Interview
|
||||
, Subjects
|
||||
)
|
||||
import Config.Style.Colour.Helpers
|
||||
exposing
|
||||
( ThemeColor(..)
|
||||
, colourTheme
|
||||
)
|
||||
import Config.Style.Images exposing (imageSquareMaker)
|
||||
import Effect exposing (Effect)
|
||||
import Element as E exposing (..)
|
||||
import Element.Background as B
|
||||
import Element.Border as D
|
||||
import Element.Font as F
|
||||
import Element as E
|
||||
exposing
|
||||
( Device
|
||||
, DeviceClass(..)
|
||||
, Element
|
||||
, Orientation(..)
|
||||
, alignLeft
|
||||
, alignTop
|
||||
, column
|
||||
, el
|
||||
, fill
|
||||
, newTabLink
|
||||
, none
|
||||
, paddingEach
|
||||
, row
|
||||
, text
|
||||
, width
|
||||
)
|
||||
import Html.Attributes as H exposing (style)
|
||||
import Layouts
|
||||
import Page exposing (Page)
|
||||
import Route exposing (Route)
|
||||
import Shared
|
||||
import Shared exposing (Model)
|
||||
import View exposing (View)
|
||||
|
||||
|
||||
|
@ -238,6 +267,7 @@ experienceMaker shared appearanceEntry =
|
|||
(if not shared.isNavbarExpanded then
|
||||
[ tooltip
|
||||
"This represents my confidence in the soundness of the argument."
|
||||
True
|
||||
]
|
||||
|
||||
else
|
||||
|
|
|
@ -1,23 +1,26 @@
|
|||
module Pages.NotFound_ exposing (Model, Msg, page)
|
||||
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Cards.Outer.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Outer.Types as C
|
||||
import Config.Helpers.Headers.Helpers exposing (..)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageList
|
||||
, pageListCenter
|
||||
( pageListCenter
|
||||
, topLevelContainer
|
||||
)
|
||||
import Effect exposing (Effect)
|
||||
import Element as E exposing (..)
|
||||
import Element as E
|
||||
exposing
|
||||
( Device
|
||||
, DeviceClass(..)
|
||||
, Element
|
||||
, Orientation(..)
|
||||
, column
|
||||
, none
|
||||
)
|
||||
import Layouts
|
||||
import Page exposing (Page)
|
||||
import Route exposing (Route)
|
||||
import Route.Path
|
||||
import Shared
|
||||
import Shared exposing (Model)
|
||||
import View exposing (View)
|
||||
|
||||
|
||||
|
|
|
@ -3,58 +3,85 @@ 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.Cards.Inner.Helpers exposing (detailBodyMaker, detailFormat, detailTitleMaker)
|
||||
import Config.Helpers.Cards.Outer.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Outer.Types as C
|
||||
import Config.Helpers.Format
|
||||
import Config.Helpers.Cards.Inner.BuyButton exposing (buyButton)
|
||||
import Config.Helpers.Cards.Inner.Text
|
||||
exposing
|
||||
( headerFontSizeBig
|
||||
, headerFontSizeSmall
|
||||
, paragraphFontSize
|
||||
, paragraphSpacing
|
||||
, smallTextFontSize
|
||||
( detailBodyMaker
|
||||
, detailFormat
|
||||
, detailHeader
|
||||
, detailTitleMaker
|
||||
, divider
|
||||
)
|
||||
import Config.Helpers.Headers.Helpers exposing (..)
|
||||
import Config.Helpers.Cards.Outer.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Outer.Types as C exposing (Cardable(..))
|
||||
import Config.Helpers.Headers.Helpers exposing (headerMaker)
|
||||
import Config.Helpers.Headers.Records exposing (nutriDexHeader)
|
||||
import Config.Helpers.Headers.Types as R exposing (..)
|
||||
import Config.Helpers.Price exposing (buyButton)
|
||||
import Config.Helpers.Headers.Types as R exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageList
|
||||
, topLevelContainer
|
||||
)
|
||||
import Config.Helpers.ServiceFormat exposing (divider)
|
||||
import Config.Helpers.StrengthBar
|
||||
exposing
|
||||
( barMaker
|
||||
, barPadding
|
||||
)
|
||||
import Config.Helpers.ToolTip exposing (tooltip)
|
||||
import Config.Helpers.Viewport exposing (resetViewport)
|
||||
import Config.Pages.Products.Records.NutriDex exposing (productNutriDex)
|
||||
import Config.Pages.Products.Types exposing (..)
|
||||
import Config.Style.Colour.Helpers exposing (ThemeColor(..), colourTheme)
|
||||
import Config.Style.Glow exposing (glowDeepDarkGrey)
|
||||
import Config.Pages.Products.Types exposing (Features, NutriDex)
|
||||
import Config.Style.Colour.Helpers
|
||||
exposing
|
||||
( ThemeColor(..)
|
||||
, colourTheme
|
||||
)
|
||||
import Config.Style.Fonts
|
||||
exposing
|
||||
( defaultFontSize
|
||||
, headerFontSizeBig
|
||||
, paragraphSpacing
|
||||
, smallTextFontSize
|
||||
)
|
||||
import Config.Style.Icons.Icons exposing (nutriDexLogo)
|
||||
import Config.Style.Transitions
|
||||
exposing
|
||||
( hoverFontDarkOrange
|
||||
, hoverPageButtonDeepDarkOrange
|
||||
, transitionStyleFast
|
||||
, transitionStyleMedium
|
||||
, transitionStyleSlow
|
||||
)
|
||||
import Effect exposing (Effect)
|
||||
import Element as E exposing (..)
|
||||
import Element.Background as B
|
||||
import Element.Border as D
|
||||
import Element.Events as V
|
||||
import Element as E
|
||||
exposing
|
||||
( Attr
|
||||
, Device
|
||||
, DeviceClass(..)
|
||||
, Element
|
||||
, Orientation(..)
|
||||
, alignLeft
|
||||
, alignTop
|
||||
, centerX
|
||||
, centerY
|
||||
, column
|
||||
, el
|
||||
, fill
|
||||
, height
|
||||
, html
|
||||
, mouseOver
|
||||
, newTabLink
|
||||
, none
|
||||
, paddingEach
|
||||
, paddingXY
|
||||
, paragraph
|
||||
, px
|
||||
, row
|
||||
, spacing
|
||||
, text
|
||||
, width
|
||||
)
|
||||
import Element.Font as F
|
||||
import Html.Attributes as H
|
||||
exposing
|
||||
( bold
|
||||
, center
|
||||
, color
|
||||
)
|
||||
import Layouts
|
||||
import Page exposing (Page)
|
||||
import Route exposing (Route)
|
||||
import Shared exposing (..)
|
||||
import Shared exposing (Model)
|
||||
import View exposing (View)
|
||||
|
||||
|
||||
|
@ -259,7 +286,7 @@ featureList nutridex device =
|
|||
, column
|
||||
[ centerX ]
|
||||
[ column
|
||||
[ headerFontSizeSmall
|
||||
[ defaultFontSize
|
||||
, F.bold
|
||||
, F.color colourTheme.textLightOrange
|
||||
]
|
||||
|
@ -283,37 +310,11 @@ featureList nutridex device =
|
|||
]
|
||||
|
||||
|
||||
nutriDexTitleMaker : String -> Element msg
|
||||
nutriDexTitleMaker title =
|
||||
column
|
||||
[ centerX
|
||||
, width fill
|
||||
]
|
||||
[ divider
|
||||
, paragraph
|
||||
[ F.color colourTheme.textLightGrey
|
||||
, paragraphSpacing
|
||||
, F.bold
|
||||
, centerX
|
||||
, F.center
|
||||
, headerFontSizeBig
|
||||
, F.color colourTheme.textLightOrange
|
||||
, paddingEach
|
||||
{ top = 20
|
||||
, right = 0
|
||||
, bottom = 0
|
||||
, left = 0
|
||||
}
|
||||
]
|
||||
[ text (String.toUpper title) ]
|
||||
]
|
||||
|
||||
|
||||
linkFormat : List (Attr () msg)
|
||||
linkFormat =
|
||||
[ F.color colourTheme.textLightGrey
|
||||
, paragraphSpacing
|
||||
, paragraphFontSize
|
||||
, defaultFontSize
|
||||
, F.color colourTheme.textLightOrange
|
||||
, mouseOver
|
||||
[ F.color colourTheme.textDarkOrange
|
||||
|
@ -325,7 +326,7 @@ linkFormat =
|
|||
nutriDexBodyMaker : Device -> Element msg
|
||||
nutriDexBodyMaker device =
|
||||
column [ spacing 20 ]
|
||||
[ nutriDexTitleMaker "Backstory"
|
||||
[ detailHeader "Backstory"
|
||||
, detailFormat paragraph
|
||||
[ detailBodyMaker TextLightGrey (text "In May 2019, after losing my job, I sought a way to optimize my diet for nutrient density (ND) while keeping costs low. I initially found a resource called ")
|
||||
, newTabLink linkFormat
|
||||
|
@ -369,7 +370,7 @@ nutriDexBodyMaker device =
|
|||
|
||||
referenceFormat : List (Attr () msg)
|
||||
referenceFormat =
|
||||
[ paragraphFontSize
|
||||
[ defaultFontSize
|
||||
, F.color colourTheme.textLightOrange
|
||||
, alignTop
|
||||
, hoverFontDarkOrange
|
||||
|
@ -384,7 +385,7 @@ nutriDexAdjustments device =
|
|||
, height fill
|
||||
, spacing 20
|
||||
]
|
||||
[ nutriDexTitleMaker "Nutrient Density Score Adjustments"
|
||||
[ detailHeader "Nutrient Density Score Adjustments"
|
||||
, detailFormat paragraph
|
||||
[ detailBodyMaker TextLightGrey (text "• ")
|
||||
, detailBodyMaker TextLightGrey (text "No adjustments are made to vitamin B1, vitamin B2, vitamin B3, manganese, phosphorus, and potassium, due to their DRIs only representing total daily intake, or due to the nutrient having close to 100% bioavailability. ")
|
||||
|
@ -686,7 +687,7 @@ nutriDexReferences nutridex device =
|
|||
[ width fill
|
||||
, height fill
|
||||
]
|
||||
[ nutriDexTitleMaker "BIBLIOGRAPHY"
|
||||
[ detailHeader "BIBLIOGRAPHY"
|
||||
, column
|
||||
[ width fill
|
||||
, F.size 15
|
||||
|
|
|
@ -2,7 +2,12 @@ module Pages.Services exposing (Model, Msg, page)
|
|||
|
||||
import Browser
|
||||
import Config.Data.Identity exposing (pageNames)
|
||||
import Config.Helpers.Cards.Inner.Helpers
|
||||
import Config.Data.ImageFolders as M
|
||||
exposing
|
||||
( ImageFolder(..)
|
||||
, imagePathMaker
|
||||
)
|
||||
import Config.Helpers.Cards.Inner.Text
|
||||
exposing
|
||||
( detailBodyMaker
|
||||
, detailFormat
|
||||
|
@ -11,44 +16,53 @@ import Config.Helpers.Cards.Inner.Helpers
|
|||
, listMaker
|
||||
)
|
||||
import Config.Helpers.Cards.Outer.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Outer.Types as C
|
||||
import Config.Helpers.Format
|
||||
exposing
|
||||
( headerFontSizeMedium
|
||||
, headerFontSizeSmall
|
||||
, paragraphFontSize
|
||||
, paragraphSpacing
|
||||
)
|
||||
import Config.Helpers.Headers.Helpers exposing (..)
|
||||
import Config.Helpers.Cards.Outer.Types as C exposing (Cardable(..))
|
||||
import Config.Helpers.Headers.Helpers exposing (headerMaker)
|
||||
import Config.Helpers.Headers.Records exposing (servicesHeader)
|
||||
import Config.Helpers.Headers.Types as R exposing (..)
|
||||
import Config.Helpers.ImageFolders as M exposing (..)
|
||||
import Config.Helpers.Headers.Types as R exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageList
|
||||
, topLevelContainer
|
||||
)
|
||||
import Config.Helpers.ServiceFormat exposing (divider)
|
||||
import Config.Helpers.Viewport exposing (resetViewport)
|
||||
import Config.Pages.Services.Records.DebateAnalysis exposing (..)
|
||||
import Config.Pages.Services.Records.DebateCoaching exposing (..)
|
||||
import Config.Pages.Services.Records.ElmBuilds exposing (..)
|
||||
import Config.Pages.Services.Records.NixBuilds exposing (..)
|
||||
import Config.Pages.Services.Records.NutritionScience exposing (..)
|
||||
import Config.Pages.Services.Types exposing (..)
|
||||
import Config.Style.Colour.Helpers as T exposing (..)
|
||||
import Config.Style.Glow exposing (glowDeepDarkGrey, glowDeepDarkOrange)
|
||||
import Config.Pages.Services.Records.DebateAnalysis exposing (servicesDebateAnalysis)
|
||||
import Config.Pages.Services.Records.DebateCoaching exposing (servicesDebateCoaching)
|
||||
import Config.Pages.Services.Records.ElmBuilds exposing (servicesElmBuilds)
|
||||
import Config.Pages.Services.Records.NixBuilds exposing (servicesNixBuilds)
|
||||
import Config.Pages.Services.Records.NutritionScience exposing (servicesNutritionScience)
|
||||
import Config.Pages.Services.Types
|
||||
exposing
|
||||
( Description
|
||||
, Service
|
||||
)
|
||||
import Config.Style.Colour.Helpers as T
|
||||
exposing
|
||||
( ThemeColor(..)
|
||||
, getThemeColor
|
||||
)
|
||||
import Config.Style.Images exposing (imageSquareMaker)
|
||||
import Config.Style.Transitions exposing (transitionStyleMedium)
|
||||
import Effect exposing (Effect)
|
||||
import Element as E exposing (..)
|
||||
import Element.Background as B
|
||||
import Element.Border as D
|
||||
import Element.Font as F
|
||||
import Element as E
|
||||
exposing
|
||||
( Device
|
||||
, DeviceClass(..)
|
||||
, Element
|
||||
, Orientation(..)
|
||||
, alignLeft
|
||||
, column
|
||||
, el
|
||||
, fill
|
||||
, none
|
||||
, paddingEach
|
||||
, row
|
||||
, text
|
||||
, width
|
||||
)
|
||||
import Layouts
|
||||
import Page exposing (Page)
|
||||
import Route exposing (Route)
|
||||
import Shared exposing (..)
|
||||
import Shared exposing (Model)
|
||||
import View exposing (View)
|
||||
|
||||
|
||||
|
@ -152,7 +166,7 @@ servicesList device =
|
|||
]
|
||||
|
||||
|
||||
contentList : Device -> Service msg -> List (Element msg)
|
||||
contentList : Device -> Service -> List (Element msg)
|
||||
contentList device service =
|
||||
let
|
||||
image : String -> Element msg
|
||||
|
@ -188,7 +202,7 @@ contentList device service =
|
|||
]
|
||||
|
||||
|
||||
rateMaker : Service msg -> Element msg
|
||||
rateMaker : Service -> Element msg
|
||||
rateMaker service =
|
||||
detailFormat row
|
||||
[ detailTitleMaker TextLightOrange "Rate:"
|
||||
|
@ -201,7 +215,7 @@ descriptionMaker =
|
|||
detailTitleMaker TextLightOrange "Offerings:"
|
||||
|
||||
|
||||
offeringMaker : Service msg -> Element msg
|
||||
offeringMaker : Service -> Element msg
|
||||
offeringMaker service =
|
||||
listMaker makeDescription service.serviceDescription
|
||||
|
||||
|
|
|
@ -1,31 +1,31 @@
|
|||
module Pages.Services.Analysis exposing (Model, Msg, page)
|
||||
|
||||
import Config.Helpers.Articles.Article exposing (contentList)
|
||||
import Config.Helpers.Cards.Inner.BuyButton exposing (buyButton)
|
||||
import Config.Helpers.Cards.Outer.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Outer.Types as C exposing (..)
|
||||
import Config.Helpers.Format exposing (..)
|
||||
import Config.Helpers.Cards.Outer.Types as C exposing (Cardable(..))
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Price exposing (buyButton)
|
||||
import Config.Helpers.Response exposing (pageList, topLevelContainer)
|
||||
import Config.Helpers.ServiceFormat exposing (..)
|
||||
import Config.Helpers.ToolTip exposing (..)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageList
|
||||
, topLevelContainer
|
||||
)
|
||||
import Config.Helpers.Viewport exposing (resetViewport)
|
||||
import Config.Pages.Blog.Types exposing (BlogArticle)
|
||||
import Config.Pages.Services.Records.DebateAnalysis exposing (..)
|
||||
import Config.Pages.Services.Records.DebateAnalysis exposing (servicesDebateAnalysis)
|
||||
import Config.Style.Colour.Helpers exposing (colourTheme)
|
||||
import Config.Style.Transitions
|
||||
exposing
|
||||
( hoverFontDarkOrange
|
||||
, transitionStyleFast
|
||||
, transitionStyleSlow
|
||||
)
|
||||
import Effect exposing (Effect)
|
||||
import Element as E exposing (..)
|
||||
import Element.Background as B
|
||||
import Element.Border as D
|
||||
import Element.Font as F
|
||||
import Html
|
||||
import Html.Attributes as H exposing (style)
|
||||
import Element as E
|
||||
exposing
|
||||
( Device
|
||||
, DeviceClass(..)
|
||||
, Element
|
||||
, Orientation(..)
|
||||
, centerX
|
||||
, column
|
||||
, el
|
||||
, paddingXY
|
||||
)
|
||||
import Layouts
|
||||
import Page exposing (Page)
|
||||
import Route exposing (Route)
|
||||
|
@ -137,7 +137,6 @@ analysisList device =
|
|||
]
|
||||
|
||||
|
||||
|
||||
debateAnalysis : BlogArticle
|
||||
debateAnalysis =
|
||||
{ articleName = String.toUpper "Debate Analysis"
|
||||
|
|
|
@ -1,36 +1,31 @@
|
|||
module Pages.Services.Coaching exposing (Model, Msg, page)
|
||||
|
||||
import Config.Helpers.Articles.Article exposing (contentList)
|
||||
import Config.Helpers.Cards.Inner.BuyButton exposing (buyButton)
|
||||
import Config.Helpers.Cards.Outer.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Outer.Types as C
|
||||
import Config.Helpers.Format exposing (..)
|
||||
import Config.Helpers.Headers.Helpers exposing (..)
|
||||
import Config.Helpers.Cards.Outer.Types as C exposing (Cardable(..))
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Price exposing (buyButton)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageList
|
||||
, topLevelContainer
|
||||
)
|
||||
import Config.Helpers.ServiceFormat exposing (..)
|
||||
import Config.Helpers.ToolTip exposing (..)
|
||||
import Config.Helpers.Viewport exposing (resetViewport)
|
||||
import Config.Pages.Blog.Types exposing (BlogArticle)
|
||||
import Config.Pages.Services.Records.DebateCoaching exposing (servicesDebateCoaching)
|
||||
import Config.Style.Colour.Helpers exposing (colourTheme)
|
||||
import Config.Style.Transitions
|
||||
exposing
|
||||
( hoverFontDarkOrange
|
||||
, transitionStyleFast
|
||||
, transitionStyleSlow
|
||||
)
|
||||
import Effect exposing (Effect)
|
||||
import Element as E exposing (..)
|
||||
import Element.Background as B
|
||||
import Element.Border as D
|
||||
import Element.Font as F
|
||||
import Html
|
||||
import Html.Attributes as H exposing (style)
|
||||
import Element as E
|
||||
exposing
|
||||
( Device
|
||||
, DeviceClass(..)
|
||||
, Element
|
||||
, Orientation(..)
|
||||
, centerX
|
||||
, column
|
||||
, el
|
||||
, paddingXY
|
||||
)
|
||||
import Layouts
|
||||
import Page exposing (Page)
|
||||
import Route exposing (Route)
|
||||
|
@ -141,6 +136,7 @@ coachingList device =
|
|||
[ debateCoaching ]
|
||||
]
|
||||
|
||||
|
||||
debateCoaching : BlogArticle
|
||||
debateCoaching =
|
||||
{ articleName = String.toUpper "Debate Tutoring"
|
||||
|
|
|
@ -1,35 +1,45 @@
|
|||
module Pages.Services.Elm exposing (Model, Msg, page)
|
||||
|
||||
import Config.Helpers.Articles.Article exposing (contentList)
|
||||
import Config.Helpers.Cards.Inner.BuyButton exposing (buyButton)
|
||||
import Config.Helpers.Cards.Inner.Text exposing (renderCodeLine)
|
||||
import Config.Helpers.Cards.Outer.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Outer.Types as C
|
||||
import Config.Helpers.Format exposing (..)
|
||||
import Config.Helpers.Headers.Helpers exposing (..)
|
||||
import Config.Helpers.Cards.Outer.Types as C exposing (Cardable(..))
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageList
|
||||
, topLevelContainer
|
||||
)
|
||||
import Config.Helpers.ServiceFormat exposing (..)
|
||||
import Config.Helpers.ToolTip exposing (..)
|
||||
import Config.Helpers.Viewport exposing (resetViewport)
|
||||
import Config.Pages.Blog.Types exposing (BlogArticle)
|
||||
import Config.Pages.Services.Records.ElmBuilds exposing (servicesElmBuilds)
|
||||
import Config.Style.Colour.Helpers exposing (..)
|
||||
import Config.Style.Transitions
|
||||
import Config.Style.Colour.Helpers
|
||||
exposing
|
||||
( hoverFontDarkOrange
|
||||
, transitionStyleFast
|
||||
, transitionStyleSlow
|
||||
( ThemeColor(..)
|
||||
, getThemeColor
|
||||
, syntaxTheme
|
||||
)
|
||||
import Effect exposing (Effect)
|
||||
import Element as E exposing (..)
|
||||
import Element.Background as B
|
||||
import Element.Border as D
|
||||
import Element.Font as F
|
||||
import Html
|
||||
import Html.Attributes as H exposing (style)
|
||||
import Element as E
|
||||
exposing
|
||||
( Device
|
||||
, DeviceClass(..)
|
||||
, Element
|
||||
, Orientation(..)
|
||||
, centerX
|
||||
, column
|
||||
, el
|
||||
, fill
|
||||
, paddingEach
|
||||
, paddingXY
|
||||
, spacing
|
||||
, text
|
||||
, width
|
||||
)
|
||||
import Element.Background as B exposing (color)
|
||||
import Element.Border as D exposing (rounded)
|
||||
import Element.Font as F exposing (color)
|
||||
import Layouts
|
||||
import Page exposing (Page)
|
||||
import Route exposing (Route)
|
||||
|
@ -146,8 +156,7 @@ elmBuilds =
|
|||
, articleImage = ""
|
||||
, articlePublished = ""
|
||||
, articleBody = """
|
||||
The site that you're currently viewing this on was written by me in the Elm programming language. In the process of programming this website, I realized that I could create reasonably high quality work with Elm, so I'm offering it as a service at a fee that reflects my skill level.
|
||||
If you're in the market for a new frontend for your website, please inquire at [nick@upRootNutrition.com](mailto:).
|
||||
The site that you're currently viewing this on was written by me in the Elm programming language, and I'm offering frontend development as a service at a fee that reflects my skill level. If you're in the market for a new frontend for your website, please inquire at [nick@upRootNutrition.com](mailto:).
|
||||
|
||||
Below is an example of a helper function that I wrote for this site. This particular function extracts the first 80 words from all of my articles' markdown strings, and displays them as blurbs, followed by an ellipsis, in my article cards using my markdown parser.
|
||||
|
||||
|
@ -194,13 +203,13 @@ elmCodeRenderer device =
|
|||
}
|
||||
, case ( device.class, device.orientation ) of
|
||||
( Phone, Portrait ) ->
|
||||
B.color colourTheme.backgroundDarkGrey
|
||||
B.color (getThemeColor BackgroundDarkGrey)
|
||||
|
||||
( Tablet, Portrait ) ->
|
||||
B.color colourTheme.backgroundDarkGrey
|
||||
B.color (getThemeColor BackgroundDarkGrey)
|
||||
|
||||
_ ->
|
||||
B.color colourTheme.backgroundLightGrey
|
||||
B.color (getThemeColor BackgroundLightGrey)
|
||||
, D.rounded 10
|
||||
, width fill
|
||||
, spacing 8
|
||||
|
|
|
@ -1,36 +1,47 @@
|
|||
module Pages.Services.Nix exposing (Model, Msg, page)
|
||||
|
||||
import Config.Helpers.Articles.Article exposing (contentList)
|
||||
import Config.Helpers.Cards.Inner.BuyButton exposing (buyButton)
|
||||
import Config.Helpers.Cards.Inner.Text exposing (renderCodeLine)
|
||||
import Config.Helpers.Cards.Outer.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Outer.Types as C
|
||||
import Config.Helpers.Format exposing (..)
|
||||
import Config.Helpers.Headers.Helpers exposing (..)
|
||||
import Config.Helpers.Cards.Outer.Types as C exposing (Cardable(..))
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageList
|
||||
, topLevelContainer
|
||||
)
|
||||
import Config.Helpers.ServiceFormat exposing (..)
|
||||
import Config.Helpers.ToolTip exposing (..)
|
||||
import Config.Helpers.Viewport exposing (resetViewport)
|
||||
import Config.Pages.Blog.Types exposing (BlogArticle)
|
||||
import Config.Pages.Services.Records.NixBuilds exposing (servicesNixBuilds)
|
||||
import Config.Style.Colour.Helpers exposing (..)
|
||||
import Config.Style.Colour.Types exposing (..)
|
||||
import Config.Style.Transitions
|
||||
import Config.Style.Colour.Helpers
|
||||
exposing
|
||||
( hoverFontDarkOrange
|
||||
, transitionStyleFast
|
||||
, transitionStyleSlow
|
||||
( ThemeColor(..)
|
||||
, getThemeColor
|
||||
, syntaxTheme
|
||||
)
|
||||
import Config.Style.Colour.Types exposing (SyntaxColors)
|
||||
import Effect exposing (Effect)
|
||||
import Element as E exposing (..)
|
||||
import Element.Background as B
|
||||
import Element.Border as D
|
||||
import Element.Font as F
|
||||
import Html
|
||||
import Html.Attributes as H exposing (style)
|
||||
import Element as E
|
||||
exposing
|
||||
( Device
|
||||
, DeviceClass(..)
|
||||
, Element
|
||||
, Orientation(..)
|
||||
, centerX
|
||||
, column
|
||||
, el
|
||||
, fill
|
||||
, paddingEach
|
||||
, paddingXY
|
||||
, paragraph
|
||||
, spacing
|
||||
, text
|
||||
, width
|
||||
)
|
||||
import Element.Background as B exposing (color)
|
||||
import Element.Border as D exposing (rounded)
|
||||
import Element.Font as F exposing (color)
|
||||
import Layouts
|
||||
import Page exposing (Page)
|
||||
import Route exposing (Route)
|
||||
|
@ -206,13 +217,13 @@ nixCodeRenderer device =
|
|||
}
|
||||
, case ( device.class, device.orientation ) of
|
||||
( Phone, Portrait ) ->
|
||||
B.color colourTheme.backgroundDarkGrey
|
||||
B.color (getThemeColor BackgroundDarkGrey)
|
||||
|
||||
( Tablet, Portrait ) ->
|
||||
B.color colourTheme.backgroundDarkGrey
|
||||
B.color (getThemeColor BackgroundDarkGrey)
|
||||
|
||||
_ ->
|
||||
B.color colourTheme.backgroundLightGrey
|
||||
B.color (getThemeColor BackgroundLightGrey)
|
||||
, D.rounded 10
|
||||
, width fill
|
||||
, spacing 8
|
||||
|
|
|
@ -1,36 +1,31 @@
|
|||
module Pages.Services.Nutrition exposing (Model, Msg, page)
|
||||
|
||||
import Config.Helpers.Articles.Article exposing (contentList)
|
||||
import Config.Helpers.Cards.Inner.BuyButton exposing (buyButton)
|
||||
import Config.Helpers.Cards.Outer.Helpers exposing (cardMaker)
|
||||
import Config.Helpers.Cards.Outer.Types as C
|
||||
import Config.Helpers.Format exposing (..)
|
||||
import Config.Helpers.Headers.Helpers exposing (..)
|
||||
import Config.Helpers.Cards.Outer.Types as C exposing (Cardable(..))
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Price exposing (buyButton)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageList
|
||||
, topLevelContainer
|
||||
)
|
||||
import Config.Helpers.ServiceFormat exposing (..)
|
||||
import Config.Helpers.ToolTip exposing (..)
|
||||
import Config.Helpers.Viewport exposing (resetViewport)
|
||||
import Config.Pages.Blog.Types exposing (BlogArticle)
|
||||
import Config.Pages.Services.Records.NutritionScience exposing (servicesNutritionScience)
|
||||
import Config.Style.Colour.Helpers exposing (colourTheme)
|
||||
import Config.Style.Transitions
|
||||
exposing
|
||||
( hoverFontDarkOrange
|
||||
, transitionStyleFast
|
||||
, transitionStyleSlow
|
||||
)
|
||||
import Effect exposing (Effect)
|
||||
import Element as E exposing (..)
|
||||
import Element.Background as B
|
||||
import Element.Border as D
|
||||
import Element.Font as F
|
||||
import Html
|
||||
import Html.Attributes as H exposing (style)
|
||||
import Element as E
|
||||
exposing
|
||||
( Device
|
||||
, DeviceClass(..)
|
||||
, Element
|
||||
, Orientation(..)
|
||||
, centerX
|
||||
, column
|
||||
, el
|
||||
, paddingXY
|
||||
)
|
||||
import Layouts
|
||||
import Page exposing (Page)
|
||||
import Route exposing (Route)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue