Bracket sleep and walk pairs in the history log
A pair reads as two unrelated rows in the day's log: "Walk start 08:00" and "Walk end 08:30" sit apart from each other and, with a pee logged in between, apart from anything that happened while the puppy was out. A dotted rail down the margin ties the pair together, in that pair's colour. It runs the full span rather than only touching the two boundary rows, so whatever was logged in between falls inside the bracket — a pee taken on a walk now reads as having happened during it, which is the more useful claim and comes for free once the rail spans rows at all. Which rows a span covers comes from the same sleepWindowsForDay / walkWindowsForDay the Sleep and Walks panels draw, so a pair crossing midnight is treated identically in both places. Where a span's boundary isn't a row in this day — an ongoing walk, or one that ran over from yesterday — that end of the rail is left open and runs off the edge of the list, rather than anchoring on a row that didn't start or end anything. A boundary with no partner in the day draws nothing: a rail needs two rows to tie. The roles are named for the rendered list, which runs newest-first, so a span's last event is its top row and the rail is built downward from there. It costs no layout. The rail is drawn in the padding the section already has, left of the cards, so no row indents or moves; the anchored end stops level with the row's dot and the open ends overshoot the list gap so consecutive segments join into one line.
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
[
|
||||
{ "date": "2026-08-31", "text": "A sleep or walk pair is now tied together in the History log by a dotted rail down the side, in that pair's colour, running from the start row to the end row. Anything logged in between sits inside the bracket, so a pee taken on a walk reads as having happened during it. A pair still in progress, or one that ran over from yesterday, leaves its end of the rail open" },
|
||||
{ "date": "2026-08-31", "text": "Added walks: tap 🦮 Walk start when you head out and 🏁 Walk end when you get home, and the time in between is counted as exercise. The pair gets its own row under the sleep buttons. Today's total and the number of walks show in the overview, every walk of the day is listed in a new Walks section (with the age-based rule of thumb of about five minutes per month of age, twice a day), and the daily charts gain a “Walks (minutes)” bar chart once you have logged one. Like sleep, only the boundary that makes sense is tappable — no walk running means Walk end is greyed out" },
|
||||
{ "date": "2026-08-31", "text": "The Log event buttons are grouped into rows now instead of flowing into one grid: 😴 Sleep start and ⏰ Sleep end side by side on their own row, then 🍽️ Ate / 💧 Pee / 💩 Poo three across, then ⚖️ Weigh-in and 📝 Note. The two halves of a sleep pair can no longer end up split across a wrap, and no button is left stranded alone on the last row" },
|
||||
{ "date": "2026-08-24", "text": "The timing charts now show the longest gap as well: each bar keeps its solid stretch from the shortest to the typical gap and fades on out to the longest one of the week. To stop the nightly long gap from squashing the daytime range into a sliver, the bars are stretched so the typical gap always sits dead centre — left of the middle is sooner than usual, right of it is longer, in every row" },
|
||||
|
||||
Reference in New Issue
Block a user