module Drasil.Projectile.Lesson.IntroSection where

import Data.Drasil.Concepts.Physics (force, motion)
import Drasil.Projectile.Concepts (projectile, projMotion)

import qualified Language.Drasil.Sentence.Combinators as S
import Language.Drasil

introContext :: Contents
introContext :: Contents
introContext = [Sentence] -> Contents
foldlSP_ 
  [String -> Sentence
S "One of the first topics typically taught when students are introduced to the study of dynamics is"
   Sentence -> Sentence -> Sentence
+:+. NamedChunk -> Sentence
forall n. (HasUID n, NamedIdea n) => n -> Sentence
phrase NamedChunk
projMotion, NamedChunk -> Sentence
forall n. NamedIdea n => n -> Sentence
atStart NamedChunk
projMotion Sentence -> Sentence -> Sentence
+:+ String -> Sentence
S "is a good starting point for two reasons:"]

reasonList :: Contents
reasonList :: Contents
reasonList = [Sentence] -> Contents
enumBulletU ([Sentence] -> Contents) -> [Sentence] -> Contents
forall a b. (a -> b) -> a -> b
$ ([Sentence] -> Sentence) -> [[Sentence]] -> [Sentence]
forall a b. (a -> b) -> [a] -> [b]
map [Sentence] -> Sentence
foldlSent
  [[String -> Sentence
S "The model developed is relatively simple because it only involves kinematic quantities,",
    String -> Sentence
S "not kinetics. Kinematics focuses on the geometrics aspects of", ConceptChunk -> Sentence
forall n. (HasUID n, NamedIdea n) => n -> Sentence
phrase ConceptChunk
motion,
    String -> Sentence
S "while kinetics introduces the concept of" Sentence -> Sentence -> Sentence
+:+ ConceptChunk -> Sentence
forall n. (HasUID n, NamedIdea n) => n -> Sentence
plural ConceptChunk
force], 
  [NamedChunk -> Sentence
forall n. NamedIdea n => n -> Sentence
atStart NamedChunk
projMotion Sentence -> Sentence -> Sentence
+:+ String -> Sentence
S "has practical applications for tracking the", ConceptChunk -> Sentence
forall n. (HasUID n, NamedIdea n) => n -> Sentence
phrase ConceptChunk
motion, 
    String -> Sentence
S "of launched or thrown objects"]]

overviewParagraph :: Contents
overviewParagraph :: Contents
overviewParagraph = [Sentence] -> Contents
foldlSP [String -> Sentence
S "The presentation below is based on Section 12.6 (", ConceptChunk -> Sentence
forall n. NamedIdea n => n -> Sentence
atStart ConceptChunk
motion Sentence -> Sentence -> Sentence
`S.of_`
  String -> Sentence
S "a", ConceptChunk -> Sentence
forall n. NamedIdea n => n -> Sentence
atStart ConceptChunk
projectile, String -> Sentence
S") from the classic Hibbler text" Sentence -> Sentence -> Sentence
+:+
  Sentence -> Sentence
Quote (String -> Sentence
S "Engineering Mechanics Dynamnics, 10th edition")]