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

@ -0,0 +1,14 @@
module Services.Coaching.DebateAnalysis exposing (..)
import Services.Types exposing (..)
servicesDebateAnalysis : Service
servicesDebateAnalysis =
{ logoImage = "analysis"
, 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."
}

View file

@ -0,0 +1,14 @@
module Services.Coaching.DebateTutoring exposing (..)
import Services.Types exposing (..)
servicesDebateTutoring : Service
servicesDebateTutoring =
{ logoImage = "debate"
, 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."
}

View file

@ -0,0 +1,14 @@
module Services.Coaching.NutritionScience exposing (..)
import Services.Types exposing (..)
servicesNutritionScience : Service
servicesNutritionScience =
{ logoImage = "nutrition"
, 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."
}

View file

@ -0,0 +1,14 @@
module Services.Creative.NixBuilds exposing (..)
import Services.Types exposing (..)
servicesNixBuilds : Service
servicesNixBuilds =
{ logoImage = "nixos"
, 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."
}

View file

@ -0,0 +1,45 @@
module Services.Helpers exposing (..)
import Config.Colour exposing (..)
import Config.Format exposing (..)
import Cuckery.Types exposing (..)
import Effect exposing (Effect)
import Element exposing (..)
import Element.Border as D
import Element.Font as F
import Html.Attributes as H exposing (style)
import Layouts
import Page exposing (Page)
import Route exposing (Route)
import Services.Types exposing (..)
import Shared
import View exposing (View)
servicesImageFormat : List (Attribute msg)
servicesImageFormat =
[ width <| px 100
, alignTop
]
serviceMaker : Service -> Element msg
serviceMaker service =
row [ imageSpacer ]
[ image servicesImageFormat
{ src = "services/" ++ service.logoImage ++ ".png"
, description = service.logoDescription
}
, column paragraphColumnFormat
[ row [ spacing 8 ]
[ newTabLink highlightedTitleFormat
{ url = service.servicesLink
, label =
transitionHighlightedLinkHover <|
text service.servicesTitle
}
, paragraph [ F.color colourTheme.nonHighlightedText ] [ text service.servicesRate ]
]
, paragraph paragraphFormat [ text service.servicesDescription ]
]
]

View file

@ -0,0 +1,11 @@
module Services.Types exposing (..)
type alias Service =
{ logoImage : String
, logoDescription : String
, servicesLink : String
, servicesTitle : String
, servicesRate : String
, servicesDescription : String
}