Disable the sleep boundary that repeats the last one

While asleep, tapping "Sleep start" again can only produce a zero-length
sleep window, and likewise "Sleep end" while awake — so renderActionHints
now disables that button outright instead of merely dimming it, with a
title explaining why ("Already asleep" / "Already awake"). Every other
action stays clickable, and a genuinely missed boundary is still fixable
from the event log, which accepts any time. With no sleep history yet,
either boundary remains a valid first event.

Also adds nodejs to the dev shell for `node --check` on src/*.js.
This commit is contained in:
Alexander Heldt
2026-08-18 18:35:14 +00:00
parent f9894abfc9
commit 93d6ea27a7
4 changed files with 32 additions and 5 deletions
+3 -1
View File
@@ -59,7 +59,9 @@
};
devShells.default = pkgs.mkShell {
packages = [ pkgs.go pkgs.python3 ];
# nodejs is here for `node --check` on src/*.js — the frontend has no
# build step, so this is a syntax-check tool, not a dependency.
packages = [ pkgs.go pkgs.python3 pkgs.nodejs ];
shellHook = ''
echo "puppy-tracker dev shell"
echo " cd server && go run . -static ../src -data /tmp/puppy-events.json"