feat: Add Menu search/filter for faster navigation#3743
feat: Add Menu search/filter for faster navigation#3743a-khushal wants to merge 2 commits 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.
views/Menu.tsx
Outdated
|
|
||
| const showSeed = | ||
| hasEmbeddedSeed && | ||
| isSearchMatch(seedLabel, 'seed', 'backup', 'recovery'); |
There was a problem hiding this comment.
The additional search keywords (e.g., 'seed', 'backup', 'recovery') are hardcoded in English. This is great for English-speaking users but won't work for users searching in other supported languages. While the main labels are localized, these extra keywords provide a better search experience that is currently limited to English. Consider localizing these keywords as well 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 |
30ebdc5 to
0b6af0a
Compare
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?
a796751 to
86e54aa
Compare
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: