mirror of
https://gitlab.com/upRootNutrition/website.git
synced 2025-06-16 12:25:12 -05:00
feat: very close to v1
This commit is contained in:
parent
a9fb4fb14b
commit
cf580a71d0
38 changed files with 428 additions and 246 deletions
334
frontend/src/Config/Helpers/Cards/Helpers.elm
Normal file → Executable file
334
frontend/src/Config/Helpers/Cards/Helpers.elm
Normal file → Executable file
|
@ -8,7 +8,9 @@ import Config.Helpers.Cards.Types as C exposing (..)
|
|||
import Config.Helpers.Converters exposing (formatName)
|
||||
import Config.Helpers.Format
|
||||
exposing
|
||||
( headerFontSizeMedium
|
||||
( divider
|
||||
, headerFontSizeBig
|
||||
, headerFontSizeMedium
|
||||
, paragraphFontSize
|
||||
, paragraphSpacing
|
||||
)
|
||||
|
@ -78,37 +80,195 @@ cardMaker device cardable contents =
|
|||
C.ServicePage _ ->
|
||||
False
|
||||
|
||||
cardTitleMaker : String -> Element msg
|
||||
cardTitleMaker title =
|
||||
cardTitleMaker : String -> Maybe String -> Element msg
|
||||
cardTitleMaker title maybeUrl =
|
||||
el
|
||||
[ headerFontSizeMedium
|
||||
, F.bold
|
||||
, F.color colourTheme.textLightGrey
|
||||
, B.color colourTheme.textDarkOrange
|
||||
, paddingEach
|
||||
{ top = 6
|
||||
, bottom = 3
|
||||
, left = 20
|
||||
, right = 20
|
||||
}
|
||||
, width fill
|
||||
, F.center
|
||||
, D.roundEach
|
||||
{ topLeft = 26
|
||||
, topRight = 26
|
||||
, bottomRight = 0
|
||||
, bottomLeft = 0
|
||||
}
|
||||
]
|
||||
([ headerFontSizeMedium
|
||||
, F.bold
|
||||
, F.color colourTheme.textLightGrey
|
||||
, width fill
|
||||
]
|
||||
++ (case ( device.class, device.orientation ) of
|
||||
( Phone, Portrait ) ->
|
||||
[]
|
||||
|
||||
( Tablet, Portrait ) ->
|
||||
[]
|
||||
|
||||
_ ->
|
||||
[ F.center
|
||||
, B.color colourTheme.textDarkOrange
|
||||
, D.roundEach
|
||||
{ topLeft = 26
|
||||
, topRight = 26
|
||||
, bottomRight = 0
|
||||
, bottomLeft = 0
|
||||
}
|
||||
, paddingEach
|
||||
{ top = 6
|
||||
, bottom = 3
|
||||
, left = 20
|
||||
, right = 20
|
||||
}
|
||||
]
|
||||
)
|
||||
)
|
||||
<|
|
||||
paragraph [] [ text title ]
|
||||
column
|
||||
[ width fill
|
||||
, spacing 10
|
||||
]
|
||||
[ case ( device.class, device.orientation ) of
|
||||
( Phone, Portrait ) ->
|
||||
case cardable of
|
||||
C.NutriDex _ ->
|
||||
none
|
||||
|
||||
C.Contact _ ->
|
||||
none
|
||||
|
||||
_ ->
|
||||
divider
|
||||
|
||||
( Tablet, Portrait ) ->
|
||||
case cardable of
|
||||
C.NutriDex _ ->
|
||||
none
|
||||
|
||||
C.Contact _ ->
|
||||
none
|
||||
|
||||
_ ->
|
||||
divider
|
||||
|
||||
_ ->
|
||||
none
|
||||
, case cardable of
|
||||
C.BlogCard blogArticle ->
|
||||
case ( device.class, device.orientation ) of
|
||||
( Phone, Portrait ) ->
|
||||
image
|
||||
[ width fill
|
||||
, paddingEach
|
||||
{ top = 8
|
||||
, bottom = 0
|
||||
, left = 0
|
||||
, right = 0
|
||||
}
|
||||
]
|
||||
{ src = "/blog/" ++ blogArticle.articleImage ++ ".png", description = "" }
|
||||
|
||||
( Tablet, Portrait ) ->
|
||||
image
|
||||
[ width fill
|
||||
, paddingEach
|
||||
{ top = 8
|
||||
, bottom = 0
|
||||
, left = 0
|
||||
, right = 0
|
||||
}
|
||||
]
|
||||
{ src = "/blog/" ++ blogArticle.articleImage ++ ".png", description = "" }
|
||||
|
||||
_ ->
|
||||
none
|
||||
|
||||
_ ->
|
||||
none
|
||||
, row [ width fill, spacing 10 ]
|
||||
[ case cardable of
|
||||
C.NutriDex _ ->
|
||||
case ( device.class, device.orientation ) of
|
||||
( Phone, Portrait ) ->
|
||||
none
|
||||
|
||||
( Tablet, Portrait ) ->
|
||||
none
|
||||
|
||||
_ ->
|
||||
paragraph [] [ text title ]
|
||||
|
||||
C.Contact _ ->
|
||||
case ( device.class, device.orientation ) of
|
||||
( Phone, Portrait ) ->
|
||||
none
|
||||
|
||||
( Tablet, Portrait ) ->
|
||||
none
|
||||
|
||||
_ ->
|
||||
paragraph [] [ text title ]
|
||||
|
||||
_ ->
|
||||
paragraph [] [ text title ]
|
||||
, el
|
||||
[ alignRight
|
||||
]
|
||||
(case ( device.class, device.orientation ) of
|
||||
( Phone, Portrait ) ->
|
||||
case maybeUrl of
|
||||
Just url ->
|
||||
readMoreLink url
|
||||
|
||||
Nothing ->
|
||||
none
|
||||
|
||||
( Tablet, Portrait ) ->
|
||||
case maybeUrl of
|
||||
Just url ->
|
||||
readMoreLink url
|
||||
|
||||
Nothing ->
|
||||
none
|
||||
|
||||
_ ->
|
||||
none
|
||||
)
|
||||
]
|
||||
]
|
||||
|
||||
readMoreLink : String -> Element msg
|
||||
readMoreLink url =
|
||||
link [ alignTop, 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
|
||||
, paragraphFontSize
|
||||
]
|
||||
<|
|
||||
text
|
||||
(case cardable of
|
||||
C.Donate _ ->
|
||||
"Support!"
|
||||
|
||||
C.Argument _ ->
|
||||
"Proof Tree!"
|
||||
|
||||
_ ->
|
||||
"Read More!"
|
||||
)
|
||||
}
|
||||
|
||||
cardImageMaker : String -> Element msg
|
||||
cardImageMaker image =
|
||||
el
|
||||
[ alignRight
|
||||
, alignTop
|
||||
, paddingXY 20 20
|
||||
, padding 10
|
||||
]
|
||||
<|
|
||||
el
|
||||
|
@ -146,16 +306,32 @@ cardMaker device cardable contents =
|
|||
, description = ""
|
||||
}
|
||||
|
||||
cardInner : String -> List (Element msg) -> Element msg
|
||||
cardInner title elements =
|
||||
cardInner : String -> Maybe String -> List (Element msg) -> Element msg
|
||||
cardInner title maybeUrl elements =
|
||||
column
|
||||
[ width fill
|
||||
, spacing 0
|
||||
]
|
||||
[ cardTitleMaker title
|
||||
, cardStuff <|
|
||||
[ cardTitleMaker title maybeUrl
|
||||
, (case ( device.class, device.orientation ) of
|
||||
( Phone, Portrait ) ->
|
||||
el
|
||||
[ E.width fill
|
||||
, centerX
|
||||
]
|
||||
|
||||
( Tablet, Portrait ) ->
|
||||
el
|
||||
[ E.width fill
|
||||
, centerX
|
||||
]
|
||||
|
||||
_ ->
|
||||
cardStuff
|
||||
)
|
||||
<|
|
||||
row
|
||||
[ width fill
|
||||
, height fill
|
||||
]
|
||||
elements
|
||||
]
|
||||
|
@ -165,22 +341,33 @@ cardMaker device cardable contents =
|
|||
contentContainer <|
|
||||
el
|
||||
([ E.width fill
|
||||
, D.width 5
|
||||
, D.color colourTheme.backgroundDarkGrey
|
||||
, D.rounded 32
|
||||
, glowDeepDarkGrey
|
||||
]
|
||||
++ (if hasLink then
|
||||
[ mouseOver
|
||||
[ D.color colourTheme.textDarkOrange
|
||||
, B.color colourTheme.textDarkOrange
|
||||
, glowDeepDarkOrange
|
||||
]
|
||||
, transitionStyleSlow
|
||||
]
|
||||
++ (case ( device.class, device.orientation ) of
|
||||
( Phone, Portrait ) ->
|
||||
[]
|
||||
|
||||
else
|
||||
[]
|
||||
( Tablet, Portrait ) ->
|
||||
[]
|
||||
|
||||
_ ->
|
||||
[ E.width fill
|
||||
, D.width 5
|
||||
, D.color colourTheme.backgroundDarkGrey
|
||||
, D.rounded 32
|
||||
, glowDeepDarkGrey
|
||||
]
|
||||
++ (if hasLink then
|
||||
[ mouseOver
|
||||
[ D.color colourTheme.textDarkOrange
|
||||
, B.color colourTheme.textDarkOrange
|
||||
, glowDeepDarkOrange
|
||||
]
|
||||
, transitionStyleSlow
|
||||
]
|
||||
|
||||
else
|
||||
[]
|
||||
)
|
||||
)
|
||||
)
|
||||
elements
|
||||
|
@ -190,8 +377,22 @@ cardMaker device cardable contents =
|
|||
linkChooser
|
||||
linkBool
|
||||
(cardInner title
|
||||
(if hasLink then
|
||||
Just url
|
||||
|
||||
else
|
||||
Nothing
|
||||
)
|
||||
[ cardContentMaker content
|
||||
, cardImageMaker image
|
||||
, case ( device.class, device.orientation ) of
|
||||
( Phone, Portrait ) ->
|
||||
none
|
||||
|
||||
( Tablet, Portrait ) ->
|
||||
none
|
||||
|
||||
_ ->
|
||||
cardImageMaker image
|
||||
]
|
||||
)
|
||||
url
|
||||
|
@ -201,6 +402,7 @@ cardMaker device cardable contents =
|
|||
linkChooser
|
||||
linkBool
|
||||
(cardInner title
|
||||
(Just url)
|
||||
[ cardContentMaker content
|
||||
]
|
||||
)
|
||||
|
@ -210,30 +412,48 @@ cardMaker device cardable contents =
|
|||
cardWithImage title image content =
|
||||
cardOuter <|
|
||||
cardInner title
|
||||
Nothing
|
||||
[ cardContentMaker content
|
||||
, cardImageMaker image
|
||||
, case ( device.class, device.orientation ) of
|
||||
( Phone, Portrait ) ->
|
||||
none
|
||||
|
||||
( Tablet, Portrait ) ->
|
||||
none
|
||||
|
||||
_ ->
|
||||
cardImageMaker image
|
||||
]
|
||||
|
||||
cardWithNoImage : String -> List (Element msg) -> Element msg
|
||||
cardWithNoImage title content =
|
||||
cardOuter <|
|
||||
cardInner title
|
||||
Nothing
|
||||
[ cardContentMaker content
|
||||
]
|
||||
|
||||
linkChooser : Bool -> Element msg -> String -> Element msg
|
||||
linkChooser linkBool element url =
|
||||
cardOuter <|
|
||||
(if linkBool then
|
||||
newTabLink
|
||||
case ( device.class, device.orientation ) of
|
||||
( Phone, Portrait ) ->
|
||||
el [ width fill ] <| element
|
||||
|
||||
else
|
||||
link
|
||||
)
|
||||
[ width fill ]
|
||||
{ url = url
|
||||
, label = element
|
||||
}
|
||||
( Tablet, Portrait ) ->
|
||||
el [ width fill ] <| element
|
||||
|
||||
_ ->
|
||||
(if linkBool then
|
||||
newTabLink
|
||||
|
||||
else
|
||||
link
|
||||
)
|
||||
[ width fill ]
|
||||
{ url = url
|
||||
, label = element
|
||||
}
|
||||
in
|
||||
case cardable of
|
||||
C.Contact contact ->
|
||||
|
@ -242,11 +462,9 @@ cardMaker device cardable contents =
|
|||
contents
|
||||
|
||||
C.Cuck cuck ->
|
||||
cardWithImageWithLink
|
||||
cuck.isNewTabLink
|
||||
cardWithImage
|
||||
cuck.cuckName
|
||||
("/cucks/" ++ cuck.cuckImage ++ "/" ++ cuck.cuckImage ++ ".png")
|
||||
cuck.cuckSocial
|
||||
contents
|
||||
|
||||
C.BlogArticle blogArticle ->
|
||||
|
@ -340,7 +558,6 @@ cardStuff content =
|
|||
, bottomRight = 26
|
||||
, bottomLeft = 26
|
||||
}
|
||||
, spacing 8
|
||||
]
|
||||
<|
|
||||
el
|
||||
|
@ -350,7 +567,6 @@ cardStuff content =
|
|||
, left = 15
|
||||
, right = 15
|
||||
}
|
||||
, spacing 8
|
||||
, width fill
|
||||
, height fill
|
||||
]
|
||||
|
|
0
frontend/src/Config/Helpers/Cards/Types.elm
Normal file → Executable file
0
frontend/src/Config/Helpers/Cards/Types.elm
Normal file → Executable file
|
@ -120,6 +120,12 @@ headerMaker headerable =
|
|||
C.Interviews interview ->
|
||||
headerHelper interview.headerTitle interview.headerBody
|
||||
|
||||
C.NutriDex nutriDex ->
|
||||
headerHelper nutriDex.headerTitle nutriDex.headerBody
|
||||
|
||||
C.Contact contact ->
|
||||
headerHelper contact.headerTitle contact.headerBody
|
||||
|
||||
|
||||
cardContentMaker : List (Element msg) -> Element msg
|
||||
cardContentMaker content =
|
||||
|
|
22
frontend/src/Config/Helpers/Headers/Records.elm
Normal file → Executable file
22
frontend/src/Config/Helpers/Headers/Records.elm
Normal file → Executable file
|
@ -89,3 +89,25 @@ interviewHeader =
|
|||
{ headerTitle = String.toUpper name
|
||||
, headerBody = "This page showcases various podcasts and shows I've been on. If you’d like to have me as a guest on your podcast, feel free to reach out—I’d love to share my perspectives with your audience!"
|
||||
}
|
||||
|
||||
|
||||
nutriDexHeader : Header
|
||||
nutriDexHeader =
|
||||
let
|
||||
name =
|
||||
"The NutriDex"
|
||||
in
|
||||
{ headerTitle = String.toUpper name
|
||||
, headerBody = ""
|
||||
}
|
||||
|
||||
|
||||
contactHeader : Header
|
||||
contactHeader =
|
||||
let
|
||||
name =
|
||||
"Contact"
|
||||
in
|
||||
{ headerTitle = String.toUpper name
|
||||
, headerBody = ""
|
||||
}
|
||||
|
|
|
@ -10,6 +10,8 @@ type Headerable
|
|||
| Gibberish Header
|
||||
| Services Header
|
||||
| Interviews Header
|
||||
| NutriDex Header
|
||||
| Contact Header
|
||||
|
||||
|
||||
type alias Header =
|
||||
|
|
|
@ -59,12 +59,14 @@ renderDeviceMarkdown : String -> Element msg
|
|||
renderDeviceMarkdown markdown =
|
||||
case renderMarkdown markdown of
|
||||
Ok ( toc, renderedMarkdown ) ->
|
||||
column
|
||||
[ width fill
|
||||
, centerX
|
||||
, spacing 10
|
||||
paragraph []
|
||||
[ column
|
||||
[ width fill
|
||||
, centerX
|
||||
, spacing 10
|
||||
]
|
||||
(tocView toc :: renderedMarkdown)
|
||||
]
|
||||
(tocView toc :: renderedMarkdown)
|
||||
|
||||
Err error ->
|
||||
E.text error
|
||||
|
|
|
@ -15,23 +15,31 @@ topLevelContainer =
|
|||
]
|
||||
|
||||
|
||||
pageListCenter : List (Attribute msg)
|
||||
pageListCenter =
|
||||
pageListCenter : Device -> List (Attribute msg)
|
||||
pageListCenter device =
|
||||
[ centerY
|
||||
]
|
||||
++ pageListFormat
|
||||
++ pageListFormat device
|
||||
|
||||
|
||||
pageList : List (Attribute msg)
|
||||
pageList =
|
||||
pageList : Device -> List (Attribute msg)
|
||||
pageList device =
|
||||
[ alignTop
|
||||
]
|
||||
++ pageListFormat
|
||||
++ pageListFormat device
|
||||
|
||||
|
||||
pageListFormat : List (Attribute msg)
|
||||
pageListFormat =
|
||||
[ spacing 30
|
||||
pageListFormat : Device -> List (Attribute msg)
|
||||
pageListFormat device =
|
||||
[ case ( device.class, device.orientation ) of
|
||||
( Phone, Portrait ) ->
|
||||
spacing 0
|
||||
|
||||
( Tablet, Portrait ) ->
|
||||
spacing 0
|
||||
|
||||
_ ->
|
||||
spacing 20
|
||||
, centerX
|
||||
, padding 30
|
||||
, width fill
|
||||
|
|
|
@ -17,6 +17,7 @@ type alias Theme =
|
|||
, backgroundLightGrey : Color
|
||||
, backgroundDarkGrey : Color
|
||||
, backgroundDeepDarkGrey : Color
|
||||
, backgroundSpreadsheet : Color
|
||||
, shadow : Color
|
||||
, barGreen : Color
|
||||
, barRed : Color
|
||||
|
@ -46,6 +47,7 @@ colourTheme =
|
|||
, backgroundLightGrey = rgb255 40 40 40
|
||||
, backgroundDarkGrey = rgb255 30 30 30
|
||||
, backgroundDeepDarkGrey = rgb255 20 20 20
|
||||
, backgroundSpreadsheet = rgb255 36 36 36
|
||||
, shadow = rgb255 10 10 10
|
||||
, barGreen = rgb255 0 102 0
|
||||
, barRed = rgb255 102 0 0
|
||||
|
|
|
@ -269,7 +269,7 @@ topbarLogo input =
|
|||
[ pointer ]
|
||||
{ url = Path.toString Path.Home_
|
||||
, label =
|
||||
el [ paddingXY 10 0, width <| px 350 ] <| html upRootLarge
|
||||
el [ paddingXY 10 0, width <| px 250 ] <| html upRootLarge
|
||||
}
|
||||
, el
|
||||
[ height <| px 50
|
||||
|
|
|
@ -138,7 +138,7 @@ blogList device =
|
|||
column
|
||||
(case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
pageList
|
||||
pageList device
|
||||
)
|
||||
<|
|
||||
List.concat
|
||||
|
@ -184,8 +184,11 @@ articleMaker article =
|
|||
column
|
||||
[ E.width fill
|
||||
, centerX
|
||||
, spacing 8
|
||||
]
|
||||
[ column [ width fill ]
|
||||
[ column
|
||||
[ width fill
|
||||
]
|
||||
(articleRows article
|
||||
++ [ row []
|
||||
[ paragraph
|
||||
|
|
|
@ -102,16 +102,11 @@ articleList device =
|
|||
column
|
||||
(case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
pageList
|
||||
pageList device
|
||||
)
|
||||
<|
|
||||
List.concat
|
||||
[ -- List.map (headerMaker device)
|
||||
-- [
|
||||
-- servicesHeader
|
||||
-- ]
|
||||
-- ,
|
||||
List.map
|
||||
[ List.map
|
||||
(\article ->
|
||||
cardMaker device (C.BlogArticle article) (contentList article)
|
||||
)
|
||||
|
|
|
@ -102,7 +102,7 @@ articleList device =
|
|||
column
|
||||
(case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
pageList
|
||||
pageList device
|
||||
)
|
||||
<|
|
||||
List.concat
|
||||
|
|
|
@ -102,7 +102,7 @@ articleList device =
|
|||
column
|
||||
(case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
pageList
|
||||
pageList device
|
||||
)
|
||||
<|
|
||||
List.concat
|
||||
|
|
|
@ -102,7 +102,7 @@ articleList device =
|
|||
column
|
||||
(case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
pageList
|
||||
pageList device
|
||||
)
|
||||
<|
|
||||
List.concat
|
||||
|
|
|
@ -102,7 +102,7 @@ articleList device =
|
|||
column
|
||||
(case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
pageList
|
||||
pageList device
|
||||
)
|
||||
<|
|
||||
List.concat
|
||||
|
|
|
@ -102,7 +102,7 @@ articleList device =
|
|||
column
|
||||
(case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
pageList
|
||||
pageList device
|
||||
)
|
||||
<|
|
||||
List.concat
|
||||
|
|
|
@ -102,7 +102,7 @@ articleList device =
|
|||
column
|
||||
(case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
pageList
|
||||
pageList device
|
||||
)
|
||||
<|
|
||||
List.concat
|
||||
|
|
|
@ -102,7 +102,7 @@ articleList device =
|
|||
column
|
||||
(case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
pageList
|
||||
pageList device
|
||||
)
|
||||
<|
|
||||
List.concat
|
||||
|
|
|
@ -102,7 +102,7 @@ articleList device =
|
|||
column
|
||||
(case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
pageList
|
||||
pageList device
|
||||
)
|
||||
<|
|
||||
List.concat
|
||||
|
|
|
@ -102,7 +102,7 @@ articleList device =
|
|||
column
|
||||
(case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
pageList
|
||||
pageList device
|
||||
)
|
||||
<|
|
||||
List.concat
|
||||
|
@ -117,3 +117,7 @@ articleList device =
|
|||
)
|
||||
[ articleShenanigans ]
|
||||
]
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -102,7 +102,7 @@ articleList device =
|
|||
column
|
||||
(case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
pageList
|
||||
pageList device
|
||||
)
|
||||
<|
|
||||
List.concat
|
||||
|
|
|
@ -5,7 +5,8 @@ import Config.Helpers.Cards.Helpers exposing (cardMaker)
|
|||
import Config.Helpers.Cards.Types as C
|
||||
import Config.Helpers.Format exposing (..)
|
||||
import Config.Helpers.Headers.Helpers exposing (..)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Headers.Records exposing (contactHeader, nutriDexHeader)
|
||||
import Config.Helpers.Headers.Types as R exposing (..)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageList
|
||||
|
@ -120,15 +121,24 @@ contactList device =
|
|||
column
|
||||
(case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
pageList
|
||||
pageList device
|
||||
)
|
||||
<|
|
||||
List.concat
|
||||
[ List.map
|
||||
[ case ( device.class, device.orientation ) of
|
||||
( Phone, Portrait ) ->
|
||||
[ headerMaker (R.Contact contactHeader) ]
|
||||
|
||||
( Tablet, Portrait ) ->
|
||||
[ headerMaker (R.Contact contactHeader) ]
|
||||
|
||||
_ ->
|
||||
[ none ]
|
||||
, List.map
|
||||
(\contact ->
|
||||
cardMaker device (C.Contact contact) (contentList contact)
|
||||
)
|
||||
[contactTitle]
|
||||
[ contactTitle ]
|
||||
]
|
||||
|
||||
|
||||
|
|
|
@ -87,7 +87,9 @@ type alias Model =
|
|||
init : () -> ( Model, Effect Msg )
|
||||
init () =
|
||||
( {}
|
||||
, Effect.none
|
||||
, Effect.map
|
||||
(\_ -> NoOp)
|
||||
(Effect.sendCmd resetViewport)
|
||||
)
|
||||
|
||||
|
||||
|
@ -139,7 +141,7 @@ debateList device =
|
|||
column
|
||||
(case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
pageList
|
||||
pageList device
|
||||
)
|
||||
<|
|
||||
List.concat
|
||||
|
|
|
@ -134,7 +134,7 @@ debateList device =
|
|||
column
|
||||
(case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
pageList
|
||||
pageList device
|
||||
)
|
||||
<|
|
||||
List.concat
|
||||
|
@ -458,6 +458,7 @@ tableMaker argument =
|
|||
, D.width 2
|
||||
, D.color colourTheme.textDarkGrey
|
||||
, clip
|
||||
, B.color colourTheme.backgroundSpreadsheet
|
||||
]
|
||||
{ data = argument.definitionTable
|
||||
, columns =
|
||||
|
|
|
@ -127,7 +127,7 @@ cucksList device =
|
|||
column
|
||||
(case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
pageList
|
||||
pageList device
|
||||
)
|
||||
<|
|
||||
List.concat
|
||||
|
|
|
@ -132,7 +132,7 @@ gibberishList device =
|
|||
column
|
||||
(case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
pageList
|
||||
pageList device
|
||||
)
|
||||
<|
|
||||
List.concat
|
||||
|
|
|
@ -129,7 +129,7 @@ donateList device =
|
|||
column
|
||||
(case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
pageList
|
||||
pageList device
|
||||
)
|
||||
<|
|
||||
List.concat
|
||||
|
@ -259,7 +259,7 @@ makePro pro =
|
|||
, width fill
|
||||
]
|
||||
[ paragraph [ F.regular ]
|
||||
[ text ("‣ " ++ pro.pro) ]
|
||||
[ text ("• " ++ pro.pro) ]
|
||||
]
|
||||
|
||||
|
||||
|
@ -293,7 +293,7 @@ makeCon con =
|
|||
, width fill
|
||||
]
|
||||
[ paragraph [ F.regular ] <|
|
||||
[ text ("‣ " ++ con.con)
|
||||
[ text ("• " ++ con.con)
|
||||
]
|
||||
]
|
||||
|
||||
|
@ -395,6 +395,7 @@ tableMaker donate device =
|
|||
, D.rounded 10
|
||||
, D.width 2
|
||||
, D.color colourTheme.textDarkGrey
|
||||
, B.color colourTheme.backgroundSpreadsheet
|
||||
, clip
|
||||
]
|
||||
{ data = donate.donateFeatures
|
||||
|
|
|
@ -116,7 +116,7 @@ homeContainer device =
|
|||
|
||||
homeList : Device -> Element msg
|
||||
homeList device =
|
||||
column pageListCenter
|
||||
column (pageListCenter device)
|
||||
[ case device.class of
|
||||
Desktop ->
|
||||
homePage device upRootLarge
|
||||
|
|
|
@ -136,7 +136,7 @@ interviewList device =
|
|||
column
|
||||
(case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
pageList
|
||||
pageList device
|
||||
)
|
||||
<|
|
||||
List.concat
|
||||
|
|
|
@ -97,7 +97,7 @@ notFoundContainer device =
|
|||
|
||||
notFoundList : Device -> Element msg
|
||||
notFoundList device =
|
||||
column pageListCenter
|
||||
column (pageListCenter device)
|
||||
[ case device.class of
|
||||
Desktop ->
|
||||
none
|
||||
|
@ -121,119 +121,3 @@ notFoundList device =
|
|||
Landscape ->
|
||||
none
|
||||
]
|
||||
|
||||
|
||||
|
||||
-- import Config.Data.Identity exposing (pageNames)
|
||||
-- import Config.Helpers.CardFormat
|
||||
-- exposing
|
||||
-- ( cardContentSpacing
|
||||
-- , cardFormatter
|
||||
-- , cardMaker
|
||||
-- , cardTitleMaker
|
||||
-- , desktopCardMaker
|
||||
-- , desktopImageBoxSize
|
||||
-- , desktopImageSize
|
||||
-- , fieldSpacer
|
||||
-- , mobileCardMaker
|
||||
-- , mobileImageBoxSize
|
||||
-- , mobileImageSize
|
||||
-- , topLevelBox
|
||||
-- )
|
||||
-- import Config.Helpers.Header
|
||||
-- exposing
|
||||
-- ( Header
|
||||
-- , headerMaker
|
||||
-- )
|
||||
-- import Config.Helpers.Markdown exposing (..)
|
||||
-- import Config.Helpers.Response
|
||||
-- exposing
|
||||
-- ( pageList
|
||||
-- , pageListCenter
|
||||
-- , topLevelContainer
|
||||
-- )
|
||||
-- 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 (br)
|
||||
-- import Html.Attributes as H exposing (style)
|
||||
-- import Layouts
|
||||
-- import Markdown.Block as Block
|
||||
-- import Markdown.Html
|
||||
-- import Markdown.Parser
|
||||
-- import Markdown.Renderer
|
||||
-- import Page exposing (Page)
|
||||
-- import Route exposing (Route)
|
||||
-- import Route.Path
|
||||
-- import Shared
|
||||
-- import View exposing (View)
|
||||
-- page : Shared.Model -> Route () -> Page Model Msg
|
||||
-- page shared route =
|
||||
-- Page.new
|
||||
-- { init = init
|
||||
-- , update = update
|
||||
-- , subscriptions = subscriptions
|
||||
-- , view = view shared
|
||||
-- }
|
||||
-- |> Page.withLayout toLayout
|
||||
-- toLayout : Model -> Layouts.Layout Msg
|
||||
-- toLayout model =
|
||||
-- Layouts.Navbar {}
|
||||
-- -- INIT
|
||||
-- type alias Model =
|
||||
-- { markdown : String }
|
||||
-- init : () -> ( Model, Effect Msg )
|
||||
-- init () =
|
||||
-- ( { markdown = """
|
||||
-- markdown goes here!
|
||||
-- """ }
|
||||
-- , Effect.none
|
||||
-- )
|
||||
-- -- UPDATE
|
||||
-- type Msg
|
||||
-- = NoOp
|
||||
-- | UpdateMarkdown String
|
||||
-- update : Msg -> Model -> ( Model, Effect Msg )
|
||||
-- update msg model =
|
||||
-- case msg of
|
||||
-- NoOp ->
|
||||
-- ( model, Effect.none )
|
||||
-- UpdateMarkdown newMarkdown ->
|
||||
-- ( { model | markdown = newMarkdown }, Effect.none )
|
||||
-- -- SUBSCRIPTIONS
|
||||
-- subscriptions : Model -> Sub Msg
|
||||
-- subscriptions model =
|
||||
-- Sub.none
|
||||
-- -- VIEW
|
||||
-- view : Shared.Model -> Model -> View Msg
|
||||
-- view shared model =
|
||||
-- { title = pageNames.pageNotFound
|
||||
-- , attributes = []
|
||||
-- , element = notFoundContainer shared.device model
|
||||
-- }
|
||||
-- notFoundContainer : Device -> Model -> Element Msg
|
||||
-- notFoundContainer device model =
|
||||
-- topLevelContainer (notFoundList device model)
|
||||
-- notFoundList : Device -> Model -> Element Msg
|
||||
-- notFoundList device model =
|
||||
-- column pageListCenter
|
||||
-- [ case renderMarkdown model.markdown of
|
||||
-- Ok renderedMarkdown ->
|
||||
-- column
|
||||
-- [ E.spacing 30
|
||||
-- , E.padding 20
|
||||
-- , E.width E.fill
|
||||
-- , E.centerX
|
||||
-- ]
|
||||
-- renderedMarkdown
|
||||
-- Err error ->
|
||||
-- E.text error
|
||||
-- ]
|
||||
-- renderMarkdown : String -> Result String (List (Element Msg))
|
||||
-- renderMarkdown markdown =
|
||||
-- markdown
|
||||
-- |> Markdown.Parser.parse
|
||||
-- |> Result.mapError (\error -> error |> List.map Markdown.Parser.deadEndToString |> String.join "\n")
|
||||
-- |> Result.andThen (Markdown.Renderer.render elmUiRenderer)
|
||||
|
|
|
@ -12,7 +12,8 @@ import Config.Helpers.Format
|
|||
, paragraphSpacing
|
||||
)
|
||||
import Config.Helpers.Headers.Helpers exposing (..)
|
||||
import Config.Helpers.Headers.Types exposing (Header)
|
||||
import Config.Helpers.Headers.Records exposing (nutriDexHeader)
|
||||
import Config.Helpers.Headers.Types as R exposing (..)
|
||||
import Config.Helpers.Response
|
||||
exposing
|
||||
( pageList
|
||||
|
@ -132,16 +133,20 @@ nutriDexList device =
|
|||
column
|
||||
(case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
pageList
|
||||
pageList device
|
||||
)
|
||||
<|
|
||||
List.concat
|
||||
[ -- List.map (headerMaker device)
|
||||
-- [
|
||||
-- servicesHeader
|
||||
-- ]
|
||||
-- ,
|
||||
List.map
|
||||
[ case ( device.class, device.orientation ) of
|
||||
( Phone, Portrait ) ->
|
||||
[ headerMaker (R.NutriDex nutriDexHeader) ]
|
||||
|
||||
( Tablet, Portrait ) ->
|
||||
[ headerMaker (R.NutriDex nutriDexHeader) ]
|
||||
|
||||
_ ->
|
||||
[ none ]
|
||||
, List.map
|
||||
(\nutriDex ->
|
||||
cardMaker device (C.NutriDex nutriDex) (contentList device nutriDex)
|
||||
)
|
||||
|
@ -179,7 +184,7 @@ makeFeature features =
|
|||
[ row [ E.width fill ]
|
||||
[ column [ E.width fill ]
|
||||
[ paragraph [ F.regular, F.alignLeft ]
|
||||
[ text "‣ ", el [ F.bold, F.color colourTheme.textLightOrange ] (text features.featureTitle), text features.feature ]
|
||||
[ text "• ", el [ F.bold, F.color colourTheme.textLightOrange ] (text features.featureTitle), text features.feature ]
|
||||
]
|
||||
]
|
||||
]
|
||||
|
|
|
@ -122,7 +122,7 @@ servicesList device =
|
|||
column
|
||||
(case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
pageList
|
||||
pageList device
|
||||
)
|
||||
<|
|
||||
List.concat
|
||||
|
@ -235,5 +235,5 @@ makeDescription description =
|
|||
]
|
||||
)
|
||||
[ paragraph [ F.regular ]
|
||||
[ E.text ("‣ " ++ description.point) ]
|
||||
[ E.text ("• " ++ description.point) ]
|
||||
]
|
||||
|
|
|
@ -28,6 +28,7 @@ import Route exposing (Route)
|
|||
import Route.Path as Path
|
||||
import Shared
|
||||
import View exposing (View)
|
||||
import Config.Helpers.Viewport exposing (resetViewport)
|
||||
|
||||
|
||||
page : Shared.Model -> Route () -> Page Model Msg
|
||||
|
@ -57,11 +58,14 @@ type alias Model =
|
|||
init : () -> ( Model, Effect Msg )
|
||||
init () =
|
||||
( {}
|
||||
, Effect.none
|
||||
, Effect.map
|
||||
(\_ -> NoOp)
|
||||
(Effect.sendCmd resetViewport)
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
-- UPDATE
|
||||
|
||||
|
||||
|
@ -109,7 +113,7 @@ analysisList device =
|
|||
column
|
||||
(case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
pageList
|
||||
pageList device
|
||||
)
|
||||
<|
|
||||
List.concat
|
||||
|
|
|
@ -33,6 +33,7 @@ import Route exposing (Route)
|
|||
import Route.Path as Path
|
||||
import Shared
|
||||
import View exposing (View)
|
||||
import Config.Helpers.Viewport exposing (resetViewport)
|
||||
|
||||
|
||||
page : Shared.Model -> Route () -> Page Model Msg
|
||||
|
@ -62,11 +63,14 @@ type alias Model =
|
|||
init : () -> ( Model, Effect Msg )
|
||||
init () =
|
||||
( {}
|
||||
, Effect.none
|
||||
, Effect.map
|
||||
(\_ -> NoOp)
|
||||
(Effect.sendCmd resetViewport)
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
-- UPDATE
|
||||
|
||||
|
||||
|
@ -114,7 +118,7 @@ coachingList device =
|
|||
column
|
||||
(case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
pageList
|
||||
pageList device
|
||||
)
|
||||
<|
|
||||
List.concat
|
||||
|
|
|
@ -33,6 +33,7 @@ import Route exposing (Route)
|
|||
import Route.Path as Path
|
||||
import Shared
|
||||
import View exposing (View)
|
||||
import Config.Helpers.Viewport exposing (resetViewport)
|
||||
|
||||
|
||||
page : Shared.Model -> Route () -> Page Model Msg
|
||||
|
@ -62,11 +63,14 @@ type alias Model =
|
|||
init : () -> ( Model, Effect Msg )
|
||||
init () =
|
||||
( {}
|
||||
, Effect.none
|
||||
, Effect.map
|
||||
(\_ -> NoOp)
|
||||
(Effect.sendCmd resetViewport)
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
-- UPDATE
|
||||
|
||||
|
||||
|
@ -114,7 +118,7 @@ elmBuildsList device =
|
|||
column
|
||||
(case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
pageList
|
||||
pageList device
|
||||
)
|
||||
<|
|
||||
List.concat
|
||||
|
|
|
@ -33,6 +33,7 @@ import Route exposing (Route)
|
|||
import Route.Path as Path
|
||||
import Shared
|
||||
import View exposing (View)
|
||||
import Config.Helpers.Viewport exposing (resetViewport)
|
||||
|
||||
|
||||
page : Shared.Model -> Route () -> Page Model Msg
|
||||
|
@ -62,11 +63,14 @@ type alias Model =
|
|||
init : () -> ( Model, Effect Msg )
|
||||
init () =
|
||||
( {}
|
||||
, Effect.none
|
||||
, Effect.map
|
||||
(\_ -> NoOp)
|
||||
(Effect.sendCmd resetViewport)
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
-- UPDATE
|
||||
|
||||
|
||||
|
@ -114,7 +118,7 @@ elmBuildsList device =
|
|||
column
|
||||
(case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
pageList
|
||||
pageList device
|
||||
)
|
||||
<|
|
||||
List.concat
|
||||
|
|
|
@ -12,6 +12,7 @@ import Config.Helpers.Response
|
|||
)
|
||||
import Config.Helpers.ServiceFormat exposing (..)
|
||||
import Config.Helpers.ToolTip exposing (..)
|
||||
import Config.Helpers.Viewport exposing (resetViewport)
|
||||
import Config.Pages.Services.Records.NutritionScience exposing (servicesNutritionScience)
|
||||
import Config.Style.Colour exposing (colourTheme)
|
||||
import Config.Style.Transitions
|
||||
|
@ -62,7 +63,9 @@ type alias Model =
|
|||
init : () -> ( Model, Effect Msg )
|
||||
init () =
|
||||
( {}
|
||||
, Effect.none
|
||||
, Effect.map
|
||||
(\_ -> NoOp)
|
||||
(Effect.sendCmd resetViewport)
|
||||
)
|
||||
|
||||
|
||||
|
@ -114,7 +117,7 @@ nutritionList device =
|
|||
column
|
||||
(case ( device.class, device.orientation ) of
|
||||
_ ->
|
||||
pageList
|
||||
pageList device
|
||||
)
|
||||
<|
|
||||
List.concat
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue