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

@ -1 +1,54 @@
module Debate.Arguments.Ancestry.AntagonisticPleiotropy exposing (..)
module Debate.Arguments.Ancestry.AntagonisticPleiotropy exposing (..)
import Debate.Types exposing (..)
argumentAntagonisticPleiotropy : Argument
argumentAntagonisticPleiotropy =
{ argumentTitle = "Title"
, propositionTitle = "Proposition"
, propositionSummary = "Summary"
, proofLink = ""
, definitionTable =
[ { definiendum = ""
, definiens = "prop 1"
}
, { definiendum = ""
, definiens = "prop 2"
}
, { definiendum = ""
, definiens = "prop 3"
}
, { definiendum = ""
, definiens = "prop 4"
}
, { definiendum = ""
, definiens = "prop 5"
}
, { definiendum = ""
, definiens = "variable 1"
}
]
, argumentFormalization =
[ { premises =
[ { premise = "premise 1"
, notation = ""
}
, { premise = "premise 2"
, notation = ""
}
, { premise = "premise 3"
, notation = ""
}
, { premise = "premise 4"
, notation = ""
}
, { premise = "premise 5"
, notation = ""
}
]
, conclusion = "conclusion"
, conclusionNotation = "()"
}
]
}

View file

@ -1 +1,54 @@
module Debate.Arguments.Ancestry.ArtificialManipulation exposing (..)
module Debate.Arguments.Ancestry.ArtificialManipulation exposing (..)
import Debate.Types exposing (..)
argumentArtificialManipulation : Argument
argumentArtificialManipulation =
{ argumentTitle = "Title"
, propositionTitle = "Proposition"
, propositionSummary = "Summary"
, proofLink = ""
, definitionTable =
[ { definiendum = ""
, definiens = "prop 1"
}
, { definiendum = ""
, definiens = "prop 2"
}
, { definiendum = ""
, definiens = "prop 3"
}
, { definiendum = ""
, definiens = "prop 4"
}
, { definiendum = ""
, definiens = "prop 5"
}
, { definiendum = ""
, definiens = "variable 1"
}
]
, argumentFormalization =
[ { premises =
[ { premise = "premise 1"
, notation = ""
}
, { premise = "premise 2"
, notation = ""
}
, { premise = "premise 3"
, notation = ""
}
, { premise = "premise 4"
, notation = ""
}
, { premise = "premise 5"
, notation = ""
}
]
, conclusion = "conclusion"
, conclusionNotation = "()"
}
]
}

View file

@ -1 +1,54 @@
module Debate.Arguments.Ancestry.ImmortalityReductio exposing (..)
module Debate.Arguments.Ancestry.ImmortalityReductio exposing (..)
import Debate.Types exposing (..)
argumentImmortalityReductio : Argument
argumentImmortalityReductio =
{ argumentTitle = "Title"
, propositionTitle = "Proposition"
, propositionSummary = "Summary"
, proofLink = ""
, definitionTable =
[ { definiendum = ""
, definiens = "prop 1"
}
, { definiendum = ""
, definiens = "prop 2"
}
, { definiendum = ""
, definiens = "prop 3"
}
, { definiendum = ""
, definiens = "prop 4"
}
, { definiendum = ""
, definiens = "prop 5"
}
, { definiendum = ""
, definiens = "variable 1"
}
]
, argumentFormalization =
[ { premises =
[ { premise = "premise 1"
, notation = ""
}
, { premise = "premise 2"
, notation = ""
}
, { premise = "premise 3"
, notation = ""
}
, { premise = "premise 4"
, notation = ""
}
, { premise = "premise 5"
, notation = ""
}
]
, conclusion = "conclusion"
, conclusionNotation = "()"
}
]
}

View file

@ -1 +1,54 @@
module Debate.Arguments.Ancestry.PolyphenolReductio exposing (..)
module Debate.Arguments.Ancestry.PolyphenolReductio exposing (..)
import Debate.Types exposing (..)
argumentPolyphenolReductio : Argument
argumentPolyphenolReductio =
{ argumentTitle = "Title"
, propositionTitle = "Proposition"
, propositionSummary = "Summary"
, proofLink = ""
, definitionTable =
[ { definiendum = ""
, definiens = "prop 1"
}
, { definiendum = ""
, definiens = "prop 2"
}
, { definiendum = ""
, definiens = "prop 3"
}
, { definiendum = ""
, definiens = "prop 4"
}
, { definiendum = ""
, definiens = "prop 5"
}
, { definiendum = ""
, definiens = "variable 1"
}
]
, argumentFormalization =
[ { premises =
[ { premise = "premise 1"
, notation = ""
}
, { premise = "premise 2"
, notation = ""
}
, { premise = "premise 3"
, notation = ""
}
, { premise = "premise 4"
, notation = ""
}
, { premise = "premise 5"
, notation = ""
}
]
, conclusion = "conclusion"
, conclusionNotation = "()"
}
]
}

View file

@ -1 +1,54 @@
module Debate.Arguments.Ethics.Abortion exposing (..)
module Debate.Arguments.Ethics.Abortion exposing (..)
import Debate.Types exposing (..)
argumentAbortion : Argument
argumentAbortion =
{ argumentTitle = "Title"
, propositionTitle = "Proposition"
, propositionSummary = "Summary"
, proofLink = ""
, definitionTable =
[ { definiendum = ""
, definiens = "prop 1"
}
, { definiendum = ""
, definiens = "prop 2"
}
, { definiendum = ""
, definiens = "prop 3"
}
, { definiendum = ""
, definiens = "prop 4"
}
, { definiendum = ""
, definiens = "prop 5"
}
, { definiendum = ""
, definiens = "variable 1"
}
]
, argumentFormalization =
[ { premises =
[ { premise = "premise 1"
, notation = ""
}
, { premise = "premise 2"
, notation = ""
}
, { premise = "premise 3"
, notation = ""
}
, { premise = "premise 4"
, notation = ""
}
, { premise = "premise 5"
, notation = ""
}
]
, conclusion = "conclusion"
, conclusionNotation = "()"
}
]
}

View file

@ -1 +1,54 @@
module Debate.Arguments.Ethics.EfilismPatrolSquad exposing (..)
module Debate.Arguments.Ethics.EfilismPatrolSquad exposing (..)
import Debate.Types exposing (..)
argumentEfilismPatrolSquad : Argument
argumentEfilismPatrolSquad =
{ argumentTitle = "Title"
, propositionTitle = "Proposition"
, propositionSummary = "Summary"
, proofLink = ""
, definitionTable =
[ { definiendum = ""
, definiens = "prop 1"
}
, { definiendum = ""
, definiens = "prop 2"
}
, { definiendum = ""
, definiens = "prop 3"
}
, { definiendum = ""
, definiens = "prop 4"
}
, { definiendum = ""
, definiens = "prop 5"
}
, { definiendum = ""
, definiens = "variable 1"
}
]
, argumentFormalization =
[ { premises =
[ { premise = "premise 1"
, notation = ""
}
, { premise = "premise 2"
, notation = ""
}
, { premise = "premise 3"
, notation = ""
}
, { premise = "premise 4"
, notation = ""
}
, { premise = "premise 5"
, notation = ""
}
]
, conclusion = "conclusion"
, conclusionNotation = "()"
}
]
}

View file

@ -8,6 +8,7 @@ argumentTemplate =
{ argumentTitle = "Title"
, propositionTitle = "Proposition"
, propositionSummary = "Summary"
, proofLink = ""
, definitionTable =
[ { definiendum = ""
, definiens = "prop 1"

View file

@ -3,7 +3,7 @@ module Pages.Home_ exposing (Model, Msg, page)
import Config.Colour as T exposing (..)
import Config.Format as O exposing (..)
import Config.Identity as I exposing (..)
import Cuckery.Types
import Cuckery.Types exposing (..)
import Effect exposing (Effect)
import Element exposing (..)
import Html.Attributes as H exposing (style)

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."
}
]

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
}