Skip to content

feat(layout-v2): sidebar rail rework + Slack-style add rows#6240

Open
tsahimatsliah wants to merge 2 commits into
mainfrom
claude/reverent-maxwell-291988
Open

feat(layout-v2): sidebar rail rework + Slack-style add rows#6240
tsahimatsliah wants to merge 2 commits into
mainfrom
claude/reverent-maxwell-291988

Conversation

@tsahimatsliah

@tsahimatsliah tsahimatsliah commented Jun 24, 2026

Copy link
Copy Markdown
Member

Reworks the v2 dual-sidebar based on the latest design review, plus consistent add-action affordances for the squad/folder/feed panels. All changes are v2-only — the v1 sidebar and the shared MainSection are untouched.

This is the production-ready port of the design mock-up in #6218, rebased on current main (keeps the Upvote / Downvote tooltip copy from #6238) with a cleanup pass over dead code.

Rail layout (top → bottom)

  • Logo moved to the very top.
  • Avatar is now a tab opening a Profile panel (no dropdown): profile header + stats, Plus CTA, Following / History / Happening Now / Analytics / Jobs / DevCard, Pinned squads, Custom feeds.
  • Home — new flat button → the For You feed.
  • Search → Explore · Squads · Quests · Saved (+ Notifications/More overflow) · New post.
  • Bottom: Invite · Support · ⚙️ Settings (theme, settings, appearance, feed settings, billing, log out).

Panels

  • Explore panel lists the /posts sub-tabs (Popular, By upvotes, By comments, By date, Best of) + Recent pages, reusing urlToTab from FeedExploreHeader so it can't drift.
  • Profile panel hosts everything "you", reusing existing section components.

Add affordances (squads / folders / feeds)

  • A dedicated Slack-style add row at the bottom of each list (New Squad / New folder / New feed).
  • The top "+" appears only once the list grows past a few entries (shared SIDEBAR_ADD_TOP_THRESHOLD), so short lists stay clean.

Cleanup vs. the mock-up

  • Removed the unused useSidebarDragStateValue hook and the write-only outsideRailRef in the shortcuts dock.
  • ReadingStreakPopup now uses the shared 30-day history hook instead of an inline duplicate query; renamed it to useReadingStreak30Days to avoid colliding with the existing useReadingHistory hook.
  • Trimmed unreachable entries from ExploreHubHeader.hubTitles.

Verification

  • typecheck-strict-changed clean; eslint --max-warnings 0 clean for changed files.
  • Sidebar Jest suites pass (added Profile path-mapping cases to sidebarCategory.spec.ts).

🤖 Generated with Claude Code

Preview domain

https://claude-reverent-maxwell-291988.preview.app.daily.dev

tsahimatsliah and others added 2 commits June 24, 2026 10:35
Port of mock-up PR #6218 onto current main.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…ory query

- Remove unused useSidebarDragStateValue hook
- Remove write-only outsideRailRef in shortcuts dock
- Replace inline 30-day streak history query in ReadingStreakPopup with the
  shared hook; rename it to useReadingStreak30Days to avoid colliding with the
  existing useReadingHistory hook
- Trim unreachable entries from ExploreHubHeader.hubTitles

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

vercel Bot commented Jun 24, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
daily-webapp Ready Ready Preview Jun 24, 2026 7:54am
1 Skipped Deployment
Project Deployment Actions Updated (UTC)
storybook Ignored Ignored Jun 24, 2026 7:54am

Request Review

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