feat: version 1 done?

This commit is contained in:
Nick 2024-12-23 03:15:35 -06:00
parent cf580a71d0
commit d1ba50abd8
30 changed files with 668 additions and 261 deletions

View file

@ -14,6 +14,7 @@ import Config.Helpers.Format
, paragraphFontSize , paragraphFontSize
, paragraphSpacing , paragraphSpacing
) )
import Config.Helpers.ImageFolders as M exposing (..)
import Config.Helpers.Response exposing (contentContainer) import Config.Helpers.Response exposing (contentContainer)
import Config.Pages.Debate.Arguments.Records.Template exposing (argument) import Config.Pages.Debate.Arguments.Records.Template exposing (argument)
import Config.Style.Colour exposing (colourTheme) import Config.Style.Colour exposing (colourTheme)
@ -57,7 +58,7 @@ cardMaker device cardable contents =
True True
C.Argument _ -> C.Argument _ ->
True False
C.Gibberish _ -> C.Gibberish _ ->
True True
@ -265,10 +266,21 @@ cardMaker device cardable contents =
cardImageMaker : String -> Element msg cardImageMaker : String -> Element msg
cardImageMaker image = cardImageMaker image =
let
mobileImageSize =
[ E.width <| px 45
, E.height <| px 45
]
in
el el
[ alignRight [ alignRight
, alignTop , alignTop
, padding 10 , paddingEach
{ top = 20
, bottom = 0
, left = 30
, right = 0
}
] ]
<| <|
el el
@ -287,14 +299,10 @@ cardMaker device cardable contents =
] ]
++ (case ( device.class, device.orientation ) of ++ (case ( device.class, device.orientation ) of
( Phone, Portrait ) -> ( Phone, Portrait ) ->
[ E.width <| px 45 mobileImageSize
, E.height <| px 45
]
( Tablet, Portrait ) -> ( Tablet, Portrait ) ->
[ E.width <| px 45 mobileImageSize
, E.height <| px 45
]
_ -> _ ->
[ E.width <| px 90 [ E.width <| px 90
@ -464,7 +472,7 @@ cardMaker device cardable contents =
C.Cuck cuck -> C.Cuck cuck ->
cardWithImage cardWithImage
cuck.cuckName cuck.cuckName
("/cucks/" ++ cuck.cuckImage ++ "/" ++ cuck.cuckImage ++ ".png") (imagePathMaker M.Cuck cuck.cuckImage)
contents contents
C.BlogArticle blogArticle -> C.BlogArticle blogArticle ->
@ -476,22 +484,20 @@ cardMaker device cardable contents =
cardWithImageWithLink cardWithImageWithLink
blogArticle.isNewTabLink blogArticle.isNewTabLink
blogArticle.articleName blogArticle.articleName
("/blog/" ++ blogArticle.articleImage ++ "thumb.png") (imagePathMaker M.BlogCard blogArticle.articleImage)
blogArticle.articleLink blogArticle.articleLink
contents contents
C.Argument argument -> C.Argument argument ->
cardWithNoImageWithLink cardWithNoImage
argument.isNewTabLink
argument.argumentTitle argument.argumentTitle
argument.proofLink
contents contents
C.Gibberish gibberish -> C.Gibberish gibberish ->
cardWithImageWithLink cardWithImageWithLink
gibberish.isNewTabLink gibberish.isNewTabLink
gibberish.gibberishTitle gibberish.gibberishTitle
("/gibberish/" ++ gibberish.gibberishImage ++ ".png") (imagePathMaker M.Gibberish gibberish.gibberishImage)
gibberish.gibberishLink gibberish.gibberishLink
contents contents
@ -499,7 +505,7 @@ cardMaker device cardable contents =
cardWithImageWithLink cardWithImageWithLink
service.isNewTabLink service.isNewTabLink
service.serviceName service.serviceName
("/services/" ++ service.serviceImage ++ ".png") (imagePathMaker M.Service service.serviceImage)
service.serviceLink service.serviceLink
contents contents
@ -507,7 +513,7 @@ cardMaker device cardable contents =
cardWithImageWithLink cardWithImageWithLink
debate.isNewTabLink debate.isNewTabLink
debate.debateTitle debate.debateTitle
("/debate/" ++ debate.debateImage ++ ".png") (imagePathMaker M.Debate debate.debateImage)
debate.debateLink debate.debateLink
contents contents
@ -515,14 +521,14 @@ cardMaker device cardable contents =
cardWithImageWithLink cardWithImageWithLink
donate.isNewTabLink donate.isNewTabLink
donate.donateName donate.donateName
("/donate/" ++ donate.donateImage ++ ".png") (imagePathMaker M.Donate donate.donateImage)
donate.donateLink donate.donateLink
contents contents
C.Interview interview -> C.Interview interview ->
cardWithImage cardWithImage
interview.interviewName interview.interviewName
("/interviews/" ++ interview.interviewImage ++ ".png") (imagePathMaker M.Interviews interview.interviewImage)
contents contents
C.NutriDex nutriDex -> C.NutriDex nutriDex ->

View file

@ -0,0 +1,62 @@
module Config.Helpers.ImageFolders exposing (..)
imagePathMaker : ImageFolder -> String -> String
imagePathMaker imageFolder name =
case imageFolder of
Cuck ->
"/" ++ getImageFolderString imageFolder ++ "/" ++ name ++ "/" ++ name ++ ".png"
_ ->
"/" ++ getImageFolderString imageFolder ++ "/" ++ name ++ ".png"
getImageFolderString : ImageFolder -> String
getImageFolderString imageFolder =
case imageFolder of
Interviews ->
"interviews"
Gibberish ->
"gibberish"
Cuck ->
"cucks"
BlogArticle ->
"blog"
BlogCard ->
"blog/thumbs"
Argument ->
"arguments"
Service ->
"services"
Debate ->
"debate"
Donate ->
"donate"
NutriDex ->
"nutridex"
ServicePage ->
"services"
type ImageFolder
= Interviews
| Gibberish
| Cuck
| BlogArticle
| BlogCard
| Argument
| Service
| Debate
| Donate
| NutriDex
| ServicePage

View file

@ -0,0 +1,51 @@
module Config.Helpers.Price exposing (..)
import Config.Style.Colour exposing (colourTheme)
import Config.Style.Transitions exposing (hoverPageButtonDeepDarkOrange, transitionStyleMedium)
import Element as E exposing (..)
import Element.Background as B exposing (color)
import Element.Border as D exposing (rounded)
import Element.Font as F exposing (center)
import Config.Style.Glow exposing (glowDeepDarkGrey)
buyButton : String -> String -> Element msg
buyButton price url =
el
[ D.width 5
, D.rounded 30
, centerX
, glowDeepDarkGrey
, D.color colourTheme.backgroundLightGrey
, B.color colourTheme.backgroundLightGrey
]
<|
el
[ B.color colourTheme.textDarkOrange
, D.rounded 30
, F.size 25
, F.bold
, transitionStyleMedium
, hoverPageButtonDeepDarkOrange
, paddingEach
{ top = 10
, right = 25
, bottom = 10
, left = 25
}
]
<|
newTabLink []
{ url = url
, label =
row
[ F.center
, paddingEach
{ top = 3
, right = 0
, bottom = 0
, left = 0
}
]
[ text price ]
}

View file

@ -10,7 +10,7 @@ import Element.Border as D
barMaker : (Int -> String) -> Int -> Element msg barMaker : (Int -> String) -> Int -> Element msg
barMaker getTooltip num = barMaker getTooltip num =
el el
([ height <| px 12 [ height <| px 12
, width fill , width fill
, D.rounded 10 , D.rounded 10
, D.color colourTheme.textDarkGrey , D.color colourTheme.textDarkGrey
@ -23,9 +23,8 @@ barMaker getTooltip num =
, List.repeat (10 - num) colourTheme.barRed , List.repeat (10 - num) colourTheme.barRed
] ]
} }
, tooltip (getTooltip num)
] ]
++ [ tooltip (getTooltip num) ]
)
none none

View file

@ -14,7 +14,7 @@ servicesElmBuilds =
let let
name : String name : String
name = name =
"Custom Elm Sites" "Front End Development"
in in
{ serviceImage = formatName name { serviceImage = formatName name
, serviceLink = Path.toString Path.Services_Elm , serviceLink = Path.toString Path.Services_Elm
@ -41,8 +41,8 @@ servicesElmBuilds =
, title10 = "" , title10 = ""
} }
, articleParagraph = , articleParagraph =
{ paragraph1 = [ text "The site that you're currently viewing this on was written by me in the Elm programming language. I end , chunkMaker servicesElmBuilds.serviceArticle.articleParagraph.paragraph2e. After a while, I realized that I could create high quality work with it, so I'm offering it as a service." ] { paragraph1 = [ text "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. ", text "If you're in the market for a new frontend for your website, please inquire at ", el [ F.bold, F.color colourTheme.textLightOrange ] <| text "nick@upRootNutrition.com", text "." ]
, paragraph2 = [ text "Below is an example of a function that I wrote in Elm. In this case, it's the function that is used all over my website to make the strength meters." ] , paragraph2 = [text "Below is an example of a function that I wrote for this site. This particular function renders all of the circular images on all of the site's information cards. Any time you see one of those images, this function is responsible for it."]
, paragraph3 = , paragraph3 =
[ text "The source code for this website is viewable on " [ text "The source code for this website is viewable on "
, newTabLink [] , newTabLink []

View file

@ -41,8 +41,8 @@ servicesNixBuilds =
, title10 = "" , title10 = ""
} }
, articleParagraph = , articleParagraph =
{ paragraph1 = [ text "NixOS has become popular in my community, with many people choosing to explore it over Windows, MacOS, and other Linux distributions. Naturally, as a consequence of this, I receive numerous requests for help regarding the Nix programming language and NixOS system configuration. So, to fast-track newcomers and to make my life a little bit easier for both of us, I'm offering to build custom NixOS configurations for interested clients." ] { paragraph1 = [ text "NixOS has become popular in my community, with many people choosing to explore it over Windows, MacOS, and other Linux distributions. Naturally, as a consequence of this, I receive numerous requests for help regarding the Nix programming language and NixOS system configuration. So, to fast-track newcomers and to make my life a little bit easier for both of us, I'm offering to build custom NixOS configurations for interested clients. ", text "If you're interested in having a custom Nix configuration, or having a pre-existing configuration refactored, please inquire at ", el [ F.bold, F.color colourTheme.textLightOrange ] <| text "nick@upRootNutrition.com", text "." ]
, paragraph2 = [ text "Below is an example of a nix flake that I wrote. In this case, it's the flake that was used to build the development shell for the production of this very website." ] , paragraph2 = [ text "Below is an example of a nix flake that I wrote for the devshell that I used to manage and isolate the development environment for this site. All of the packages, pre-defined settings, and tooling used for this site are managed through this flake." ]
, paragraph3 = , paragraph3 =
[ text "The source code for this website's server is viewable on " [ text "The source code for this website's server is viewable on "
, newTabLink [] , newTabLink []

View file

@ -18,6 +18,7 @@ type alias Theme =
, backgroundDarkGrey : Color , backgroundDarkGrey : Color
, backgroundDeepDarkGrey : Color , backgroundDeepDarkGrey : Color
, backgroundSpreadsheet : Color , backgroundSpreadsheet : Color
, backgroundSpreadsheetDark : Color
, shadow : Color , shadow : Color
, barGreen : Color , barGreen : Color
, barRed : Color , barRed : Color
@ -48,6 +49,7 @@ colourTheme =
, backgroundDarkGrey = rgb255 30 30 30 , backgroundDarkGrey = rgb255 30 30 30
, backgroundDeepDarkGrey = rgb255 20 20 20 , backgroundDeepDarkGrey = rgb255 20 20 20
, backgroundSpreadsheet = rgb255 36 36 36 , backgroundSpreadsheet = rgb255 36 36 36
, backgroundSpreadsheetDark = rgb255 26 26 26
, shadow = rgb255 10 10 10 , shadow = rgb255 10 10 10
, barGreen = rgb255 0 102 0 , barGreen = rgb255 0 102 0
, barRed = rgb255 102 0 0 , barRed = rgb255 102 0 0

View file

@ -900,18 +900,16 @@ construction =
] ]
construction2 : SvgTypes.OuterPart msg -> Element msg leaving : SvgTypes.OuterPart msg -> Element msg
construction2 inner = leaving inner =
HeSvg.buildSvg inner HeSvg.buildSvg inner
{ svgAttributes = { svgAttributes =
[ SvgAttr.viewBox "0 0 576 512" [ SvgAttr.viewBox "0 0 576 512"
-- Using elm-svg because typed-svg has no way of setting the fill to currentColor.
, SvgAttr.fill "currentColor" , SvgAttr.fill "currentColor"
] ]
, svg = , svg =
[ path [ path
[ SvgAttr.d "M208 64a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM9.8 214.8c5.1-12.2 19.1-18 31.4-12.9L60.7 210l22.9-38.1C99.9 144.6 129.3 128 161 128c51.4 0 97 32.9 113.3 81.7l34.6 103.7 79.3 33.1 34.2-45.6c6.4-8.5 16.6-13.3 27.2-12.8s20.3 6.4 25.8 15.5l96 160c5.9 9.9 6.1 22.2 .4 32.2s-16.3 16.2-27.8 16.2l-256 0c-11.1 0-21.4-5.7-27.2-15.2s-6.4-21.2-1.4-31.1l16-32c5.4-10.8 16.5-17.7 28.6-17.7l32 0 22.5-30L22.8 246.2c-12.2-5.1-18-19.1-12.9-31.4zm82.8 91.8l112 48c11.8 5 19.4 16.6 19.4 29.4l0 96c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-74.9-60.6-26-37 111c-5.6 16.8-23.7 25.8-40.5 20.2S-3.9 486.6 1.6 469.9l48-144 11-33 32 13.7z" [ SvgAttr.d "M320 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l82.7 0L201.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L448 109.3l0 82.7c0 17.7 14.3 32 32 32s32-14.3 32-32l0-160c0-17.7-14.3-32-32-32L320 0zM80 32C35.8 32 0 67.8 0 112L0 432c0 44.2 35.8 80 80 80l320 0c44.2 0 80-35.8 80-80l0-112c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 112c0 8.8-7.2 16-16 16L80 448c-8.8 0-16-7.2-16-16l0-320c0-8.8 7.2-16 16-16l112 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L80 32z"
] ]
[] []
] ]

View file

@ -21,6 +21,7 @@ import Config.Style.Icons.Icons
, home , home
, hyperBlog , hyperBlog
, interviews , interviews
, leaving
, lock , lock
, mastodon , mastodon
, nutriDex , nutriDex
@ -608,6 +609,12 @@ makeItem input route =
) )
[ itemIcon input route [ itemIcon input route
, itemText input route , itemText input route
, case route.isNewTabLink of
True ->
itemLeavingIcon input route
False ->
none
] ]
, url = route.url , url = route.url
} }
@ -648,6 +655,27 @@ itemIcon input route =
} }
itemLeavingIcon : NavbarInput contentMsg -> RowInput contentMsg -> Element contentMsg
itemLeavingIcon input route =
el
[ height <| px 50
, width <| px 20
, E.alignRight
, paddingXY 10 0
]
<|
leaving
{ elementAttributes =
[ E.alignRight
, E.alignTop
, centerY
]
, sharedModel = route.sharedModel
, svgAttributes =
[ SvgAttr.width "15" ]
}
itemText : NavbarInput contentMsg -> RowInput contentMsg -> Element contentMsg itemText : NavbarInput contentMsg -> RowInput contentMsg -> Element contentMsg
itemText input route = itemText input route =
el el
@ -658,6 +686,12 @@ itemText input route =
else else
transparent True transparent True
, F.bold , F.bold
, paddingEach
{ top = 6
, right = 0
, bottom = 3
, left = 0
}
] ]
<| <|
text route.name text route.name

View file

@ -6,12 +6,14 @@ import Config.Helpers.Cards.Types as C
import Config.Helpers.Converters exposing (toTitleCase) import Config.Helpers.Converters exposing (toTitleCase)
import Config.Helpers.Format import Config.Helpers.Format
exposing exposing
( paragraphFontSize ( headerFontSizeSmall
, paragraphFontSize
, paragraphSpacing , paragraphSpacing
) )
import Config.Helpers.Headers.Helpers exposing (..) import Config.Helpers.Headers.Helpers exposing (..)
import Config.Helpers.Headers.Records exposing (argumentHeader) import Config.Helpers.Headers.Records exposing (argumentHeader)
import Config.Helpers.Headers.Types as R exposing (..) import Config.Helpers.Headers.Types as R exposing (..)
import Config.Helpers.ImageFolders as M exposing (..)
import Config.Helpers.Response import Config.Helpers.Response
exposing exposing
( pageList ( pageList
@ -141,19 +143,117 @@ debateList device =
[ [ headerMaker (R.Arguments argumentHeader) ] [ [ headerMaker (R.Arguments argumentHeader) ]
, List.map , List.map
(\argument -> (\argument ->
cardMaker device (C.Argument argument) (contentList argument) cardMaker device (C.Argument argument) (contentList device argument)
) )
argumentList argumentList
] ]
contentList : Argument -> List (Element msg) contentList : Device -> Argument -> List (Element msg)
contentList argument = contentList device argument =
[ row
[ width fill
, paddingEach
{ top =
case ( device.class, device.orientation ) of
( Phone, Portrait ) ->
8
( Tablet, Portrait ) ->
8
_ ->
0
, right = 0
, bottom = 0
, left = 0
}
]
[ column [ width fill, spacing 8 ]
[ summaryMakerDesktop argument [ summaryMakerDesktop argument
, strengthBar argument , strengthBar argument
, tableMaker argument
, desktopFormalizationMaker argument
] ]
, case ( device.class, device.orientation ) of
( Phone, Portrait ) ->
none
( Tablet, Portrait ) ->
none
_ ->
argumentImageMaker argument
]
, tableMaker device argument
, desktopFormalizationMaker argument
, proofTreeButton argument.proofLink
]
argumentImageMaker : Argument -> Element msg
argumentImageMaker argument =
el
[ alignRight
, alignTop
, centerY
, paddingEach
{ top = 0
, right = 0
, bottom = 0
, left = 20
}
]
<|
el
[ D.rounded 10
, D.width 3
, D.color colourTheme.backgroundLightGrey
, B.color colourTheme.backgroundLightGrey
]
<|
E.image
[ alignRight
, alignTop
, D.rounded 10
, clip
, E.width <| px 65
, E.height <| px 65
]
{ src = imagePathMaker M.Argument argument.argumentImage
, description = ""
}
proofTreeButton : String -> Element msg
proofTreeButton url =
newTabLink
[ alignTop
, alignRight
, paddingXY 0 5
]
{ url = url
, label =
el
[ F.color colourTheme.textLightGrey
, B.color colourTheme.textDarkOrange
, D.rounded 10
, paddingEach
{ top = 6
, bottom = 3
, left = 10
, right = 10
}
, mouseOver
[ F.color colourTheme.textLightOrange
, B.color colourTheme.textDeepDarkOrange
]
, transitionStyleSlow
, headerFontSizeSmall
, F.bold
]
<|
text
"Proof Tree"
}
infoSpacing = infoSpacing =
@ -165,15 +265,12 @@ propositionMaker =
column column
[ E.alignTop, E.alignLeft ] [ E.alignTop, E.alignLeft ]
[ paragraph [ paragraph
([ F.color colourTheme.textLightGrey [ F.color colourTheme.textLightGrey
, paragraphSpacing , paragraphSpacing
, paragraphFontSize , headerFontSizeSmall
, F.bold , F.bold
]
++ [ F.size 18
, infoSpacing , infoSpacing
] ]
)
[ el [ el
[ tooltip [ tooltip
"A proposition is a declarative statement that can be evaluated as either true or false, and which serves as the basis for debate." "A proposition is a declarative statement that can be evaluated as either true or false, and which serves as the basis for debate."
@ -432,8 +529,8 @@ getConfidenceTooltip num =
"Confidence level out of expected range." "Confidence level out of expected range."
tableMaker : Argument -> Element msg tableMaker : Device -> Argument -> Element msg
tableMaker argument = tableMaker device argument =
let let
cellPadding : Attribute msg cellPadding : Attribute msg
cellPadding = cellPadding =
@ -454,12 +551,22 @@ tableMaker argument =
] ]
<| <|
E.table E.table
[ D.rounded 10 ([ D.rounded 10
, D.width 2 , D.width 2
, D.color colourTheme.textDarkGrey , D.color colourTheme.textDarkGrey
, clip , clip
, B.color colourTheme.backgroundSpreadsheet
] ]
++ (case ( device.class, device.orientation ) of
( Phone, Portrait ) ->
[ B.color colourTheme.backgroundSpreadsheet ]
( Tablet, Portrait ) ->
[ B.color colourTheme.backgroundSpreadsheet ]
_ ->
[]
)
)
{ data = argument.definitionTable { data = argument.definitionTable
, columns = , columns =
[ { header = [ { header =

View file

@ -391,13 +391,23 @@ tableMaker donate device =
] ]
<| <|
E.table E.table
[ spacing 0 ([ spacing 0
, D.rounded 10 , D.rounded 10
, D.width 2 , D.width 2
, D.color colourTheme.textDarkGrey , D.color colourTheme.textDarkGrey
, B.color colourTheme.backgroundSpreadsheet
, clip , clip
] ]
++ (case ( device.class, device.orientation ) of
( Phone, Portrait ) ->
[ B.color colourTheme.backgroundSpreadsheet ]
( Tablet, Portrait ) ->
[ B.color colourTheme.backgroundSpreadsheet ]
_ ->
[]
)
)
{ data = donate.donateFeatures { data = donate.donateFeatures
, columns = , columns =
List.map createColumn List.map createColumn

View file

@ -17,8 +17,7 @@ import Config.Style.Colour exposing (colourTheme)
import Config.Style.Glow exposing (glowDeepDarkGrey) import Config.Style.Glow exposing (glowDeepDarkGrey)
import Config.Style.Icons.Icons import Config.Style.Icons.Icons
exposing exposing
( construction2 ( upRootLarge
, upRootLarge
, upRootMedium , upRootMedium
, upRootSmall , upRootSmall
) )

View file

@ -14,6 +14,7 @@ import Config.Helpers.Format
import Config.Helpers.Headers.Helpers exposing (..) import Config.Helpers.Headers.Helpers exposing (..)
import Config.Helpers.Headers.Records exposing (nutriDexHeader) import Config.Helpers.Headers.Records exposing (nutriDexHeader)
import Config.Helpers.Headers.Types as R exposing (..) import Config.Helpers.Headers.Types as R exposing (..)
import Config.Helpers.Price exposing (buyButton)
import Config.Helpers.Response import Config.Helpers.Response
exposing exposing
( pageList ( pageList
@ -37,6 +38,7 @@ import Config.Style.Transitions
, hoverPageButtonDeepDarkOrange , hoverPageButtonDeepDarkOrange
, transitionStyleFast , transitionStyleFast
, transitionStyleMedium , transitionStyleMedium
, transitionStyleSlow
) )
import Effect exposing (Effect) import Effect exposing (Effect)
import Element as E exposing (..) import Element as E exposing (..)
@ -266,31 +268,7 @@ featureList nutridex device =
] ]
[ html nutriDexLogo [ html nutriDexLogo
] ]
, row , buyButton "$20" "https://uprootnutrition.myshopify.com/cart/31192710807615:1?channel=buy_button"
[ D.width 5
, D.rounded 30
, centerX
, glowDeepDarkGrey
, D.color colourTheme.backgroundLightGrey
, B.color colourTheme.backgroundLightGrey
]
[ row
[ B.color colourTheme.textDarkOrange
, D.rounded 30
, F.size 25
, F.bold
, transitionStyleMedium
, hoverPageButtonDeepDarkOrange
, paddingEach
{ top = 10
, right = 25
, bottom = 10
, left = 25
}
]
[ price
]
]
, column , column
[ centerX ] [ centerX ]
[ column [ column
@ -348,8 +326,11 @@ linkFormat =
[ F.color colourTheme.textLightGrey [ F.color colourTheme.textLightGrey
, paragraphSpacing , paragraphSpacing
, paragraphFontSize , paragraphFontSize
, F.color colourTheme.textLightOrange
, mouseOver
[ F.color colourTheme.textDarkOrange
] ]
++ [ F.color colourTheme.textLightOrange , transitionStyleMedium
] ]

View file

@ -4,9 +4,11 @@ import Config.Helpers.Cards.Helpers exposing (cardMaker)
import Config.Helpers.Cards.Types as C exposing (..) import Config.Helpers.Cards.Types as C exposing (..)
import Config.Helpers.Format exposing (..) import Config.Helpers.Format exposing (..)
import Config.Helpers.Headers.Types exposing (Header) import Config.Helpers.Headers.Types exposing (Header)
import Config.Helpers.Price exposing (buyButton)
import Config.Helpers.Response exposing (pageList, topLevelContainer) import Config.Helpers.Response exposing (pageList, topLevelContainer)
import Config.Helpers.ServiceFormat exposing (..) import Config.Helpers.ServiceFormat exposing (..)
import Config.Helpers.ToolTip exposing (..) import Config.Helpers.ToolTip exposing (..)
import Config.Helpers.Viewport exposing (resetViewport)
import Config.Pages.Services.Records.DebateAnalysis exposing (..) import Config.Pages.Services.Records.DebateAnalysis exposing (..)
import Config.Style.Colour exposing (colourTheme) import Config.Style.Colour exposing (colourTheme)
import Config.Style.Transitions import Config.Style.Transitions
@ -28,7 +30,6 @@ import Route exposing (Route)
import Route.Path as Path import Route.Path as Path
import Shared import Shared
import View exposing (View) import View exposing (View)
import Config.Helpers.Viewport exposing (resetViewport)
page : Shared.Model -> Route () -> Page Model Msg page : Shared.Model -> Route () -> Page Model Msg
@ -65,7 +66,6 @@ init () =
-- UPDATE -- UPDATE
@ -136,5 +136,6 @@ contentList =
, numberMaker servicesDebateAnalysis.serviceArticle.articleListEntries.list1 , numberMaker servicesDebateAnalysis.serviceArticle.articleListEntries.list1
, titleMaker servicesDebateAnalysis.serviceArticle.articleTitles.title2 , titleMaker servicesDebateAnalysis.serviceArticle.articleTitles.title2
, bulletPointMaker servicesDebateAnalysis.serviceArticle.articleListEntries.list2 , bulletPointMaker servicesDebateAnalysis.serviceArticle.articleListEntries.list2
, buyButton "Book!" "https://buy.stripe.com/14k3dr4Zh8p6c3mbIJ"
] ]
] ]

View file

@ -5,6 +5,7 @@ import Config.Helpers.Cards.Types as C
import Config.Helpers.Format exposing (..) import Config.Helpers.Format exposing (..)
import Config.Helpers.Headers.Helpers exposing (..) import Config.Helpers.Headers.Helpers exposing (..)
import Config.Helpers.Headers.Types exposing (Header) import Config.Helpers.Headers.Types exposing (Header)
import Config.Helpers.Price exposing (buyButton)
import Config.Helpers.Response import Config.Helpers.Response
exposing exposing
( pageList ( pageList
@ -12,6 +13,7 @@ import Config.Helpers.Response
) )
import Config.Helpers.ServiceFormat exposing (..) import Config.Helpers.ServiceFormat exposing (..)
import Config.Helpers.ToolTip exposing (..) import Config.Helpers.ToolTip exposing (..)
import Config.Helpers.Viewport exposing (resetViewport)
import Config.Pages.Services.Records.DebateCoaching exposing (servicesDebateCoaching) import Config.Pages.Services.Records.DebateCoaching exposing (servicesDebateCoaching)
import Config.Style.Colour exposing (colourTheme) import Config.Style.Colour exposing (colourTheme)
import Config.Style.Transitions import Config.Style.Transitions
@ -33,7 +35,6 @@ import Route exposing (Route)
import Route.Path as Path import Route.Path as Path
import Shared import Shared
import View exposing (View) import View exposing (View)
import Config.Helpers.Viewport exposing (resetViewport)
page : Shared.Model -> Route () -> Page Model Msg page : Shared.Model -> Route () -> Page Model Msg
@ -70,7 +71,6 @@ init () =
-- UPDATE -- UPDATE
@ -147,5 +147,6 @@ contentList =
, highlightedBlockMaker servicesDebateCoaching.serviceArticle.articleTitles.title6 servicesDebateCoaching.serviceArticle.articleListEntries.list6 , highlightedBlockMaker servicesDebateCoaching.serviceArticle.articleTitles.title6 servicesDebateCoaching.serviceArticle.articleListEntries.list6
, highlightedBlockMaker servicesDebateCoaching.serviceArticle.articleTitles.title7 servicesDebateCoaching.serviceArticle.articleListEntries.list7 , highlightedBlockMaker servicesDebateCoaching.serviceArticle.articleTitles.title7 servicesDebateCoaching.serviceArticle.articleListEntries.list7
, highlightedBlockMaker servicesDebateCoaching.serviceArticle.articleTitles.title8 servicesDebateCoaching.serviceArticle.articleListEntries.list8 , highlightedBlockMaker servicesDebateCoaching.serviceArticle.articleTitles.title8 servicesDebateCoaching.serviceArticle.articleListEntries.list8
, buyButton "Book!" "https://buy.stripe.com/14k01f3Vd6gY6J2146"
] ]
] ]

View file

@ -12,6 +12,7 @@ import Config.Helpers.Response
) )
import Config.Helpers.ServiceFormat exposing (..) import Config.Helpers.ServiceFormat exposing (..)
import Config.Helpers.ToolTip exposing (..) import Config.Helpers.ToolTip exposing (..)
import Config.Helpers.Viewport exposing (resetViewport)
import Config.Pages.Services.Records.ElmBuilds exposing (servicesElmBuilds) import Config.Pages.Services.Records.ElmBuilds exposing (servicesElmBuilds)
import Config.Style.Colour exposing (..) import Config.Style.Colour exposing (..)
import Config.Style.Transitions import Config.Style.Transitions
@ -33,7 +34,6 @@ import Route exposing (Route)
import Route.Path as Path import Route.Path as Path
import Shared import Shared
import View exposing (View) import View exposing (View)
import Config.Helpers.Viewport exposing (resetViewport)
page : Shared.Model -> Route () -> Page Model Msg page : Shared.Model -> Route () -> Page Model Msg
@ -70,7 +70,6 @@ init () =
-- UPDATE -- UPDATE
@ -170,24 +169,16 @@ elmCodeRenderer =
[ renderCodeLine syntaxTheme [ renderCodeLine syntaxTheme
[ text "" [ text ""
|> el [ paddingXY 0 0 ] |> el [ paddingXY 0 0 ]
, text "barMaker" , text "cardImageMaker"
|> el [ F.color syntaxTheme.key ] |> el [ F.color syntaxTheme.key ]
, text " : " , text " : "
|> el [ F.color syntaxTheme.operator ] |> el [ F.color syntaxTheme.operator ]
, text "(" , text "String"
|> el [ F.color syntaxTheme.punctuation ]
, text "Int"
|> el [ F.color syntaxTheme.keyword ] |> el [ F.color syntaxTheme.keyword ]
, text " -> " , text " -> "
|> el [ F.color syntaxTheme.operator ] |> el [ F.color syntaxTheme.operator ]
, text "String" , text "String"
|> el [ F.color syntaxTheme.keyword ] |> el [ F.color syntaxTheme.keyword ]
, text ")"
|> el [ F.color syntaxTheme.punctuation ]
, text " -> "
|> el [ F.color syntaxTheme.operator ]
, text "Int"
|> el [ F.color syntaxTheme.keyword ]
, text " -> " , text " -> "
|> el [ F.color syntaxTheme.operator ] |> el [ F.color syntaxTheme.operator ]
, text "Element" , text "Element"
@ -197,13 +188,67 @@ elmCodeRenderer =
, renderCodeLine syntaxTheme , renderCodeLine syntaxTheme
[ text "" [ text ""
|> el [ paddingXY 0 0 ] |> el [ paddingXY 0 0 ]
, text "barMaker" , text "cardImageMaker"
|> el [ F.color syntaxTheme.key ] |> el [ F.color syntaxTheme.key ]
, text " getToolTip" , text " image blurb"
, text " num"
, text " =" , text " ="
|> el [ F.color syntaxTheme.operator ] |> el [ F.color syntaxTheme.operator ]
] ]
, renderCodeLine syntaxTheme
[ text ""
|> el [ paddingXY 16 0 ]
, text "let"
|> el [ F.color syntaxTheme.keyword ]
]
, renderCodeLine syntaxTheme
[ text ""
|> el [ paddingXY 32 0 ]
, text "mobileImageSize"
, text " ="
|> el [ F.color syntaxTheme.operator ]
]
, renderCodeLine syntaxTheme
[ text ""
|> el [ paddingXY 48 0 ]
, text "["
|> el [ F.color syntaxTheme.punctuation ]
, text " E"
, text "."
|> el [ F.color syntaxTheme.punctuation ]
, text "width"
, text " <| "
|> el [ F.color syntaxTheme.operator ]
, text "px"
, text " 45"
|> el [ F.color syntaxTheme.string ]
]
, renderCodeLine syntaxTheme
[ text ""
|> el [ paddingXY 48 0 ]
, text ","
|> el [ F.color syntaxTheme.punctuation ]
, text " E"
, text "."
|> el [ F.color syntaxTheme.punctuation ]
, text "height"
, text " <| "
|> el [ F.color syntaxTheme.operator ]
, text "px"
, text " 45"
|> el [ F.color syntaxTheme.string ]
]
, renderCodeLine syntaxTheme
[ text ""
|> el [ paddingXY 48 0 ]
, text "]"
|> el [ F.color syntaxTheme.punctuation ]
]
, renderCodeLine syntaxTheme
[ text ""
|> el [ paddingXY 16 0 ]
, text "in"
|> el [ F.color syntaxTheme.keyword ]
]
, renderCodeLine syntaxTheme , renderCodeLine syntaxTheme
[ text "" [ text ""
|> el [ paddingXY 16 0 ] |> el [ paddingXY 16 0 ]
@ -211,197 +256,307 @@ elmCodeRenderer =
] ]
, renderCodeLine syntaxTheme , renderCodeLine syntaxTheme
[ text "" [ text ""
|> el [ paddingXY 28 0 ] |> el [ paddingXY 32 0 ]
, text "("
|> el [ F.color syntaxTheme.punctuation ]
, text "[" , text "["
|> el [ F.color syntaxTheme.punctuation ] |> el [ F.color syntaxTheme.punctuation ]
, text " Element" , text " alignRight"
|> el [ F.color syntaxTheme.keyword ]
, text "."
|> el [ F.color syntaxTheme.punctuation ]
, text "height"
, text " <| "
|> el [ F.color syntaxTheme.operator ]
, text "px"
, text " 12"
|> el [ F.color syntaxTheme.string ]
] ]
, renderCodeLine syntaxTheme , renderCodeLine syntaxTheme
[ text "" [ text ""
|> el [ paddingXY 32 0 ] |> el [ paddingXY 32 0 ]
, text "," , text ","
|> el [ F.color syntaxTheme.punctuation ] |> el [ F.color syntaxTheme.punctuation ]
, text " Element" , text " alignTop"
|> el [ F.color syntaxTheme.keyword ]
, text "."
|> el [ F.color syntaxTheme.punctuation ]
, text "width"
, text " fill"
] ]
, renderCodeLine syntaxTheme , renderCodeLine syntaxTheme
[ text "" [ text ""
|> el [ paddingXY 32 0 ] |> el [ paddingXY 32 0 ]
, text "," , text ","
|> el [ F.color syntaxTheme.punctuation ] |> el [ F.color syntaxTheme.punctuation ]
, text " Border" , text " padding"
|> el [ F.color syntaxTheme.keyword ]
, text "."
|> el [ F.color syntaxTheme.punctuation ]
, text "rounded"
, text " 10" , text " 10"
|> el [ F.color syntaxTheme.string ] |> el [ F.color syntaxTheme.string ]
] ]
, renderCodeLine syntaxTheme , renderCodeLine syntaxTheme
[ text "" [ text ""
|> el [ paddingXY 32 0 ] |> el [ paddingXY 32 0 ]
, text "]"
|> el [ F.color syntaxTheme.punctuation ]
]
, renderCodeLine syntaxTheme
[ text ""
|> el [ paddingXY 16 0 ]
, text "<|"
|> el [ F.color syntaxTheme.operator ]
]
, renderCodeLine syntaxTheme
[ text ""
|> el [ paddingXY 32 0 ]
, text "el"
]
, renderCodeLine syntaxTheme
[ text ""
|> el [ paddingXY 48 0 ]
, text "["
|> el [ F.color syntaxTheme.punctuation ]
, text " D"
, text "."
|> el [ F.color syntaxTheme.punctuation ]
, text "rounded"
, text " 100"
|> el [ F.color syntaxTheme.string ]
]
, renderCodeLine syntaxTheme
[ text ""
|> el [ paddingXY 48 0 ]
, text "," , text ","
|> el [ F.color syntaxTheme.punctuation ] |> el [ F.color syntaxTheme.punctuation ]
, text " Border" , text " D"
|> el [ F.color syntaxTheme.keyword ] , text "."
|> el [ F.color syntaxTheme.punctuation ]
, text "width"
, text " 5"
|> el [ F.color syntaxTheme.string ]
]
, renderCodeLine syntaxTheme
[ text ""
|> el [ paddingXY 48 0 ]
, text ","
|> el [ F.color syntaxTheme.punctuation ]
, text " glowDeepDarkGrey"
]
, renderCodeLine syntaxTheme
[ text ""
|> el [ paddingXY 48 0 ]
, text ","
|> el [ F.color syntaxTheme.punctuation ]
, text " D"
, text "." , text "."
|> el [ F.color syntaxTheme.punctuation ] |> el [ F.color syntaxTheme.punctuation ]
, text "color" , text "color"
, text " colourTheme" , text " colourTheme"
, text "." , text "."
|> el [ F.color syntaxTheme.punctuation ] |> el [ F.color syntaxTheme.punctuation ]
, text "textDarkGrey" , text "backgroundDarkGrey"
]
, renderCodeLine syntaxTheme
[ text ""
|> el [ paddingXY 32 0 ]
, text ","
|> el [ F.color syntaxTheme.punctuation ]
, text " Border"
|> el [ F.color syntaxTheme.keyword ]
, text "."
|> el [ F.color syntaxTheme.punctuation ]
, text "width"
, text " 2"
]
, renderCodeLine syntaxTheme
[ text ""
|> el [ paddingXY 32 0 ]
, text ","
|> el [ F.color syntaxTheme.punctuation ]
, text " Background"
|> el [ F.color syntaxTheme.keyword ]
, text "."
|> el [ F.color syntaxTheme.punctuation ]
, text "gradient"
]
, renderCodeLine syntaxTheme
[ text ""
|> el [ paddingXY 48 0 ]
, text "{"
|> el [ F.color syntaxTheme.punctuation ]
, text " angle"
, text " = "
|> el [ F.color syntaxTheme.operator ]
, text "1.57"
|> el [ F.color syntaxTheme.string ]
] ]
, renderCodeLine syntaxTheme , renderCodeLine syntaxTheme
[ text "" [ text ""
|> el [ paddingXY 48 0 ] |> el [ paddingXY 48 0 ]
, text "," , text ","
|> el [ F.color syntaxTheme.punctuation ] |> el [ F.color syntaxTheme.punctuation ]
, text " steps" , text " B"
, text " = "
]
, renderCodeLine syntaxTheme
[ text ""
|> el [ paddingXY 56 0 ]
, text "List"
|> el [ F.color syntaxTheme.keyword ]
, text "." , text "."
|> el [ F.color syntaxTheme.punctuation ] |> el [ F.color syntaxTheme.punctuation ]
, text "concat" , text "color"
]
, renderCodeLine syntaxTheme
[ text ""
|> el [ paddingXY 62 0 ]
, text "[ "
|> el [ F.color syntaxTheme.punctuation ]
, text "List"
|> el [ F.color syntaxTheme.keyword ]
, text "."
|> el [ F.color syntaxTheme.punctuation ]
, text "repeat"
, text " num "
, text "colourTheme"
, text "."
|> el [ F.color syntaxTheme.punctuation ]
, text "barGreen"
]
, renderCodeLine syntaxTheme
[ text ""
|> el [ paddingXY 62 0 ]
, text ", "
|> el [ F.color syntaxTheme.punctuation ]
, text "List"
|> el [ F.color syntaxTheme.keyword ]
, text "."
|> el [ F.color syntaxTheme.punctuation ]
, text "repeat"
, text " ("
|> el [ F.color syntaxTheme.punctuation ]
, text "10"
|> el [ F.color syntaxTheme.string ]
, text " - "
|> el [ F.color syntaxTheme.operator ]
, text "num"
, text " )"
|> el [ F.color syntaxTheme.punctuation ]
, text " colourTheme" , text " colourTheme"
, text "." , text "."
|> el [ F.color syntaxTheme.punctuation ] |> el [ F.color syntaxTheme.punctuation ]
, text "barRed" , text "backgroundDarkGrey"
] ]
, renderCodeLine syntaxTheme , renderCodeLine syntaxTheme
[ text "" [ text ""
|> el [ paddingXY 62 0 ] |> el [ paddingXY 48 0 ]
, text "]" , text "]"
|> el [ F.color syntaxTheme.punctuation ] |> el [ F.color syntaxTheme.punctuation ]
] ]
, renderCodeLine syntaxTheme
[ text ""
|> el [ paddingXY 32 0 ]
, text "<|"
|> el [ F.color syntaxTheme.operator ]
]
, renderCodeLine syntaxTheme , renderCodeLine syntaxTheme
[ text "" [ text ""
|> el [ paddingXY 48 0 ] |> el [ paddingXY 48 0 ]
, text "E"
, text "."
|> el [ F.color syntaxTheme.punctuation ]
, text "image"
]
, renderCodeLine syntaxTheme
[ text ""
|> el [ paddingXY 64 0 ]
, text "("
|> el [ F.color syntaxTheme.punctuation ]
, text "["
|> el [ F.color syntaxTheme.punctuation ]
, text " alignRight"
]
, renderCodeLine syntaxTheme
[ text ""
|> el [ paddingXY 64 0 ]
, text ","
|> el [ F.color syntaxTheme.punctuation ]
, text " alignTop"
]
, renderCodeLine syntaxTheme
[ text ""
|> el [ paddingXY 64 0 ]
, text ","
|> el [ F.color syntaxTheme.punctuation ]
, text " D"
, text "."
|> el [ F.color syntaxTheme.punctuation ]
, text "rounded"
, text " 100"
|> el [ F.color syntaxTheme.string ]
]
, renderCodeLine syntaxTheme
[ text ""
|> el [ paddingXY 64 0 ]
, text ","
|> el [ F.color syntaxTheme.punctuation ]
, text " clip"
]
, renderCodeLine syntaxTheme
[ text ""
|> el [ paddingXY 64 0 ]
, text "]"
|> el [ F.color syntaxTheme.punctuation ]
]
, renderCodeLine syntaxTheme
[ text ""
|> el [ paddingXY 64 0 ]
, text "++"
|> el [ F.color syntaxTheme.operator ]
, text " ("
|> el [ F.color syntaxTheme.punctuation ]
, text "case"
|> el [ F.color syntaxTheme.keyword ]
, text " ("
|> el [ F.color syntaxTheme.punctuation ]
, text " device"
, text "."
|> el [ F.color syntaxTheme.punctuation ]
, text "class"
, text ","
|> el [ F.color syntaxTheme.punctuation ]
, text " device"
, text "."
|> el [ F.color syntaxTheme.punctuation ]
, text "orientation"
, text " )"
|> el [ F.color syntaxTheme.punctuation ]
, text " of"
|> el [ F.color syntaxTheme.keyword ]
]
, renderCodeLine syntaxTheme
[ text ""
|> el [ paddingXY 80 0 ]
, text "("
|> el [ F.color syntaxTheme.punctuation ]
, text " Phone"
, text ","
|> el [ F.color syntaxTheme.punctuation ]
, text " Portrait"
, text " )"
|> el [ F.color syntaxTheme.punctuation ]
, text " ->"
|> el [ F.color syntaxTheme.operator ]
]
, renderCodeLine syntaxTheme
[ text ""
|> el [ paddingXY 96 0 ]
, text "mobileImageSize"
]
, renderCodeLine syntaxTheme
[ text ""
|> el [ paddingXY 80 0 ]
, text "("
|> el [ F.color syntaxTheme.punctuation ]
, text " Tablet"
, text ","
|> el [ F.color syntaxTheme.punctuation ]
, text " Portrait"
, text " )"
|> el [ F.color syntaxTheme.punctuation ]
, text " ->"
|> el [ F.color syntaxTheme.operator ]
]
, renderCodeLine syntaxTheme
[ text ""
|> el [ paddingXY 96 0 ]
, text "mobileImageSize"
]
, renderCodeLine syntaxTheme
[ text ""
|> el [ paddingXY 80 0 ]
, text "_"
, text " ->"
|> el [ F.color syntaxTheme.operator ]
]
, renderCodeLine syntaxTheme
[ text ""
|> el [ paddingXY 96 0 ]
, text "["
|> el [ F.color syntaxTheme.punctuation ]
, text " E"
, text "."
|> el [ F.color syntaxTheme.punctuation ]
, text "width"
, text " <| "
|> el [ F.color syntaxTheme.operator ]
, text "px"
, text " 90"
|> el [ F.color syntaxTheme.string ]
]
, renderCodeLine syntaxTheme
[ text ""
|> el [ paddingXY 96 0 ]
, text ","
|> el [ F.color syntaxTheme.punctuation ]
, text " E"
, text "."
|> el [ F.color syntaxTheme.punctuation ]
, text "height"
, text " <| "
|> el [ F.color syntaxTheme.operator ]
, text "px"
, text " 90"
|> el [ F.color syntaxTheme.string ]
]
, renderCodeLine syntaxTheme
[ text ""
|> el [ paddingXY 96 0 ]
, text "]"
|> el [ F.color syntaxTheme.punctuation ]
]
, renderCodeLine syntaxTheme
[ text ""
|> el [ paddingXY 64 0 ]
, text ")"
|> el [ F.color syntaxTheme.punctuation ]
]
, renderCodeLine syntaxTheme
[ text ""
|> el [ paddingXY 64 0 ]
, text ")"
|> el [ F.color syntaxTheme.punctuation ]
]
, renderCodeLine syntaxTheme
[ text ""
|> el [ paddingXY 64 0 ]
, text "{"
|> el [ F.color syntaxTheme.punctuation ]
, text " src"
, text " = "
|> el [ F.color syntaxTheme.operator ]
, text "image"
]
, renderCodeLine syntaxTheme
[ text ""
|> el [ paddingXY 64 0 ]
, text ","
|> el [ F.color syntaxTheme.punctuation ]
, text " description"
, text " = "
|> el [ F.color syntaxTheme.operator ]
, text "blurb"
]
, renderCodeLine syntaxTheme
[ text ""
|> el [ paddingXY 64 0 ]
, text "}" , text "}"
|> el [ F.color syntaxTheme.punctuation ] |> el [ F.color syntaxTheme.punctuation ]
] ]
, renderCodeLine syntaxTheme
[ text ""
|> el [ paddingXY 40 0 ]
, text "]"
|> el [ F.color syntaxTheme.punctuation ]
]
, renderCodeLine syntaxTheme
[ text ""
|> el [ paddingXY 48 0 ]
, text "++"
|> el [ F.color syntaxTheme.operator ]
, text " [ "
|> el [ F.color syntaxTheme.punctuation ]
, text "tooltip"
, text " ("
|> el [ F.color syntaxTheme.punctuation ]
, text "getToolTip"
, text " num"
, text ")"
|> el [ F.color syntaxTheme.punctuation ]
, text " ]"
|> el [ F.color syntaxTheme.punctuation ]
]
, renderCodeLine syntaxTheme
[ text ""
|> el [ paddingXY 28 0 ]
, text ")"
|> el [ F.color syntaxTheme.punctuation ]
]
, renderCodeLine syntaxTheme
[ text ""
|> el [ paddingXY 28 0 ]
, text "none"
]
] ]

View file

@ -12,6 +12,7 @@ import Config.Helpers.Response
) )
import Config.Helpers.ServiceFormat exposing (..) import Config.Helpers.ServiceFormat exposing (..)
import Config.Helpers.ToolTip exposing (..) import Config.Helpers.ToolTip exposing (..)
import Config.Helpers.Viewport exposing (resetViewport)
import Config.Pages.Services.Records.NixBuilds exposing (servicesNixBuilds) import Config.Pages.Services.Records.NixBuilds exposing (servicesNixBuilds)
import Config.Style.Colour exposing (..) import Config.Style.Colour exposing (..)
import Config.Style.Transitions import Config.Style.Transitions
@ -33,7 +34,6 @@ import Route exposing (Route)
import Route.Path as Path import Route.Path as Path
import Shared import Shared
import View exposing (View) import View exposing (View)
import Config.Helpers.Viewport exposing (resetViewport)
page : Shared.Model -> Route () -> Page Model Msg page : Shared.Model -> Route () -> Page Model Msg
@ -70,7 +70,6 @@ init () =
-- UPDATE -- UPDATE

View file

@ -5,6 +5,7 @@ import Config.Helpers.Cards.Types as C
import Config.Helpers.Format exposing (..) import Config.Helpers.Format exposing (..)
import Config.Helpers.Headers.Helpers exposing (..) import Config.Helpers.Headers.Helpers exposing (..)
import Config.Helpers.Headers.Types exposing (Header) import Config.Helpers.Headers.Types exposing (Header)
import Config.Helpers.Price exposing (buyButton)
import Config.Helpers.Response import Config.Helpers.Response
exposing exposing
( pageList ( pageList
@ -139,5 +140,6 @@ contentList =
, numberMaker servicesNutritionScience.serviceArticle.articleListEntries.list1 , numberMaker servicesNutritionScience.serviceArticle.articleListEntries.list1
, titleMaker servicesNutritionScience.serviceArticle.articleTitles.title2 , titleMaker servicesNutritionScience.serviceArticle.articleTitles.title2
, bulletPointMaker servicesNutritionScience.serviceArticle.articleListEntries.list2 , bulletPointMaker servicesNutritionScience.serviceArticle.articleListEntries.list2
, buyButton "Book!" "https://buy.stripe.com/5kA5lz77pdJq6J28wz"
] ]
] ]

View file

Before

Width:  |  Height:  |  Size: 851 KiB

After

Width:  |  Height:  |  Size: 851 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 265 KiB

After

Width:  |  Height:  |  Size: 265 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 879 KiB

After

Width:  |  Height:  |  Size: 879 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 537 KiB

After

Width:  |  Height:  |  Size: 537 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 614 KiB

After

Width:  |  Height:  |  Size: 614 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 917 KiB

After

Width:  |  Height:  |  Size: 917 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 148 KiB

After

Width:  |  Height:  |  Size: 148 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 292 KiB

After

Width:  |  Height:  |  Size: 292 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 584 KiB

After

Width:  |  Height:  |  Size: 584 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 395 KiB

After

Width:  |  Height:  |  Size: 395 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 826 KiB

After

Width:  |  Height:  |  Size: 826 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 5.8 KiB

Before After
Before After