Repository navigation
feat(web): show the time report on the Time page - #153
Merged
Merged
Conversation
The time service's report reaches the app through the gateway as GET /api/time/report, but nothing showed it: the Time tab still opened the placeholder page. The Time page now shows this week's hours on the Home's week card and the last 7 days, a row each, with the weekdays that miss their hours marked, so a missing day stands out before the week ends. Decision 184 records the choices.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Goal
The time service's report reaches the app as
GET /api/time/report(#150, #151), but nothing shows it yet: the Time tab still opens the placeholder page. This step builds the Time page. It shows this week's hours on the Home's week card, then the last 7 days, one row each, with the weekdays that have no hours marked. The eighth oftime-tracking's thirteen steps (decision 184).Scope
src/time/report.ts: theReportandDaytypes, andloadReport()through the shell's snapshot loader (decision 147).src/time/days.ts:dayRows(the date as "15 Oct", the weekday or "Today", the hours, logged or not, missing or not) andmissingNote("1 day missing", "3 days missing", none).src/time/DayList.svelte(the days' card) andsrc/time/TimePage.svelte(the page, its two sections and its failure lines).src/time/week.tsexportsformatHours, so the rows write hours as the card does.src/shell/page.tsgains thetimekind:/timeand the paths under it show the page, titled "Time · Bakhyard".App.sveltemounts it.days.test.ts,TimePage.test.ts, the newApp.pages.test.ts,e2e/time.spec.ts, ande2e/demo.tsgains a report.App.test.tshad 199 of Biome's 200 lines, so its tests of the pages the app opens on moved toApp.pages.test.ts.docs/setup.md; the README's feature list.Out of scope
home-week); a week view (time-week); the Home's attention items (time-attention).worklog-add,fill-day). The rows aren't links yet.Acceptance criteria
/timeand the paths under it show the Time page, titled "Time · Bakhyard". The header marks Time, and on a phone the tab bar marks More.--ink; a day without hours stays muted like its date. A missing day has a filled Missing chip, like the Home's Late chip. The section's note counts the missing days and is left out when none is.mise run checkpasses, and the PR's CI is green.QA
mise run checkpassed:gen:check.pnpm audit.src/timeis fully covered by statements.{#if days && searched}→{#if searched}, is equivalent under the contract: a successful poll sets the days andsearchedtogether. The PRs and Jira sections use the same guard.Review
No blocking finding. Non-blocking:
DayListcopies the card's style, as twelve other components do (§0's idea to share it).loggedreads the raw hours, so a worklog of under 30 seconds would show "0h" in--ink. Jira logs a minute at least.Decision 184 is for the user's end review.
Merged under the user's standing OK (2026-10-26) to merge green PRs; the user reviews it with the rest at the end.
Screenshots