fix(web): brief timestamp, Ask flicker+typing, chart polish, drop Habits - #5
Merged
Conversation
- Brief timestamp: render createdAt via the existing UTC normalization (sqlite stores tz-less UTC; new Date() misread it as local → wrong time). Header date now uses the briefing's civil date. - Charts: Sparkline rendered at measured pixel width instead of a fixed 360 viewBox with preserveAspectRatio=none — fixes the stretched/distorted strokes and oval marker. Adds per-day hover tooltips (date + value + guide line), wired into Trends, Sleep, and Dashboard. - Ask AI flicker: useConfigStatus now distinguishes loading (undefined) from failure (null); AskPage holds a stable frame until config resolves instead of flashing the setup empty-state. - Ask AI typing: useAsk reveals the reply with a typewriter (steady ~1.5s pace) so the assistant types its answer back; caret persists until the reveal ends. - Remove the Habits page from the nav + router (not deleting the code). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.
A batch of dashboard/Trends/Ask polish + the Habits removal.
new Date()parsed sqlite's tz-less UTC string as local. Now normalized via the existingtoEpochhelper; the header date uses the briefing's civil date.Sparklinerendered a fixed360viewBox withpreserveAspectRatio="none", horizontally stretching strokes and the marker into an oval. Rewritten to render at its measured pixel width (1:1, undistorted) with per-day hover tooltips (date + value + guide line). Wired into Trends, Sleep, and Dashboard.useConfigStatusreturnednullfor both loading and error, so the page flashed the setup empty-state before the chat mounted. Nowundefined= loading; the page holds a stable frame until it resolves.useAsknow reveals it with a typewriter (~1.5s steady pace) and the caret blinks until the reveal finishes.Verified: typecheck + lint + 20 tests + web build green; Trends screenshot confirms clean, undistorted charts.
🤖 Generated with Claude Code