Skip to content

feat(web): add repo browsing without requiring a search first#1100

Closed
h30s wants to merge 2 commits intosourcebot-dev:mainfrom
h30s:h30s/feat-browse-repos-472
Closed

feat(web): add repo browsing without requiring a search first#1100
h30s wants to merge 2 commits intosourcebot-dev:mainfrom
h30s:h30s/feat-browse-repos-472

Conversation

@h30s
Copy link
Copy Markdown
Contributor

@h30s h30s commented Apr 8, 2026

Summary

  • Adds a 'Browse repositories' button on the search landing page so users can go straight to the repo list`
  • Adds a 'Repositories' back-button in the file explorer top bar
  • Fixes the Repositories nav item active state to stay highlighted on /browse routes

Fixes #472

Summary by CodeRabbit

  • New Features
    • Added a "Repositories" button to the top navigation for quick access to browse repositories.
    • Added a "Browse repositories" call-to-action on the search page with guidance to open repos in the file explorer.
    • Improved navigation highlighting for repository-related sections.
    • Clarified repository page description with instructions for opening repositories.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Apr 8, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: f830a0ba-4b8a-4ee4-89f9-351759c5c71f

📥 Commits

Reviewing files that changed from the base of the PR and between 3a67747 and 4d00870.

📒 Files selected for processing (2)
  • CHANGELOG.md
  • packages/web/src/app/(app)/components/navigationMenu/navigationItems.tsx
✅ Files skipped from review due to trivial changes (2)
  • CHANGELOG.md
  • packages/web/src/app/(app)/components/navigationMenu/navigationItems.tsx

Walkthrough

Adds explicit entry points for repository browsing: a TopBar action button, updated navigation active-state logic for /repos, a CTA on the search landing page linking to /repos, and clarified repo list copy on the repositories page.

Changes

Cohort / File(s) Summary
TopBar & Layout
packages/web/src/app/(app)/browse/layoutClient.tsx
Passes an actions React node into TopBar that renders an outline/small button linking to /repos with a BookMarkedIcon.
Navigation Active State
packages/web/src/app/(app)/components/navigationMenu/navigationItems.tsx
Updates isActive(href) to treat /repos as active when pathname is /repos, starts with /repos/, is /browse, or starts with /browse/.
Search Landing CTA
packages/web/src/app/(app)/search/components/searchLandingPage.tsx
Adds a centered CTA (outline Button with Link to /repos, FolderTreeIcon) and helper text prompting users to open the file explorer and pick a repo.
Repos Page Copy
packages/web/src/app/(app)/repos/page.tsx
Adjusts repository list description to instruct that selecting a repository opens it in the file explorer.
Changelog
CHANGELOG.md
Adds an Unreleased → Added entry describing the new browse/repositories UI affordances.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Suggested reviewers

  • brendan-kellam
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change: enabling repository browsing without requiring a search first, which matches the primary objective of the changeset.
Linked Issues check ✅ Passed The PR fully addresses issue #472 by adding multiple UI entry points for browsing repos without search: a 'Browse repositories' button on the search landing page and a 'Repositories' shortcut in the top bar.
Out of Scope Changes check ✅ Passed All changes are directly related to enabling repository browsing without search: UI navigation additions, active state fixes for the Repositories nav item, and documentation updates are all in scope.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@packages/web/src/app/`(app)/components/navigationMenu/navigationItems.tsx:
- Around line 29-31: The active-state check using startsWith in the block that
handles href === '/repos' is too permissive; change the logic that currently
returns pathname.startsWith('/repos') || pathname.startsWith('/browse') to
perform exact-or-subpath matching (e.g., pathname === '/repos' ||
pathname.startsWith('/repos/') and similarly for '/browse') so unrelated
prefixes like '/browseXYZ' don't match; update the condition in the function
handling href === '/repos' (reference: href and pathname checks in
navigationItems.tsx) to use these exact-or-subpath checks or a small helper like
isExactOrSubpath(prefix, pathname).
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: c14fcc13-2c73-4ab1-bd36-6c76ef6f1bbb

📥 Commits

Reviewing files that changed from the base of the PR and between 44e7e62 and 3a67747.

📒 Files selected for processing (4)
  • packages/web/src/app/(app)/browse/layoutClient.tsx
  • packages/web/src/app/(app)/components/navigationMenu/navigationItems.tsx
  • packages/web/src/app/(app)/repos/page.tsx
  • packages/web/src/app/(app)/search/components/searchLandingPage.tsx

@h30s
Copy link
Copy Markdown
Contributor Author

h30s commented Apr 8, 2026

@msukkari PTAL

@brendan-kellam
Copy link
Copy Markdown
Contributor

@h30s I'm going to close this PR as we are currently re-working the UI to fulfill this requirement. For future reference, please discuss with us prior to opening a PR that makes changes to the UI or core product, as outlined in the CONTRIBUTING.md

@h30s
Copy link
Copy Markdown
Contributor Author

h30s commented Apr 9, 2026

@h30s I'm going to close this PR as we are currently re-working the UI to fulfill this requirement. For future reference, please discuss with us prior to opening a PR that makes changes to the UI or core product, as outlined in the CONTRIBUTING.md

ah got it 👍will discuss first next time before pushing UI changes

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.

[FR] Provide an easy way to use Sourcebot for browsing repos

2 participants