refactor adding points into model logic

This commit is contained in:
2022-08-31 21:51:28 +00:00
parent b1c54fad14
commit 3775c53512
2 changed files with 13 additions and 11 deletions

View File

@@ -232,4 +232,15 @@
(method skipRewardFile []
(set .skipped (last rewardFiles) true)
(save))
(method addPoint [:Entry e]
(let [label (activeLabel e)]
(+= label.points 1)
(whenLet [(Daily days lastDayDone) e.type]
(set e.type (Daily days (HabitModel.todayString))))
(whenLet [(Monthly days lastDayDone) e.type]
(set e.type (Monthly days (.toString (DateTime.now)))))
(whenLet [(Interval days lastDayDone) e.type]
(set e.type (Interval days (.toString (DateTime.now))))))
(save))

View File

@@ -588,17 +588,8 @@
(method makeText [:Entry e]
(let [label (HabitModel.activeLabel e)]
(_makeText label.label label.points ->:Void text {
// TODO move all of this logic other than setModel into HabitModel logic
(let [label (HabitModel.activeLabel e)]
(+= label.points 1)
(whenLet [(Daily days lastDayDone) e.type]
(set e.type (Daily days (HabitModel.todayString))))
(whenLet [(Monthly days lastDayDone) e.type]
(set e.type (Monthly days (.toString (DateTime.now)))))
(whenLet [(Interval days lastDayDone) e.type]
(set e.type (Interval days (.toString (DateTime.now)))))
(model.save)
(setModel model))
(model.addPoint e)
(setModel model)
})))