Skip to content

Day at a Glance: time-aware enhancement#10

Merged
joshcoolman merged 3 commits into
mainfrom
feature-test
Feb 12, 2026
Merged

Day at a Glance: time-aware enhancement#10
joshcoolman merged 3 commits into
mainfrom
feature-test

Conversation

@joshcoolman

@joshcoolman joshcoolman commented Feb 12, 2026

Copy link
Copy Markdown
Owner

Summary

  • Rebuilt Day at a Glance experiment with full 9am-5pm workday schedule, dynamic now-line tracking real time, and partial color fill effect on the current hour's event bar
  • Re-sorted experiment to top of gallery and README with updated date and description
  • Added accessibility improvements (checkbox role/aria/keyboard) and fixed hydration mismatch

Test plan

  • Verify now-line position aligns with the current hour's event bar color split
  • Confirm past events are dimmed and future events show full color
  • Check checkboxes are keyboard-accessible (Tab, Enter/Space)
  • Verify gallery page shows Day at a Glance as first experiment

🤖 Generated with Claude Code


Note

Medium Risk
Moderate UI behavior change that introduces time-based state and interval updates in a client component; main risk is visual/logic regressions (now-line position, past/current styling, hydration).

Overview
Updates the Day at a Glance experiment to be time-aware. The timeline is rebuilt around a 9–5 events array, computes the current time on a 60s interval, renders a dynamic now-line, dims past rows, and uses an inline linear-gradient to partially fill the current hour’s bar.

Adds accessibility to the interactive checkboxes (keyboard + role/aria-checked) and updates styling to support the expanded color set plus a new header date label.

Reorders/refreshes the experiment listing and copy in README.md and app/design-experiments/page.tsx, logs the milestone in docs/01-progress.md, and tweaks the Claude review workflow to use sticky PR comments (.github/workflows/claude.yml).

Written by Cursor Bugbot for commit 2226891. This will update automatically on new commits. Configure here.

joshcoolman and others added 2 commits February 12, 2026 11:21
Rebuilt experiment with full 9am-5pm workday schedule (8 events, no gaps).
Added dynamic now-line that tracks current time with 60s interval updates,
partial color fill on the current hour's event bar using CSS linear-gradient,
and auto-dimming of past hour rows.

- Replaced static events with workday tasks (standup, deep work, sprint
  planning, lunch, design review, docs, client call, code review)
- Added 4 new color classes (pink, green, teal, orange, indigo)
- Today's date displayed in header
- Fixed hydration mismatch by deferring time state to useEffect
- Added checkbox accessibility (role, aria-checked, keyboard support)
- Removed dead .now-time CSS rule

Fixes #9

Co-Authored-By: Claude <noreply@anthropic.com>
Moved day-at-a-glance to first position in both the design experiments
gallery and README with updated date (Feb 12) and description reflecting
the time-aware enhancement. Added step 5 to shipit skill: when shipping
work that modifies an existing experiment, re-sort it to the top of both
listing files with updated date and description.

Co-Authored-By: Claude <noreply@anthropic.com>
@vercel

vercel Bot commented Feb 12, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
com-joshcoolman Ready Ready Preview, Comment Feb 12, 2026 7:37pm
sandbox Ready Ready Preview, Comment Feb 12, 2026 7:37pm

Request Review

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 3 potential issues.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

This is the final PR Bugbot will review for you during this billing cycle

Your free Bugbot reviews will reset on March 11

Details

You are on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle.

To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.

setCurrentMinute(minute);

if (hour >= 9 && hour < 17) {
setNowPosition((hour - 9) * 100 + (minute / 60) * 100 + 2);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Now-line and fill use different scales

Medium Severity

nowPosition is computed with a 100px-per-hour scale, but the current-hour split in barStyle uses fillPct across the 80px .event-bar. This makes the now-line drift away from the gradient boundary, especially near hour start/end, so the two indicators no longer represent the same time.

Additional Locations (1)

Fix in Cursor Fix in Web

);

updateTime();
const interval = setInterval(updateTime, 60000);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Clock updates drift from real minute boundaries

Medium Severity

setInterval(updateTime, 60000) runs relative to mount time, not wall-clock minute boundaries. If the page loads mid-minute, currentHour and currentMinute stay stale until the next interval tick, so now-line, current-event split, and past/future styling can be wrong for up to almost a minute each hour.

Additional Locations (1)

Fix in Cursor Fix in Web

month: 'short',
day: 'numeric',
})
);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Date label becomes stale after midnight

Low Severity

todayDate is set once in useEffect and never refreshed. If the page remains open across midnight, the displayed date in today-date no longer matches the actual day while the rest of the timeline continues updating.

Additional Locations (1)

Fix in Cursor Fix in Web

Adds use_sticky_comment: true so the review summary appears as a
visible PR comment instead of being buried in the check details tab.

Co-Authored-By: Claude <noreply@anthropic.com>
@joshcoolman
joshcoolman merged commit b62ff02 into main Feb 12, 2026
5 of 6 checks passed
@joshcoolman
joshcoolman deleted the feature-test branch February 12, 2026 19:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant