feat: Add Menu search/filter for faster navigation#3743
feat: Add Menu search/filter for faster navigation#3743a-khushal wants to merge 1 commit intoZeusLN:masterfrom
Conversation
Summary of ChangesHello @a-khushal, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request enhances the user experience by integrating a search and filter mechanism directly into the main menu. This allows users to quickly locate specific settings or features by typing keywords, making the application more efficient and user-friendly, especially for those with extensive menu options. Highlights
Changelog
Activity
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request introduces a search functionality to the Menu.tsx component. The changes include adding a TextInput for user input, managing the search query in the component's state, and implementing a isSearchMatch utility to dynamically filter menu items based on the query. Menu items are now conditionally rendered using this search logic, which incorporates both localized labels and additional hardcoded English keywords for matching. The review comment highlights that these hardcoded English search keywords, while improving searchability, are not localized and suggests localizing them to provide a consistent experience for all users.
7fab0e6 to
e3a5a3c
Compare
|
this is not very comprehensive and has a lot of shortcomings. we'd have to redo the entire settings system here to get the results we want, but it could be an opportunity to unify the style across the views |
50d7bab to
1db5680
Compare
613520a to
3b47fb4
Compare
few questions:
|
3b47fb4 to
e771cf9
Compare
yes and yes |
e771cf9 to
624fb09
Compare
WhatsApp.Video.2026-03-02.at.11.56.43.PM.mp4 |
0b6af0a to
ad26545
Compare
There was a problem hiding this comment.
approach still seems wrong here. We still have to maintain each view and a search registry now?
There was a problem hiding this comment.
im trying to refactor all three views (Menu.tsx, Tools/index.tsx, and Settings/Settings.tsx) into a single dynamically rendered AppMenu.tsx, how does that sound?
c819232 to
df71691
Compare
df71691 to
fdf7974
Compare
|
@gemini-code-assist /review |
5b4f111 to
0bde719
Compare
|
@gemini-code-assist /review |
0bde719 to
18c5030
Compare
There was a problem hiding this comment.
Code Review
This pull request introduces a significant and well-executed refactoring of the app's menu, settings, and tools screens. By consolidating them into a single, data-driven AppMenu component with search functionality, the navigation becomes more user-friendly and the codebase more maintainable. The new architecture, centered around searchRegistry.ts, is clean, scalable, and makes future modifications to menu items much simpler. The changes are well-contained and the removal of old components is done correctly. Overall, this is an excellent feature enhancement and architectural improvement.
Note: Security Review did not run due to the size of the PR.
1fd8013 to
80d584a
Compare
|
@gemini-code-assist /review |
There was a problem hiding this comment.
Code Review
This pull request introduces a significant and well-executed refactoring by consolidating the Menu, Settings, and Tools screens into a new, dynamic AppMenu component. This change is powered by a declarative search registry, which is a fantastic improvement for maintainability and extensibility. The addition of a search/filter feature will greatly enhance user navigation. The overall code quality is high, and my feedback includes a few suggestions for the new AppMenu.tsx component to further improve type safety and code structure.
80d584a to
d2b1297
Compare
There was a problem hiding this comment.
Code Review
This pull request introduces a significant and well-executed refactoring of the menu, settings, and tools screens. By consolidating them into a single, data-driven AppMenu component, you've greatly improved maintainability and extensibility. The new search functionality is a fantastic addition for user experience, allowing for much faster navigation. The code is well-structured, using a central registry for menu items which is a great pattern. I have a few minor suggestions to further improve type safety and performance.
d2b1297 to
71f4ed9
Compare
71f4ed9 to
2205d9a
Compare
|
@kaloudis you can give this a test now |
Description
Relates to issue: ZEUS-3731
This pull request is categorized as a:
Checklist
yarn run tscand made sure my code compiles correctlyyarn run lintand made sure my code didn’t contain any problematic patternsyarn run prettierand made sure my code is formatted correctlyyarn run testand made sure all of the tests passTesting
If you modified or added a utility file, did you add new unit tests?
I have tested this PR on the following platforms (please specify OS version and phone model/VM):
I have tested this PR with the following types of nodes (please specify node version and API version where appropriate):
Locales
Third Party Dependencies and Packages
yarnafter this PR is merged inpackage.jsonandyarn.lockhave been properly updatedOther: