-
-
Notifications
You must be signed in to change notification settings - Fork 860
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix Search Functionality for Full Name and Partial Matches in People Section (#3388) #3520
base: develop-postgres
Are you sure you want to change the base?
Fix Search Functionality for Full Name and Partial Matches in People Section (#3388) #3520
Conversation
WalkthroughThis pull request enhances localization and search functionalities. Several translation files have been updated with a new key, Changes
Sequence Diagram(s)sequenceDiagram
participant U as User
participant P as People Component
participant S as GraphQL Server
U->>P: Enters search input (full name)
P->>P: Splits input into firstName & lastName
P->>S: Sends query with { firstName_contains, lastName_contains }
S-->>P: Returns matching members
P->>U: Displays results or shows "nothingToShow" if no match found
Assessment against linked issues
Suggested reviewers
Poem
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
Documentation and Community
|
Our Pull Request Approval ProcessThanks for contributing! Testing Your CodeRemember, your PRs won't be reviewed until these criteria are met:
Our policies make our code better. ReviewersDo not assign reviewers. Our Queue Monitors will review your PR and assign them.
Reviewing Your CodeYour reviewer(s) will have the following roles:
CONTRIBUTING.mdRead our CONTRIBUTING.md file. Most importantly:
Other
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (1)
src/screens/UserPortal/People/People.tsx (1)
Line range hint
1-24
: Consider enhancing error handling for network failures.While the component handles loading and empty states well, consider adding explicit error handling for network failures to improve user experience.
const { data, loading, refetch } = useQuery( ORGANIZATIONS_MEMBER_CONNECTION_LIST, { variables: { orgId: organizationId, firstName_contains: '', lastName_contains: '', }, + onError: (error) => { + // Handle network/query errors + console.error('Search failed:', error); + // Show error message to user + } }, );
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (7)
public/locales/en/translation.json
(1 hunks)public/locales/fr/translation.json
(1 hunks)public/locales/hi/translation.json
(1 hunks)public/locales/sp/translation.json
(1 hunks)public/locales/zh/translation.json
(1 hunks)src/screens/UserPortal/People/People.spec.tsx
(11 hunks)src/screens/UserPortal/People/People.tsx
(2 hunks)
⏰ Context from checks skipped due to timeout of 90000ms (1)
- GitHub Check: Test Application
🔇 Additional comments (8)
src/screens/UserPortal/People/People.tsx (2)
91-91
: LGTM! Added lastName parameter for full name search support.The addition of
lastName_contains
parameter enables filtering by last name in the GraphQL query.
116-121
: Well-implemented full name search logic!The search implementation:
- Properly handles whitespace trimming
- Correctly splits full name into first and last components
- Gracefully handles partial inputs using default empty strings
src/screens/UserPortal/People/People.spec.tsx (1)
724-762
: Excellent test coverage for the new search functionality!The test suite thoroughly covers:
- Full name search scenarios
- Edge cases with empty inputs
- Mock data setup with lastName parameter
public/locales/zh/translation.json (1)
983-984
: LGTM! Clear and natural Chinese translation added.The translation for "nothingToShow" is grammatically correct and maintains consistency with other language versions.
public/locales/en/translation.json (1)
1009-1010
: LGTM! Clear and concise English message added.The "Nothing to show here" message is user-friendly and serves as a good base for translations.
public/locales/hi/translation.json (1)
969-970
: New "nothingToShow" Key AdditionThe new key
"nothingToShow": "यहां दिखाने के लिए कुछ नहीं है।"
has been added to the "people" section to provide a clear empty state message. The text is concise and appears consistent with similar updates in the other localization files.public/locales/fr/translation.json (1)
969-970
: New "nothingToShow" Key AdditionThe added key
"nothingToShow": "Rien à afficher ici."
in the "people" section correctly reflects the intended message for an empty state in French. It aligns well with similar messages in other locales.public/locales/sp/translation.json (1)
984-985
: Localized Message Added Correctly.
The new key"nothingToShow"
with the value"Nada que mostrar aquí."
is correctly inserted in the"people"
section. It is consistent with similar localization changes in other languages and meets the objective of providing a clearer empty state message for the People section.
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## develop-postgres #3520 +/- ##
=====================================================
+ Coverage 1.90% 88.64% +86.73%
=====================================================
Files 316 341 +25
Lines 8249 8627 +378
Branches 1880 1926 +46
=====================================================
+ Hits 157 7647 +7490
+ Misses 8083 635 -7448
- Partials 9 345 +336 ☔ View full report in Codecov by Sentry. |
What kind of change does this PR introduce?
Bugfix
Issue Number:
Fixes #3388
Snapshots/Videos:
20250202034155.mp4
If relevant, did you update the documentation?
No
Summary
This PR addresses the issue where the search functionality in the "People" section fails to return results when searching with a full name, partial matches beyond the first name, or queries with extra spaces. The current behavior shows "people.nothingToShow," which is not helpful or accurate. This fix improves the search functionality to support full names, partial matches, and handles spaces correctly, ensuring that users can find a person even with incomplete or extended queries.
Does this PR introduce a breaking change?
No
Checklist
CodeRabbit AI Review
Test Coverage
Other information
Have you read the contributing guide?
Yes
Summary by CodeRabbit