Skip to content

feat(sidebar): Added watchlist link to sidebar#2751

Open
OnePoncho wants to merge 7 commits intoseerr-team:developfrom
OnePoncho:feat-add-watchlist-quicklink
Open

feat(sidebar): Added watchlist link to sidebar#2751
OnePoncho wants to merge 7 commits intoseerr-team:developfrom
OnePoncho:feat-add-watchlist-quicklink

Conversation

@OnePoncho
Copy link
Copy Markdown

@OnePoncho OnePoncho commented Mar 23, 2026

Description

Added a link to watchlist in the sidebar for easier navigation to watchlist when in any other page but /discover.

How Has This Been Tested?

Watchlist population and depopulation with the original link on the discover page as well as the new sidebar link.

Checklist:

  • I have read and followed the contribution guidelines.
  • All new and existing tests passed.
  • Successful build pnpm build
  • Translation keys pnpm i18n:extract

Summary by CodeRabbit

  • New Features
    • Added a Watchlist link to app navigation; appears in both mobile and desktop menus.
    • Uses a bookmark icon with a localized label ("Watchlist") for consistent UI and translation support.
    • Link is highlighted when active for quick access to saved items.
    • The Watchlist entry follows existing permission filtering and only appears where allowed.

@OnePoncho OnePoncho requested a review from a team as a code owner March 23, 2026 12:18
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 23, 2026

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Added a "Watchlist" navigation link at /discover/watchlist with a BookmarkIcon (desktop) and outline/filled bookmark icons (mobile), i18n key components.Layout.Sidebar.watchlist, active when route matches ^\/discover\/watchlist$, appearing in both mobile and desktop menus.

Changes

Cohort / File(s) Summary
Sidebar Navigation
src/components/Layout/Sidebar/index.tsx
Imported BookmarkIcon, extended exported menuMessages with watchlist, and added a SidebarLinks entry for /discover/watchlist using messagesKey: 'watchlist'. No requiredPermission specified.
Mobile Menu
src/components/Layout/MobileMenu/index.tsx
Imported outline and filled BookmarkIcon variants and added a menuLinks entry for /discover/watchlist with localized label, active regexp ^\/discover\/watchlist$, and active/inactive icon rendering.
i18n
src/i18n/locale/en.json
Added components.Layout.Sidebar.watchlist: "Watchlist" to provide the English label for the new menu entry.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐰 I hop, I bookmark, a bright little list,
Nestled in sidebars that can't be missed,
A tiny ribbon for treasures to keep,
In mobile and desktop, tucked neat and deep,
Hooray—my watchlist, safe while I sleep 🥕📒

🚥 Pre-merge checks | ✅ 2
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and accurately summarizes the main change: adding a watchlist link to the sidebar navigation. It is concise, specific, and directly reflects the primary objective of the PR.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

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


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

@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 `@src/components/Layout/Sidebar/index.tsx`:
- Line 30: The translation key "watchlist" is defined in the Sidebar locale
object (watchlist: 'Watchlist' in src/components/Layout/Sidebar/index.tsx) but
not present in the locale files; run the extraction and update locales by
running the i18n extractor (pnpm i18n:extract) to add "watchlist" to
src/i18n/locale/en.json (and other locale files), or manually add the
"watchlist" key with the appropriate string to each locale so the translation
system finds it instead of relying on the inline fallback.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 98566109-ce15-4000-89ee-6f763e081656

📥 Commits

Reviewing files that changed from the base of the PR and between dbe1fca and d79377e.

📒 Files selected for processing (1)
  • src/components/Layout/Sidebar/index.tsx

Copy link
Copy Markdown

@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 `@src/components/Layout/Sidebar/index.tsx`:
- Around line 77-82: Add the missing watchlist menu entry to the MobileMenu's
menuLinks array in src/components/Layout/MobileMenu/index.tsx: insert an object
matching the Sidebar entry with href: '/discover/watchlist', messagesKey:
'watchlist', svgIcon: <BookmarkIcon ...> (use the same BookmarkIcon import used
elsewhere), and the same activeRegExp (e.g. /^\/discover\/watchlist$/) so mobile
and desktop navigation are consistent; ensure BookmarkIcon is imported in
MobileMenu if not already and follow existing menuLinks formatting.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 13cc5b52-7864-4f68-8e15-d48ac1203ddc

📥 Commits

Reviewing files that changed from the base of the PR and between d79377e and 1d8bcc4.

📒 Files selected for processing (1)
  • src/components/Layout/Sidebar/index.tsx

Copy link
Copy Markdown

@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 `@src/components/Layout/MobileMenu/index.tsx`:
- Around line 97-103: The watchlist menu item (object with href
'/discover/watchlist' and activeRegExp /^\/discover\/watchlist$/) is inserted
before the Requests entry which shifts filteredLinks and causes the fixed-bar
slice logic to drop the '/requests' link for privileged users; either move that
watchlist object to after the Requests entry in the menu array or modify the
filteredLinks/fixed-bar selection logic (the slice that builds the fixed mobile
bar) to always include the link with href '/requests' for admin/mod roles (e.g.,
detect user role and unshift or ensure '/requests' is present in the first N
fixedBarLinks) so the Requests item and its badge remain visible.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 546b7d4a-a5b1-4b8b-a09d-4929e8ef8905

📥 Commits

Reviewing files that changed from the base of the PR and between 28a0669 and 8a0bfa7.

📒 Files selected for processing (1)
  • src/components/Layout/MobileMenu/index.tsx

@OnePoncho OnePoncho marked this pull request as draft March 23, 2026 13:47
@OnePoncho OnePoncho marked this pull request as ready for review March 23, 2026 13:48
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