From 11cd6405359bb6a9010c75880c04359bbb54892d Mon Sep 17 00:00:00 2001 From: Andrew Cady Date: Sun, 9 Oct 2022 17:37:02 -0400 Subject: move lift targets into state --- repgoal.hs | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) (limited to 'repgoal.hs') diff --git a/repgoal.hs b/repgoal.hs index 28e48a1..bd7f678 100755 --- a/repgoal.hs +++ b/repgoal.hs @@ -74,11 +74,13 @@ data LiftTarget = LiftTarget { stats :: [Performance] } -lifts :: [LiftTarget] -lifts = +initial :: [LiftTarget] +initial = [ - LiftTarget "Deadlift" 345 $ [Achieved 5 360, Achieved 9 315], - LiftTarget "Press" 130 $ [Achieved 6 130, Achieved 9 120] + LiftTarget "Deadlift" 360 $ [Achieved 5 360, Achieved 9 315, Achieved 8 345], + LiftTarget "Press" 135 $ [Achieved 6 130, Achieved 9 120], + LiftTarget "Squat" 285 $ [Achieved 6 270, Achieved 8 255, Achieved 5 285], + LiftTarget "Bench" 205 $ [Achieved 7 190, Achieved 9 180, Achieved 4 205] ] computeRepGoal :: LiftTarget -> (Integer) @@ -99,8 +101,8 @@ showRational n = printf format $ (realToFrac :: Rational -> Float) $ n where format = if floor (n * 10) `mod` 10 == (0 :: Integer) then "%.0f" else "%.2f" -drawUI :: () -> [Widget ()] -drawUI () = [a] +drawUI :: St -> [Widget ()] +drawUI (St lifts) = [a] where a = vCenter $ hCenter $ renderTable $ table $ map (padLeftRight 1 . str) ["Lift", "Achieved Best", "Computed 1RM", "Goal Reps", "Goal+1"] : map toRow lifts @@ -121,10 +123,12 @@ drawUI () = [a] -- TODO: State contains chosen repmax formula -- TODO: State contains performances -type St = () +data St = St { + lifts :: [LiftTarget] +} -- TODO: Event for inotify on edited text file (as input interface) -type CustomEvent = () +data CustomEvent = CustomEvent handleEvent :: St -> BrickEvent () CustomEvent -> EventM () (Next St) handleEvent st e = case e of @@ -147,4 +151,4 @@ main = do let buildVty = V.mkVty V.defaultConfig initialVty <- buildVty chan <- newBChan 10 - void $ customMain initialVty buildVty (Just chan) (theApp) () + void $ customMain initialVty buildVty (Just chan) (theApp) (St initial) -- cgit v1.2.3