feat: added some stuff

This commit is contained in:
Nick 2024-12-01 02:56:13 -06:00
parent f73dab4579
commit 36f9c89214
21 changed files with 573 additions and 155 deletions

View file

@ -0,0 +1,80 @@
module Headers.Helpers exposing (..)
import Config.CardFormat exposing (..)
import Config.Colour exposing (..)
import Config.Format exposing (..)
import Config.StrengthBar exposing (..)
import Config.ToolTip exposing (..)
import Effect exposing (Effect)
import Element as E exposing (..)
import Element.Background as B exposing (..)
import Element.Border as D
import Element.Font as F
import Headers.Types exposing (..)
import Html.Attributes as H exposing (style)
import Interviews.Types exposing (..)
import Layouts
import Page exposing (Page)
import Route exposing (Route)
import Shared
import View exposing (View)
headerMaker : Header -> Element msg
headerMaker header =
row
topLevelBox
[ column
[ E.width <| px 785
, D.width 5
, D.color colourTheme.backgroundDarkGrey
, D.roundEach
{ topLeft = 32
, topRight = 32
, bottomRight = 32
, bottomLeft = 32
}
]
[ paragraph
(nonHighlightedTitleFormat
++ [ F.size 20
, B.color colourTheme.textDarkOrange
, paddingEach
{ top = 6
, bottom = 3
, left = 25
, right = 15
}
, alignBottom
, width fill
, F.center
, D.roundEach
{ topLeft = 26
, topRight = 26
, bottomRight = 0
, bottomLeft = 0
}
]
)
[ text header.headerTitle ]
, cardFormatter
[ cardContentSpacing
[ column
fieldSpacer
[ paragraph
(paragraphFormat
++ [ F.size 18
, F.center
]
)
[ text header.headerBody ]
]
]
]
]
]
headerTitle : Header -> String
headerTitle header =
header.headerTitle

View file

@ -0,0 +1,10 @@
module Headers.Pages.Arguments exposing (..)
import Headers.Types exposing (..)
argumentHeader : Header
argumentHeader =
{ headerTitle = "DEBATE"
, headerBody = "This page features arguments that I hold to be sound. I'm open to hearing all challenges, as I am ready to engage with and defend any argument listed."
}

View file

@ -0,0 +1,10 @@
module Headers.Pages.Contact exposing (..)
import Headers.Types exposing (..)
contactHeader : Header
contactHeader =
{ headerTitle = "CONTACT"
, headerBody = "fasdklfjasdlk;fjasdl;fjasdfl;kasjdfl;askdja;lsdkjas;ldfj"
}

View file

@ -0,0 +1,10 @@
module Headers.Pages.CuckList exposing (..)
import Headers.Types exposing (..)
cuckListHeader : Header
cuckListHeader =
{ headerTitle = "CUCKLIST"
, headerBody = "This page features a list of morons who wrote cheques with their mouths that their asses couldn't cash. Each person included in this list has dodged debating me."
}

View file

@ -0,0 +1,10 @@
module Headers.Pages.Donate exposing (..)
import Headers.Types exposing (..)
donateHeader : Header
donateHeader =
{ headerTitle = "DONATE"
, headerBody = "My site, research, and content all cost time and money to run. If you find my contributions valuable, please consider supporting my work on any of the platforms listed below!"
}

View file

@ -0,0 +1,10 @@
module Headers.Pages.HyperBlog exposing (..)
import Headers.Types exposing (..)
hyperBlogHeader : Header
hyperBlogHeader =
{ headerTitle = "HYPERBLOG"
, headerBody = "fasdklfjasdlk;fjasdl;fjasdfl;kasjdfl;askdja;lsdkjas;ldfj"
}

View file

@ -0,0 +1,10 @@
module Headers.Pages.Interviews exposing (..)
import Headers.Types exposing (..)
interviewHeader : Header
interviewHeader =
{ headerTitle = "INTERVIEWS"
, headerBody = "This page showcases various podcasts and shows I've been on. If youd like to have me as a guest on your podcast, feel free to reach outId love to share my perspectives with your audience!"
}

View file

@ -0,0 +1,10 @@
module Headers.Pages.NutriDex exposing (..)
import Headers.Types exposing (..)
nutriDexHeader : Header
nutriDexHeader =
{ headerTitle = "NUTRIDEX"
, headerBody = "fasdklfjasdlk;fjasdl;fjasdfl;kasjdfl;askdja;lsdkjas;ldfj"
}

View file

@ -0,0 +1,10 @@
module Headers.Pages.Services exposing (..)
import Headers.Types exposing (..)
servicesHeader : Header
servicesHeader =
{ headerTitle = "SERVICES"
, headerBody = "Bundle any of the services below to receive a $10 discount per hour. For example, two Debate Analysis sessions would cost $140 total, instead of $80/hr. All prices are in CAD."
}

View file

@ -0,0 +1,7 @@
module Headers.Types exposing (..)
type alias Header =
{ headerTitle : String
, headerBody : String
}

View file

@ -5,7 +5,6 @@ import Config.Colour exposing (..)
import Config.Format exposing (..) import Config.Format exposing (..)
import Config.StrengthBar exposing (..) import Config.StrengthBar exposing (..)
import Config.ToolTip exposing (..) import Config.ToolTip exposing (..)
import Cuckery.Types exposing (..)
import Effect exposing (Effect) import Effect exposing (Effect)
import Element as E exposing (..) import Element as E exposing (..)
import Element.Background as B exposing (..) import Element.Background as B exposing (..)

View file

@ -60,6 +60,8 @@ import Effect exposing (Effect)
import Element exposing (..) import Element exposing (..)
import Element.Border as D exposing (..) import Element.Border as D exposing (..)
import Element.Font as F import Element.Font as F
import Headers.Helpers exposing (headerMaker)
import Headers.Pages.Arguments exposing (argumentHeader)
import Html import Html
import Html.Attributes as H exposing (style, title, wrap) import Html.Attributes as H exposing (style, title, wrap)
import Layouts import Layouts
@ -151,7 +153,10 @@ debateList =
[ column [ column
pageList pageList
<| <|
List.map argumentMaker List.concat
[ List.map headerMaker
[ argumentHeader ]
, List.map argumentMaker
[ argumentApoBCVD [ argumentApoBCVD
, argumentAnabolicKeto , argumentAnabolicKeto
, argumentAntagonisticPleiotropy , argumentAntagonisticPleiotropy
@ -202,9 +207,7 @@ debateList =
, argumentFlatEarthDebunk , argumentFlatEarthDebunk
, argumentTruncatedMeta , argumentTruncatedMeta
] ]
, column , List.map gibberishMaker
pageList
<|
List.map gibberishMaker
[ gibberishList ] [ gibberishList ]
] ]
]

View file

@ -74,6 +74,8 @@ import Effect exposing (Effect)
import Element exposing (..) import Element exposing (..)
import Element.Border as D import Element.Border as D
import Element.Font as F import Element.Font as F
import Headers.Helpers exposing (headerMaker)
import Headers.Pages.CuckList exposing (cuckListHeader)
import Html.Attributes as H exposing (style) import Html.Attributes as H exposing (style)
import Layouts import Layouts
import Page exposing (Page) import Page exposing (Page)
@ -161,7 +163,10 @@ dodgersList =
column column
pageList pageList
<| <|
List.map cuckMaker List.concat
[ List.map headerMaker
[ cuckListHeader ]
, List.map cuckMaker
[ cuckAdamSinger [ cuckAdamSinger
, cuckAmberOHearn , cuckAmberOHearn
, cuckAnnChilders , cuckAnnChilders
@ -229,3 +234,4 @@ dodgersList =
, cuckZoeHarcombe , cuckZoeHarcombe
, cuckZsofiaClemens , cuckZsofiaClemens
] ]
]

View file

@ -17,6 +17,8 @@ import Element as E exposing (..)
import Element.Background as B exposing (..) import Element.Background as B exposing (..)
import Element.Border as D exposing (..) import Element.Border as D exposing (..)
import Element.Font as F import Element.Font as F
import Headers.Helpers exposing (headerMaker)
import Headers.Pages.Donate exposing (donateHeader)
import Html.Attributes as H exposing (style) import Html.Attributes as H exposing (style)
import Layouts import Layouts
import Page exposing (Page) import Page exposing (Page)
@ -101,20 +103,11 @@ donateContainer =
donateList : Element msg donateList : Element msg
donateList = donateList =
column pageList column pageList <|
[ paragraph List.concat
(paragraphFormat [ List.map headerMaker
++ [ F.size 18 [ donateHeader ]
, alignTop , List.map donateMaker
, E.width <| px 800
, centerX, F.center
]
)
[ text "Any of the below services may be bundled for a $10 discount off each hour. For example, bundling two sessions of Debate Analysis would be $140 total, rather than $80/hr. All services are changed in CAD." ]
, column
pageList
<|
List.map donateMaker
[ donateLiberaPay [ donateLiberaPay
, donatePayPal , donatePayPal
, donatePatreon , donatePatreon

View file

@ -7,6 +7,8 @@ import Config.Identity as I exposing (..)
import Effect exposing (Effect) import Effect exposing (Effect)
import Element exposing (..) import Element exposing (..)
import Element.Font as F import Element.Font as F
import Headers.Helpers exposing (headerMaker)
import Headers.Pages.NutriDex exposing (nutriDexHeader)
import Html.Attributes as H exposing (style) import Html.Attributes as H exposing (style)
import Layouts import Layouts
import Page exposing (Page) import Page exposing (Page)
@ -23,6 +25,12 @@ page shared route =
, subscriptions = subscriptions , subscriptions = subscriptions
, view = view , view = view
} }
|> Page.withLayout toLayout
toLayout : Model -> Layouts.Layout Msg
toLayout model =
Layouts.Navbar {}
@ -72,4 +80,7 @@ subscriptions model =
view : Model -> View Msg view : Model -> View Msg
view model = view model =
View.fromString "Pages.Hyperblog" { title = hyperBlogName
, attributes = []
, element = none
}

View file

@ -7,6 +7,8 @@ import Effect exposing (Effect)
import Element exposing (..) import Element exposing (..)
import Element.Border as D import Element.Border as D
import Element.Font as F import Element.Font as F
import Headers.Helpers exposing (headerMaker)
import Headers.Pages.Interviews exposing (interviewHeader)
import Html import Html
import Html.Attributes as H exposing (style) import Html.Attributes as H exposing (style)
import Interviews.Episodes.DrShawnBakerPodcast exposing (drShawnBakerPodcast) import Interviews.Episodes.DrShawnBakerPodcast exposing (drShawnBakerPodcast)
@ -20,6 +22,7 @@ import Interviews.Episodes.SigmaNutritionRadio exposing (sigmaNutritionRadio)
import Interviews.Episodes.StrenuousLifePodcast exposing (strenuousLifePodcast) import Interviews.Episodes.StrenuousLifePodcast exposing (strenuousLifePodcast)
import Interviews.Helpers exposing (..) import Interviews.Helpers exposing (..)
import Layouts import Layouts
import List exposing (head)
import Page exposing (Page) import Page exposing (Page)
import Route exposing (Route) import Route exposing (Route)
import Shared import Shared
@ -105,7 +108,10 @@ interviewList =
column column
pageList pageList
<| <|
List.map interviewMaker List.concat
[ List.map headerMaker
[ interviewHeader ]
, List.map interviewMaker
[ sigmaNutritionRadio [ sigmaNutritionRadio
, markBellsPowerProject , markBellsPowerProject
, foolproofMastery , foolproofMastery
@ -116,3 +122,4 @@ interviewList =
, strenuousLifePodcast , strenuousLifePodcast
, drShawnBakerPodcast , drShawnBakerPodcast
] ]
]

View file

@ -0,0 +1,107 @@
module Pages.Nutridex exposing (Model, Msg, page)
import Config.Colour as T exposing (..)
import Config.Format as O exposing (..)
import Config.Identity as I exposing (..)
import Donate.Types exposing (..)
import Effect exposing (Effect)
import Element as E exposing (..)
import Element.Background as B exposing (..)
import Element.Border as D exposing (..)
import Element.Font as F
import Headers.Helpers exposing (headerMaker)
import Headers.Pages.Donate exposing (donateHeader)
import Headers.Pages.NutriDex exposing (nutriDexHeader)
import Html
import Html.Attributes as H exposing (style)
import Layout exposing (..)
import Layouts
import Page exposing (Page)
import Products.Helpers exposing (..)
import Products.NutriDex.NutriDex exposing (productNutriDex)
import Route exposing (Route)
import Shared exposing (..)
import View exposing (View)
page : Shared.Model -> Route () -> Page Model Msg
page shared route =
Page.new
{ init = init
, update = update
, subscriptions = subscriptions
, view = view
}
|> Page.withLayout toLayout
toLayout : Model -> Layouts.Layout Msg
toLayout model =
Layouts.Navbar {}
-- INIT
type alias Model =
{}
init : () -> ( Model, Effect Msg )
init () =
( {}
, Effect.none
)
-- UPDATE
type Msg
= NoOp
update : Msg -> Model -> ( Model, Effect Msg )
update msg model =
case msg of
NoOp ->
( model
, Effect.none
)
-- SUBSCRIPTIONS
subscriptions : Model -> Sub Msg
subscriptions model =
Sub.none
-- VIEW
view : Model -> View Msg
view model =
{ title = nutriDexName
, attributes = []
, element = nutriDexContainer
}
nutriDexContainer : Element msg
nutriDexContainer =
topLevelContainer nutriDexList
nutriDexList : Element msg
nutriDexList =
column pageList <|
List.concat
[ List.map nutriDexMaker
[ productNutriDex ]
]

View file

@ -6,6 +6,8 @@ import Config.Identity as I exposing (..)
import Effect exposing (Effect) import Effect exposing (Effect)
import Element exposing (..) import Element exposing (..)
import Element.Font as F import Element.Font as F
import Headers.Helpers exposing (headerMaker)
import Headers.Pages.Services exposing (servicesHeader)
import Html.Attributes as H exposing (style) import Html.Attributes as H exposing (style)
import Layouts import Layouts
import Page exposing (Page) import Page exposing (Page)
@ -99,10 +101,14 @@ servicesList =
column column
pageList pageList
<| <|
List.map serviceMaker List.concat
[ List.map headerMaker
[ servicesHeader ]
, List.map serviceMaker
[ servicesDebateAnalysis [ servicesDebateAnalysis
, servicesDebateTutoring , servicesDebateTutoring
, servicesNutritionScience , servicesNutritionScience
, servicesNixBuilds , servicesNixBuilds
, servicesElmBuilds , servicesElmBuilds
] ]
]

View file

@ -0,0 +1,76 @@
module Products.Helpers exposing (..)
import Config.CardFormat exposing (..)
import Config.Colour exposing (..)
import Config.Format exposing (..)
import Config.StrengthBar exposing (..)
import Config.ToolTip exposing (..)
import Effect exposing (Effect)
import Element as E exposing (..)
import Element.Background as B exposing (..)
import Element.Border as D
import Element.Font as F
import Headers.Types exposing (..)
import Html.Attributes as H exposing (style)
import Interviews.Types exposing (..)
import Layouts
import Page exposing (Page)
import Products.Types exposing (..)
import Route exposing (Route)
import Shared
import View exposing (View)
nutriDexMaker : NutriDex -> Element msg
nutriDexMaker nutridex =
row
topLevelBox
[ column
[ E.width <| px 785
, D.width 5
, D.color colourTheme.backgroundDarkGrey
, D.roundEach
{ topLeft = 32
, topRight = 32
, bottomRight = 32
, bottomLeft = 32
}
]
[ paragraph
(nonHighlightedTitleFormat
++ [ F.size 20
, B.color colourTheme.textDarkOrange
, paddingEach
{ top = 6
, bottom = 3
, left = 25
, right = 15
}
, alignBottom
, width fill
, F.center
, D.roundEach
{ topLeft = 26
, topRight = 26
, bottomRight = 0
, bottomLeft = 0
}
]
)
[ text nutridex.nutriDexTitle ]
, cardFormatter
[ cardContentSpacing
[ column
fieldSpacer
[ paragraph
(paragraphFormat
++ [ F.size 18
, F.center
]
)
[ text nutridex.nutriDexTitle ]
]
]
]
]
]

View file

@ -0,0 +1,21 @@
module Products.NutriDex.NutriDex exposing (..)
import Products.Types exposing (..)
productNutriDex : NutriDex
productNutriDex =
{ nutriDexTitle = "The NutriDex"
, nutriDexFeatures =
[ { feature = "feature"
}
]
, nutriDexReference =
[ { reference = "reference"
, author = "author"
, year = "year"
, title = "title"
, link = "link"
}
]
}

View file

@ -0,0 +1,22 @@
module Products.Types exposing (..)
type alias NutriDex =
{ nutriDexTitle : String
, nutriDexFeatures : List Features
, nutriDexReference : List References
}
type alias Features =
{ feature : String
}
type alias References =
{ reference : String
, author : String
, title : String
, link : String
, year : String
}