Skip to content

Improve activity feed design#2634

Open
jancborchardt wants to merge 4 commits into
masterfrom
feat/activity-stream-layout
Open

Improve activity feed design#2634
jancborchardt wants to merge 4 commits into
masterfrom
feat/activity-stream-layout

Conversation

@jancborchardt
Copy link
Copy Markdown
Member

@jancborchardt jancborchardt commented Jun 2, 2026

Improve overall design of activity feed:

  • Remove unnecessary h1 heading which duplicated the active nav entry. Keep it in the code for semantics/accessibility
  • Make app-content the scroll container so the scrollbar isn't floating (this was just a bit unelegant)
  • Make activity date headings sticky on scroll (with logic to look nice at the breakpoints)
  • Add bottom whitespace below the end-of-feed message so it’s not stuck to the bottom

Before

Screencast.From.2026-06-02.02-09-05.webm

After

Screencast.From.2026-06-02.01-59-25.webm

Breakpoint example:

Screencast.From.2026-06-02.02-01-05.webm

AI-assisted: Claude Code (Opus 4.8)

@codecov
Copy link
Copy Markdown

codecov Bot commented Jun 2, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@jancborchardt jancborchardt moved this to 🏗️ At engineering in 🖍 Design team Jun 2, 2026
@jancborchardt jancborchardt force-pushed the feat/activity-stream-layout branch 3 times, most recently from 308b49e to e8f2b72 Compare June 2, 2026 01:17
The <h1> showed the active filter's name, which the app navigation
already indicates, so it only added visual noise. Keep it in the DOM for
document semantics and screen readers but hide it with hidden-visually,
and drop its now-unused visual styling so it cannot affect layout. Adjust
the stream e2e tests to assert the heading's content rather than its
visibility.

AI-assisted: Claude Code (Opus 4.8)
Signed-off-by: Jan C. Borchardt <[email protected]>
The scroll container was the centred, max-width content column, so its
scrollbar floated in the middle of the viewport. Move scrolling to the
full-width container and clamp the readable column in an inner wrapper,
so the scrollbar sits at the edge of app-content while the content stays
readable. The column width becomes a shared --activity-feed-max-width.

AI-assisted: Claude Code (Opus 4.8)
Signed-off-by: Jan C. Borchardt <[email protected]>
Group each day's activities in a section whose date heading sticks to the
top while that day is in view, with the next day pushing the previous one
up. The heading fades feed items out beneath it and is sized/aligned to
the app navigation toggle. Its indent to clear the toggle eases in from
the content-area width (a query container), so it accounts for the space
the open navigation takes rather than the raw viewport.

Add unit tests for the heading's Today/Yesterday/full-date labels.

AI-assisted: Claude Code (Opus 4.8)
Signed-off-by: Jan C. Borchardt <[email protected]>
Give the "No more activities." message generous, viewport-scaled space
below it so the end of the feed isn't cramped against the bottom edge.

AI-assisted: Claude Code (Opus 4.8)
Signed-off-by: Jan C. Borchardt <[email protected]>
@jancborchardt jancborchardt force-pushed the feat/activity-stream-layout branch from e8f2b72 to 1956162 Compare June 2, 2026 09:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: 🏗️ At engineering

Development

Successfully merging this pull request may close these issues.

1 participant