From f1e3cd7e13c18064e8dd3355cdadcaf21385d01d Mon Sep 17 00:00:00 2001 From: Nat Quayle Nelson Date: Tue, 30 Aug 2022 17:40:24 +0000 Subject: [PATCH] Allow create daily habits --- .../source/HabitState.kiss | 26 ++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/projects/flixel-desktop-habit-puzzle-game/source/HabitState.kiss b/projects/flixel-desktop-habit-puzzle-game/source/HabitState.kiss index 4f908344..1fa61169 100644 --- a/projects/flixel-desktop-habit-puzzle-game/source/HabitState.kiss +++ b/projects/flixel-desktop-habit-puzzle-game/source/HabitState.kiss @@ -751,7 +751,29 @@ ->:Void [:Int points] (startPuzzle size points) null null FlxColor.LIME null 0.9)))) -(method createDailyEntry []) +(method createDailyEntry [] + (let [days ["Monday" "Tuesday" "Wednesday" "Thursday" "Friday" "Saturday" "Sunday"] + daysEnabled (for day days true) + daysEnabledModelFormat ->(let [:Array idxArr []] + (doFor [idx day] (enumerate daysEnabled) (when day (idxArr.push (+ idx 1)))) + idxArr) + dayText ->idx "$(nth days idx): $(if (nth daysEnabled idx) "yes" "no")" + dayColor ->idx (if (nth daysEnabled idx) (FlxColor.LIME.getDarkened) FlxColor.GRAY) + window (new SimpleWindow "Which days of the week?")] + (localFunction refreshWindow [] + (window.clearControls) + (doFor [idx day] (enumerate days) + (window.makeText (dayText idx) (dayColor idx) ->:Void _ { + (setNth daysEnabled idx !(nth daysEnabled idx)) + (refreshWindow) + })) + (window.makeText "Confirm" FlxColor.LIME ->:Void _ { + (window.hide) + (startAdding (Daily (daysEnabledModelFormat) "")) + })) + (set entryCreationWindow window) + (refreshWindow) + (window.show))) (method createMonthlyEntry []) (method createIntervalEntry []) (method createTaskEntry [] (startAdding Todo)) @@ -768,6 +790,8 @@ (method addCreatedEntry [] // addEntry() calls save() + (when entryNameText.text + (labelsAdding.push entryNameText.text)) (unless labelsAdding (return)) (model.addEntry typeAdding labelsAdding)