diff --git a/Dodgers.elm b/Dodgers.elm old mode 100644 new mode 100755 diff --git a/frontend/review/elm.json b/frontend/review/elm.json old mode 100644 new mode 100755 diff --git a/frontend/review/src/ReviewConfig.elm b/frontend/review/src/ReviewConfig.elm old mode 100644 new mode 100755 diff --git a/frontend/src/Config/Identity.elm b/frontend/src/Config/Identity.elm old mode 100644 new mode 100755 index 13cb727..41ea362 --- a/frontend/src/Config/Identity.elm +++ b/frontend/src/Config/Identity.elm @@ -1,16 +1,89 @@ module Config.Identity exposing (..) -homeName : String -homeName = "The Nutrivore" +import Element exposing (..) -platformsName : String -platformsName = homeName ++ " | Platforms" -servicesName : String -servicesName = homeName ++ " | Services" +type alias PageInput = + { pageHome : String + , pageContact : String + , pageDebate : String + , pageDodgers : String + , pageHyperBlog : String + , pageInterviews : String + , pageNutriDex : String + , pagePlatforms : String + , pagePropositions : String + , pageServices : String + , pageSupport : String + } + + +pageNames : PageInput +pageNames = + { pageHome = "The Nutrivore" + , pagePlatforms = "Platforms" + , pageServices = "Services" + , pageDebate = "Debate" + , pageDodgers = "Dodgers" + , pagePropositions = "Propositions" + , pageHyperBlog = "HyperBlog" + , pageNutriDex = "NutriDex" + , pageInterviews = "Interviews" + , pageContact = "Contact" + , pageSupport = "Support" + } + + +createPageName : String -> String +createPageName pageName = + pageNames.pageHome ++ " | " ++ pageName + + +contactName : String +contactName = + createPageName pageNames.pageContact + + +debateName : String +debateName = + createPageName pageNames.pageDebate -supportName : String -supportName = homeName ++ " | Support" dodgersName : String -dodgersName = homeName ++ " | Dodgers" \ No newline at end of file +dodgersName = + createPageName pageNames.pageDodgers + + +hyperBlogName : String +hyperBlogName = + createPageName pageNames.pageHyperBlog + + +interviewsName : String +interviewsName = + createPageName pageNames.pageInterviews + + +nutriDexName : String +nutriDexName = + createPageName pageNames.pageNutriDex + + +platformsName : String +platformsName = + createPageName pageNames.pagePlatforms + + +propositionsName : String +propositionsName = + createPageName pageNames.pagePropositions + + +servicesName : String +servicesName = + createPageName pageNames.pageServices + + +supportName : String +supportName = + createPageName pageNames.pageSupport diff --git a/frontend/src/Config/Theme.elm b/frontend/src/Config/Theme.elm old mode 100644 new mode 100755 index b3f233d..ab4954e --- a/frontend/src/Config/Theme.elm +++ b/frontend/src/Config/Theme.elm @@ -3,15 +3,7 @@ module Config.Theme exposing (..) import Element exposing (..) import Element.Background as B import Element.Font as F - - -type alias Theme = - { nonHighlightedText : Color - , nonHighlightedDarkText : Color - , highlightText : Color - , backgroundColour : Color - , debugColour : Color - } +import Html.Attributes as H exposing (style) topLevelContainer : Element msg -> Element msg @@ -23,16 +15,58 @@ topLevelContainer = ] +pageList : List (Attribute msg) +pageList = + [ spacing 40 + , centerX + , centerY + , moveDown 60 + , alignTop + ] + + +type alias Theme = + { nonHighlightedText : Color + , nonHighlightedDarkText : Color + , highlightText : Color + , highlightTextHover : Color + , backgroundColour : Color + , debugColour : Color + } + + colourTheme : Theme colourTheme = { nonHighlightedText = rgb255 212 212 212 , nonHighlightedDarkText = rgb255 126 126 126 , highlightText = rgb255 204 102 0 + , highlightTextHover = rgb255 120 60 0 , backgroundColour = rgb255 40 40 40 , debugColour = rgb255 227 28 121 } +transitionStyle : Attribute msg +transitionStyle = + htmlAttribute <| style "transition" "all .2s" + + +transitionHighlightedLinkHover : Element msg -> Element msg +transitionHighlightedLinkHover = + el + [ mouseOver [ F.color colourTheme.highlightTextHover ] + , transitionStyle + ] + + +transitionNonHighlightedLinkHover : Element msg -> Element msg +transitionNonHighlightedLinkHover = + el + [ mouseOver [ F.color colourTheme.highlightText ] + , transitionStyle + ] + + spartanFont : F.Font spartanFont = F.typeface "League Spartan" @@ -43,14 +77,35 @@ imageSpacer = spacing 20 +navBarLinkFormat : List (Attr () msg) +navBarLinkFormat = + [ F.size 15 + + -- , F.bold + ] + + titleFormat : List (Attr () msg) titleFormat = [ F.size 23 , F.bold - , F.color colourTheme.highlightText ] +nonHighlightedTitleFormat : List (Attr () msg) +nonHighlightedTitleFormat = + [ F.color colourTheme.nonHighlightedText + ] + ++ titleFormat + + +highlightedTitleFormat : List (Attr () msg) +highlightedTitleFormat = + [ F.color colourTheme.highlightText + ] + ++ titleFormat + + paragraphFontSize : Attr decorative msg paragraphFontSize = F.size 17 @@ -64,16 +119,39 @@ paragraphLinkFormat = ] +paragraphText : List (Attr () msg) +paragraphText = + [ F.color colourTheme.nonHighlightedText + , spacing 8 + , paragraphFontSize + ] + + paragraphFormat : List (Attr () msg) paragraphFormat = - [ spacing 8 - , paragraphFontSize - , F.color colourTheme.nonHighlightedText - ] + [] + ++ paragraphText + + +paragraphBoldFormat : List (Attr () msg) +paragraphBoldFormat = + [ F.bold ] + ++ paragraphText + + +paragraphWidth : Attribute msg +paragraphWidth = + width <| px 700 + + +paragraphAlignLeft : List (Attr () msg) +paragraphAlignLeft = + [ alignLeft, paragraphWidth ] + ++ paragraphText paragraphColumnFormat : List (Attribute msg) paragraphColumnFormat = [ spacing 20 - , width <| px 700 + , paragraphWidth ] diff --git a/frontend/src/Layouts/Navbar.elm b/frontend/src/Layouts/Navbar.elm old mode 100644 new mode 100755 index 4c1b55b..675aaf8 --- a/frontend/src/Layouts/Navbar.elm +++ b/frontend/src/Layouts/Navbar.elm @@ -67,6 +67,7 @@ subscriptions model = +-- image [spacing 30, width <| px 150] {src = "navbar/nutrivorelogo.png", description = ""} -- VIEW @@ -74,5 +75,33 @@ view : { toContentMsg : Msg -> contentMsg, content : View contentMsg, model : Mo view { toContentMsg, model, content } = { title = content.title , attributes = [ F.family [ spartanFont ] ] - , element = column [width fill, height fill] [text "some bullshit", content.element] + , element = + column + [ width fill + , height fill + , B.color colourTheme.backgroundColour + ] + [ column + [ height <| px 80 + , centerX + ] + [ row + [ spacing 30 + , centerY + , F.color colourTheme.nonHighlightedText + ] + [ image [ spacing 30, width <| px 80 ] { src = "navbar/nutrivorelogo.png", description = "" } + , link nonHighlightedTitleFormat { url = "", label = transitionNonHighlightedLinkHover <| text "THE NUTRIVORE" } + , link navBarLinkFormat { url = "", label = transitionNonHighlightedLinkHover <| text "PLATFORMS" } + , link navBarLinkFormat { url = "", label = transitionNonHighlightedLinkHover <| text "SERVICES" } + , link navBarLinkFormat { url = "", label = transitionNonHighlightedLinkHover <| text "DEBATE" } + , link navBarLinkFormat { url = "", label = transitionNonHighlightedLinkHover <| text "BLOG" } + , link navBarLinkFormat { url = "", label = transitionNonHighlightedLinkHover <| text "NUTRI-DEX" } + , link navBarLinkFormat { url = "", label = transitionNonHighlightedLinkHover <| text "SUPPORT" } + , link navBarLinkFormat { url = "", label = transitionNonHighlightedLinkHover <| text "INTERVIEWS" } + , link navBarLinkFormat { url = "", label = transitionNonHighlightedLinkHover <| text "CONTACT" } + ] + ] + , content.element + ] } diff --git a/frontend/src/Pages/Dodgers.elm b/frontend/src/Pages/Dodgers.elm old mode 100644 new mode 100755 index 075679d..06b98c0 --- a/frontend/src/Pages/Dodgers.elm +++ b/frontend/src/Pages/Dodgers.elm @@ -90,12 +90,128 @@ dodgersContainer = dodgersList : Element msg dodgersList = column - [ spacing 40 - , centerX - , centerY - ] + pageList dodgers +type alias MakeRowInput = + { cuckImage : String + , cuckName : String + , cuckSocial : String + , cuckDodges : List DodgeEntry + } + + +type alias DodgeEntry = + { dodgeLink : String + , dodgeDescription : String + , dodgeProposition : String + } + + +makeRow : MakeRowInput -> Element msg +makeRow makeRowInput = + let + cuckImageFormat : List (Attribute msg) + cuckImageFormat = + [ width <| px 80 ] + + dodgeRows : List (Element msg) + dodgeRows = + List.indexedMap + (\index dodgeEntry -> + column paragraphAlignLeft + [ row paragraphFormat + [ text " " + , text (String.fromInt (index + 1) ++ ". ") + , paragraphLinkFormat + { url = dodgeEntry.dodgeLink + , label = + row [] + [ transitionHighlightedLinkHover <| text dodgeEntry.dodgeDescription + , text "." |> el [ F.color colourTheme.nonHighlightedText ] + ] + } + ] + , row paragraphBoldFormat + [ text " • Proposition:" + , row [ F.regular ] + [ text dodgeEntry.dodgeProposition ] + ] + ] + ) + makeRowInput.cuckDodges + in + row [ imageSpacer, alignLeft ] + [ image cuckImageFormat + { src = makeRowInput.cuckImage + , description = makeRowInput.cuckName + } + , column + paragraphAlignLeft + [ row nonHighlightedTitleFormat [ text makeRowInput.cuckName ] + , row paragraphBoldFormat + [ text "Social:" + , paragraphLinkFormat + { url = makeRowInput.cuckSocial + , label = transitionHighlightedLinkHover <| text makeRowInput.cuckName + } + ] + , row paragraphBoldFormat [ text "Dodges:" ] + , column [spacing 8] dodgeRows + ] + ] + + +type alias DodgeType = + { noReply : String + , ranAway : String + , ghostedMe : String + , outrightNo : String + , inTooDeep : String + } + + +type alias PropType = + { noClearProp : String + } + + dodgers = - [] + let + dodgeType : DodgeType + dodgeType = + { noReply = "Invitation extended with no response" + , ranAway = "Engaged in written debate and dodged when cornered" + , ghostedMe = "Debate invitation accepted with no follow-up" + , outrightNo = "Debate invitation declined" + , inTooDeep = "Debate invitation accepted and subsequently retracted" + } + + propType : PropType + propType = + { noClearProp = "failed to state position clearly." + } + in + List.map makeRow + [ { cuckImage = "cucks/adamsinger" + , cuckName = "Adam Singer" + , cuckSocial = "https://twitter.com/AdamSinger" + , cuckDodges = + [ { dodgeLink = "https://twitter.com/TheNutrivore/status/1566491269194719232?s=20" + , dodgeDescription = dodgeType.noReply + , dodgeProposition = propType.noClearProp + } + ] + } + , { cuckImage = "cucks/" + , cuckName = "" + , cuckSocial = "" + , cuckDodges = + [ { dodgeLink = "" + , dodgeDescription = dodgeType.noReply + , dodgeProposition = propType.noClearProp + } + ] + } + ] diff --git a/frontend/src/Pages/Home_.elm b/frontend/src/Pages/Home_.elm old mode 100644 new mode 100755 index 544b30c..147eb0b --- a/frontend/src/Pages/Home_.elm +++ b/frontend/src/Pages/Home_.elm @@ -75,7 +75,7 @@ subscriptions model = view : Model -> View Msg view model = - { title = homeName + { title = pageNames.pageHome , attributes = [] , element = none } diff --git a/frontend/src/Pages/Platforms.elm b/frontend/src/Pages/Platforms.elm old mode 100644 new mode 100755 index 123a8e9..2963abc --- a/frontend/src/Pages/Platforms.elm +++ b/frontend/src/Pages/Platforms.elm @@ -90,9 +90,7 @@ platformsContainer = platformsList : Element msg platformsList = column - [ spacing 40 - , centerX - ] + pageList platforms @@ -137,7 +135,7 @@ makeRow makeRowInput = , description = makeRowInput.logoDescription } , column paragraphColumnFormat - [ newTabLink titleFormat + [ newTabLink highlightedTitleFormat { url = makeRowInput.platformsLink , label = text makeRowInput.platformsTitle } @@ -145,13 +143,13 @@ makeRow makeRowInput = , paragraph paragraphFormat makeRowInput.platformsParagraph2 , paragraph paragraphFormat [ recommendedClients - , paragraphLinkFormat { url = makeRowInput.platformsRecommendedClientLink1, label = text makeRowInput.platformsRecommendedClientLabel1 } + , paragraphLinkFormat { url = makeRowInput.platformsRecommendedClientLink1, label = transitionHighlightedLinkHover <| text makeRowInput.platformsRecommendedClientLabel1 } , text makeRowInput.platformsRecommendedClientText1 - , paragraphLinkFormat { url = makeRowInput.platformsRecommendedClientLink2, label = text makeRowInput.platformsRecommendedClientLabel2 } + , paragraphLinkFormat { url = makeRowInput.platformsRecommendedClientLink2, label = transitionHighlightedLinkHover <| text makeRowInput.platformsRecommendedClientLabel2 } , text makeRowInput.platformsRecommendedClientText2 - , paragraphLinkFormat { url = makeRowInput.platformsRecommendedClientLink3, label = text makeRowInput.platformsRecommendedClientLabel3 } + , paragraphLinkFormat { url = makeRowInput.platformsRecommendedClientLink3, label = transitionHighlightedLinkHover <| text makeRowInput.platformsRecommendedClientLabel3 } , text makeRowInput.platformsRecommendedClientText3 - , paragraphLinkFormat { url = makeRowInput.platformsRecommendedClientLink4, label = text makeRowInput.platformsRecommendedClientLabel4 } + , paragraphLinkFormat { url = makeRowInput.platformsRecommendedClientLink4, label = transitionHighlightedLinkHover <| text makeRowInput.platformsRecommendedClientLabel4 } , text makeRowInput.platformsRecommendedClientText4 ] ] diff --git a/frontend/src/Pages/Services.elm b/frontend/src/Pages/Services.elm old mode 100644 new mode 100755 index a17a111..6c55788 --- a/frontend/src/Pages/Services.elm +++ b/frontend/src/Pages/Services.elm @@ -90,10 +90,7 @@ servicesContainer = servicesList : Element msg servicesList = column - [ spacing 40 - , centerX - , centerY - ] + pageList services @@ -123,14 +120,10 @@ makeRow makeRowInput = } , column paragraphColumnFormat [ row [ spacing 8 ] - [ newTabLink titleFormat + [ newTabLink highlightedTitleFormat { url = makeRowInput.servicesLink , label = - el - [ mouseOver [ F.color (rgb255 255 50 0) ] - , htmlAttribute <| style "transition" "all .2s" - ] - <| + transitionHighlightedLinkHover <| text makeRowInput.servicesTitle } , paragraph [ F.color colourTheme.nonHighlightedText ] [ text makeRowInput.servicesRate ] @@ -162,10 +155,10 @@ services = , servicesLink = "https://the-nutrivore.social/" , servicesTitle = "NUTRITION SCIENCE" , servicesRate = "$40/hr" - , servicesDescription = "Participate in a one-hour Q&A session specifically to inquire about nutrition science. Ask questions about research design, methodology, epistemology, and study interpretation. Also, by participating you will also gain access to nutrition science interpretation cheat-sheets that will streamline and simply the research appraisal process." + , servicesDescription = "Participate in a one-hour Q&A session specifically to inquire about nutrition science. Ask questions about research design, methodology, epistemology, and study interpretation. Also, by participating you will also gain access to nutrition science interpretation cheat-sheets that will streamline and simplify the research appraisal process." } , { logoImage = "services/nixos.png" - , logoDescription = "debate logo" + , logoDescription = "nixos logo" , servicesLink = "https://the-nutrivore.social/" , servicesTitle = "CUSTOM NIX BUILDS" , servicesRate = "$40/hr" diff --git a/frontend/static/navbar/nutrivorelogo.png b/frontend/static/navbar/nutrivorelogo.png new file mode 100755 index 0000000..e56c949 Binary files /dev/null and b/frontend/static/navbar/nutrivorelogo.png differ diff --git a/frontend/static/platforms/discord.png b/frontend/static/platforms/discord.png old mode 100644 new mode 100755 diff --git a/frontend/static/platforms/mastodon.png b/frontend/static/platforms/mastodon.png old mode 100644 new mode 100755 diff --git a/frontend/static/platforms/peertube.png b/frontend/static/platforms/peertube.png old mode 100644 new mode 100755 diff --git a/frontend/static/services/analysis.png b/frontend/static/services/analysis.png index 49ec11e..b216e8a 100644 Binary files a/frontend/static/services/analysis.png and b/frontend/static/services/analysis.png differ diff --git a/frontend/static/services/debate.png b/frontend/static/services/debate.png old mode 100644 new mode 100755 diff --git a/frontend/static/services/nixos.png b/frontend/static/services/nixos.png old mode 100644 new mode 100755 diff --git a/frontend/static/services/nutrition.png b/frontend/static/services/nutrition.png old mode 100644 new mode 100755