feat: refactored services

This commit is contained in:
Nick 2024-11-16 17:28:46 -06:00
parent 354b9418f8
commit 36bedf1c09
15 changed files with 449 additions and 80 deletions

View file

@ -10,6 +10,11 @@ import Html.Attributes as H exposing (style)
import Layouts
import Page exposing (Page)
import Route exposing (Route)
import Services.Coaching.DebateAnalysis exposing (..)
import Services.Coaching.DebateTutoring exposing (..)
import Services.Coaching.NutritionScience exposing (..)
import Services.Creative.NixBuilds exposing (..)
import Services.Helpers exposing (..)
import Shared
import View exposing (View)
@ -92,77 +97,10 @@ servicesList : Element msg
servicesList =
column
pageList
services
type alias MakeRowInput =
{ logoImage : String
, logoDescription : String
, servicesLink : String
, servicesTitle : String
, servicesRate : String
, servicesDescription : String
}
makeRow : MakeRowInput -> Element msg
makeRow makeRowInput =
let
servicesImageFormat : List (Attribute msg)
servicesImageFormat =
[ width <| px 100
, alignTop
<|
List.map serviceMaker
[ servicesDebateTutoring
, servicesDebateAnalysis
, servicesNutritionScience
, servicesNixBuilds
]
in
row [ imageSpacer ]
[ image servicesImageFormat
{ src = makeRowInput.logoImage
, description = makeRowInput.logoDescription
}
, column paragraphColumnFormat
[ row [ spacing 8 ]
[ newTabLink highlightedTitleFormat
{ url = makeRowInput.servicesLink
, label =
transitionHighlightedLinkHover <|
text makeRowInput.servicesTitle
}
, paragraph [ F.color colourTheme.nonHighlightedText ] [ text makeRowInput.servicesRate ]
]
, paragraph paragraphFormat [ text makeRowInput.servicesDescription ]
]
]
services : List (Element msg)
services =
List.map makeRow
[ { logoImage = "services/debate.png"
, logoDescription = "debate logo"
, servicesLink = "https://the-nutrivore.social/"
, servicesTitle = "DEBATE COACHING"
, servicesRate = "$60/hr"
, servicesDescription = "Participate in a structured course consisting of five one-hour modules, covering critical thinking, debate strategy, propositional logic, and more. Throughout the course you will receive both personalized and generalizable advice on how to improve your debate performance."
}
, { logoImage = "services/analysis.png"
, logoDescription = "analysis logo"
, servicesLink = "https://the-nutrivore.social/"
, servicesTitle = "DEBATE ANALYSIS"
, servicesRate = "$80/hr"
, servicesDescription = "Participate in focused one-hour sessions wherein your own recorded debates are analyzed for constructive feedback and advice to help you improve as a debater. You may also participate in mock debates, staged debates, and other exercises to help you get more comfortable with debate and verbal confrontation."
}
, { logoImage = "services/nutrition.png"
, logoDescription = "nutrition logo"
, 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 simplify the research appraisal process."
}
, { logoImage = "services/nixos.png"
, logoDescription = "nixos logo"
, servicesLink = "https://the-nutrivore.social/"
, servicesTitle = "CUSTOM NIX BUILDS"
, servicesRate = "$40/hr"
, servicesDescription = "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."
}
]