Skip to content

πŸ’„ style: move plugin store button outside scroll container#11728

Merged
Innei merged 1 commit intonextfrom
fix/agent-tool-plugin-store-outside-scroller
Jan 23, 2026
Merged

πŸ’„ style: move plugin store button outside scroll container#11728
Innei merged 1 commit intonextfrom
fix/agent-tool-plugin-store-outside-scroller

Conversation

@Innei
Copy link
Copy Markdown
Member

@Innei Innei commented Jan 23, 2026

πŸ’» Change Type

  • πŸ’„ style

πŸ”— Related Issue

πŸ”€ Description of Change

Move the plugin store entry button to a fixed position at the bottom of the dropdown, outside the scrollable area.

Changes:

  • Removed plugin-store item from scrollable menu items
  • Added fixed footer with plugin store button using Flexbox layout
  • Scroller now uses flex: 1 to fill available space
  • Footer stays fixed at bottom with border separator

πŸ§ͺ How to Test

  • Tested locally
  • Added/updated tests
  • No tests needed
  1. Open agent tool dropdown in profile editor
  2. Scroll through the tools list
  3. Verify plugin store button stays fixed at the bottom

πŸ“Έ Screenshots / Videos

πŸ“ Additional Information

N/A

Summary by Sourcery

Adjust agent tool dropdown layout to keep the plugin store entry fixed at the bottom outside the scrollable list.

Enhancements:

  • Rework agent tool dropdown into a flex layout with a dedicated scrollable list area and a fixed footer.
  • Move the plugin store entry from the scrollable menu items into a persistent footer button at the bottom of the dropdown.
  • Tweak avatar and container styling for the dropdown to better align icons and simplify borders/shadows.

Move the plugin store entry button to a fixed position at the bottom of
the dropdown, outside the scrollable area for better UX.
@vercel
Copy link
Copy Markdown

vercel bot commented Jan 23, 2026

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

Project Deployment Review Updated (UTC)
lobehub Building Building Preview, Comment Jan 23, 2026 7:39am

Request Review

@dosubot dosubot bot added the size:M This PR changes 30-99 lines, ignoring generated files. label Jan 23, 2026
@sourcery-ai
Copy link
Copy Markdown
Contributor

sourcery-ai bot commented Jan 23, 2026

Reviewer's Guide

Refactors the agent tool dropdown so the plugin store button is rendered in a fixed footer outside the scrollable menu area, adjusting layout and styles to support a flex-based dropdown container.

Flow diagram for updated agent tool dropdown layout and plugin store footer

flowchart TD
  AgentTool[AgentTool component]
  ActionDropdownNode[ActionDropdown with popupRender]
  DropdownFlex[Flexbox dropdown container]
  Header[Header with Segmented tabs]
  Scroller[Scrollable area with menu items]
  MenuItems["Tool menu items (builtin and plugins)"]
  Footer[Fixed Flexbox footer]
  StoreIcon[Store icon]
  StoreLabel[Plugin store label]
  ArrowRightIcon[ArrowRight icon]
  SkillStoreModal[createSkillStoreModal handler]

  AgentTool --> ActionDropdownNode
  ActionDropdownNode --> DropdownFlex
  DropdownFlex --> Header
  DropdownFlex --> Scroller
  Scroller --> MenuItems

  DropdownFlex --> Footer
  Footer --> StoreIcon
  Footer --> StoreLabel
  Footer --> ArrowRightIcon
  Footer --> SkillStoreModal
Loading

File-Level Changes

Change Details Files
Render the plugin store entry as a fixed footer instead of a scrollable menu item.
  • Remove the plugin store menu item and its divider from the ActionDropdown menu items list.
  • Add a footer Flexbox in popupRender that opens the skill store modal on click.
  • Display store icon, label text, and arrow icon horizontally in the new footer.
src/features/ProfileEditor/AgentTool.tsx
Update dropdown container and scrolling layout to support fixed footer behavior.
  • Wrap the popup content in a Flexbox with maxHeight to allow flex-based vertical layout.
  • Make the scroller section flex: 1 so the menu area scrolls while footer stays fixed.
  • Adjust scroller styling and ActionDropdown props by removing explicit maxHeight/minHeight in favor of flex layout.
  • Add a top border and padding to the footer to visually separate it from the scroll area.
  • Remove border, radius, background, and shadow styling from the outer dropdown static styles to rely on updated layout.
src/features/ProfileEditor/AgentTool.tsx
Tweak tool item icon spacing.
  • Set marginRight: 0 on the Avatar used for builtin tool icons to align with the new layout.
src/features/ProfileEditor/AgentTool.tsx

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@gru-agent
Copy link
Copy Markdown
Contributor

gru-agent bot commented Jan 23, 2026

TestGru Assignment

Summary

Link CommitId Status Reason
Detail d076219 🚫 Skipped No files need to be tested {"src/features/ProfileEditor/AgentTool.tsx":"File path does not match include patterns."}

History Assignment

Tip

You can @gru-agent and leave your feedback. TestGru will make adjustments based on your input

@dosubot dosubot bot added the πŸ’„ Design Design and style issues label Jan 23, 2026
Copy link
Copy Markdown
Contributor

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

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

Hey - I've left some high level feedback:

  • The new footer element is a clickable Flexbox without button semantics; consider using a real button or adding role="button" and keyboard handlers (Enter/Space) to preserve accessibility and keyboard navigation parity with the previous menu item.
  • You’re now mixing layout/styling concerns between createStaticStyles and inline styles on the dropdown and scroller; consolidating the maxHeight, flex, padding, and border styles into the CSS-in-JS styles would make the layout easier to maintain and tweak.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- The new footer element is a clickable Flexbox without button semantics; consider using a real button or adding `role="button"` and keyboard handlers (Enter/Space) to preserve accessibility and keyboard navigation parity with the previous menu item.
- You’re now mixing layout/styling concerns between `createStaticStyles` and inline styles on the dropdown and scroller; consolidating the `maxHeight`, `flex`, padding, and border styles into the CSS-in-JS styles would make the layout easier to maintain and tweak.

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click πŸ‘ or πŸ‘Ž on each comment and I'll use the feedback to improve your reviews.

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

πŸ’‘ Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: d076219232

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with πŸ‘.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +579 to +583
<Flexbox
align="center"
gap={8}
horizontal
onClick={() => createSkillStoreModal()}
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Keep the store entry keyboard-accessible

This store entry is now rendered as a plain Flexbox with an onClick, so it is no longer focusable or selectable via keyboard (no tabIndex/role/key handlers) the way the previous menu item was. That means keyboard and assistive‑tech users can’t open the plugin store from this dropdown. Consider using a real menu item or a button element (or add role="button", tabIndex={0}, and key handling) to preserve accessibility.

Useful? React with πŸ‘Β / πŸ‘Ž.

@codecov
Copy link
Copy Markdown

codecov bot commented Jan 23, 2026

Codecov Report

βœ… All modified and coverable lines are covered by tests.
βœ… Project coverage is 74.27%. Comparing base (0047ffe) to head (d076219).
⚠️ Report is 27 commits behind head on next.

❗ There is a different number of reports uploaded between BASE (0047ffe) and HEAD (d076219). Click for more details.

HEAD has 1 upload less than BASE
Flag BASE (0047ffe) HEAD (d076219)
packages/memory-user-memory 1 0
Additional details and impacted files
@@             Coverage Diff             @@
##             next   #11728       +/-   ##
===========================================
- Coverage   85.74%   74.27%   -11.47%     
===========================================
  Files         378     1160      +782     
  Lines       26334    92298    +65964     
  Branches     4516    10832     +6316     
===========================================
+ Hits        22579    68556    +45977     
- Misses       3665    23652    +19987     
  Partials       90       90               
Flag Coverage Ξ”
app 67.17% <ΓΈ> (?)
database 91.44% <ΓΈ> (?)
packages/agent-runtime 90.20% <ΓΈ> (ΓΈ)
packages/context-engine 85.36% <ΓΈ> (ΓΈ)
packages/conversation-flow 92.28% <ΓΈ> (ΓΈ)
packages/file-loaders 88.66% <ΓΈ> (ΓΈ)
packages/memory-user-memory ?
packages/model-bank 100.00% <ΓΈ> (ΓΈ)
packages/model-runtime 86.72% <ΓΈ> (ΓΈ)
packages/prompts 79.33% <ΓΈ> (ΓΈ)
packages/python-interpreter 92.90% <ΓΈ> (ΓΈ)
packages/ssrf-safe-fetch 0.00% <ΓΈ> (ΓΈ)
packages/utils 93.22% <ΓΈ> (ΓΈ)
packages/web-crawler 95.62% <ΓΈ> (ΓΈ)

Flags with carried forward coverage won't be shown. Click here to find out more.

Components Coverage Ξ”
Store 67.96% <ΓΈ> (βˆ…)
Services 50.58% <ΓΈ> (βˆ…)
Server 67.70% <ΓΈ> (βˆ…)
Libs 40.36% <ΓΈ> (βˆ…)
Utils 93.60% <ΓΈ> (+0.13%) ⬆️
πŸš€ New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • πŸ“¦ JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@Innei Innei merged commit c484d1a into next Jan 23, 2026
48 of 50 checks passed
@Innei Innei deleted the fix/agent-tool-plugin-store-outside-scroller branch January 23, 2026 08:24
@lobehubbot
Copy link
Copy Markdown
Member

❀️ Great PR @Innei ❀️

The growth of project is inseparable from user feedback and contribution, thanks for your contribution! If you are interesting with the lobehub developer community, please join our discord and then dm @arvinxx or @canisminor1990. They will invite you to our private developer channel. We are talking about the lobe-chat development or sharing ai newsletter around the world.

lobehubbot pushed a commit that referenced this pull request Jan 23, 2026
## [Version&nbsp;2.0.0-next.347](v2.0.0-next.346...v2.0.0-next.347)
<sup>Released on **2026-01-23**</sup>

#### πŸ› Bug Fixes

- **misc**: Add advace config back in agent/group profiles.

#### πŸ’„ Styles

- **misc**: Move plugin store button outside scroll container.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Add advace config back in agent/group profiles, closes [#11727](#11727) ([403175f](403175f))

#### Styles

* **misc**: Move plugin store button outside scroll container, closes [#11728](#11728) ([c484d1a](c484d1a))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
@lobehubbot
Copy link
Copy Markdown
Member

πŸŽ‰ This PR is included in version 2.0.0-next.347 πŸŽ‰

The release is available on:

Your semantic-release bot πŸ“¦πŸš€

JamieStivala pushed a commit to jaworldwideorg/OneJA-Bot that referenced this pull request Jan 23, 2026
### [Version&nbsp;1.153.1](v1.153.0...v1.153.1)
<sup>Released on **2026-01-23**</sup>

#### πŸ› Bug Fixes

- **misc**: Add advace config back in agent/group profiles, fixed the group topic copy not right.

#### πŸ’„ Styles

- **misc**: Move plugin store button outside scroll container.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Add advace config back in agent/group profiles, closes [lobehub#11727](https://github.com/jaworldwideorg/OneJA-Bot/issues/11727) ([403175f](403175f))
* **misc**: Fixed the group topic copy not right, closes [lobehub#11730](https://github.com/jaworldwideorg/OneJA-Bot/issues/11730) ([282c1fb](282c1fb))

#### Styles

* **misc**: Move plugin store button outside scroll container, closes [lobehub#11728](https://github.com/jaworldwideorg/OneJA-Bot/issues/11728) ([c484d1a](c484d1a))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

πŸ’„ Design Design and style issues released on @next size:M This PR changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants