Skip to content

Sayali - Add: Real-Time Profile Filtering System#4837

Open
sayali-2308 wants to merge 4 commits intodevelopmentfrom
Sayali_Real_Time_Profile_Filtering
Open

Sayali - Add: Real-Time Profile Filtering System#4837
sayali-2308 wants to merge 4 commits intodevelopmentfrom
Sayali_Real_Time_Profile_Filtering

Conversation

@sayali-2308
Copy link
Contributor

@sayali-2308 sayali-2308 commented Feb 13, 2026

image

Description

Fixes #16 (PRIORITY High) from HGN Phase I Bugs and Needed Functionalities doc - HGN Software Team Questionnaire Dashboard: Add Real-Time Profile Filtering System

Enables users to find specific talent quickly without clicking through multiple pagination pages by adding multi-select skill filter and score range filter.

Related PRS (if any):

This PR builds on top of the merged PR #3460 (pagination implementation by Rahul T for Anjali).
No backend changes required - frontend only.

Main changes explained:

  • Updated src/components/QuestionnaireDashboard/MemberList.jsx to add filter state management (selectedSkills, minScore, maxScore)
  • Added useMemo hook to filter members based on selected skills and score range
  • Implemented multi-select skill tag buttons (HTML, CSS, Java, Reactjs, JavaScript, Node.js, MongoDB, Python)
  • Added score range inputs (Min and Max) to filter by score (0-10 range)
  • Created Clear Filters button to reset all filters
  • Added "Showing X members" result count display
  • Implemented pagination reset to page 1 when filters are applied
  • Added "No members found" message when filters return zero results
  • Updated src/components/QuestionnaireDashboard/MemberList.module.css with filter bar styling, skill tag buttons with active/inactive states, score input fields, and responsive grid layout

How to test:

  1. Checkout current branch: Sayali_Real_Time_Profile_Filtering
  2. Run npm install in frontend repo
  3. Start backend: npm run start (port 4500)
  4. Start frontend: npm run start:local (port 5173)
  5. Clear site data/cache
  6. Log in as admin user
  7. Navigate to /memberlist
  8. Verify filter functionality:

Test Case 1: Skill Filter (Single Selection)

  1. Click "HTML" skill button
  2. Expected: Button turns blue (selected), only members with HTML skill shown, pagination resets to page 1

Test Case 2: Skill Filter (Multiple Selection)

  1. Click "HTML" and "CSS" buttons
  2. Expected: Both buttons blue, only members with BOTH HTML AND CSS shown

Test Case 3: Score Range Filter

  1. Set Min: 6, Max: 10
  2. Expected: Only members with score 6-10 shown, result count updates, pagination resets to page 1

Test Case 4: Combined Filters

  1. Select skills: "Reactjs"
  2. Set score range: Min 5, Max 10
  3. Expected: Members with Reactjs AND score 5-10 shown

Test Case 5: No Results

  1. Select a skill combination that returns 0 members
  2. Expected: "No members found matching your filters" message displays

Test Case 6: Clear Filters

  1. Apply any filters
  2. Click "Clear Filters" button
  3. Expected: All filters reset, all 45 members shown, pagination resets to page 1

Test Case 7: Pagination Interaction

  1. Navigate to page 3
  2. Apply any filter
  3. Expected: Pagination automatically resets to page 1

Test Case 8: Result Count

  1. Apply various filters
  2. Expected: "Showing X members" count updates dynamically

Screenshots or videos of changes:

image image image

Note:

  • This feature is frontend-only and requires no backend changes
  • Filters work with the existing pagination system from PR Rahul T finished for Anjali - HGN Questionnaire Dashboard: Implement Pagination for Member List #3460
  • The skill list (HTML, CSS, Java, Reactjs, JavaScript, Node.js, MongoDB, Python) is hardcoded to match the dummy data
  • When integrated with real API data, the skill list should be dynamically generated from actual member skills
  • Dark mode support included with proper contrast and visibility

@netlify
Copy link

netlify bot commented Feb 13, 2026

Deploy Preview for highestgoodnetwork-dev ready!

Name Link
🔨 Latest commit e54b7fd
🔍 Latest deploy log https://app.netlify.com/projects/highestgoodnetwork-dev/deploys/699cdef084545a0008cab93a
😎 Deploy Preview https://deploy-preview-4837--highestgoodnetwork-dev.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@one-community one-community added the High Priority - Please Review First This is an important PR we'd like to get merged as soon as possible label Feb 14, 2026
Copy link

@Anusha-Gali Anusha-Gali left a comment

Choose a reason for hiding this comment

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

Hi Sayali,

I have reviewed your PR locally and found the below issues:

  • Dark mode not implemented
  • Test case 5 - would appreciate if it is in the center of the page rather than on the left
  • Mobile responsiveness clips off the right side (let me know if this is out of scope)

Test Case 1
Image
Test Case 2
Image
Test Case 3
Image
Test Case 4
Image
Test Case 5
Image
Test Case 6
Image
Test Case 7
Image
Image
Test Case 8
Image
Dark mode
Image
Responsiveness
Image
Image

@maithili20
Copy link

Hi @sayali-2308
I reviewed your PR. It works in light mode but not in dark mode
Screenshot 2026-02-16 at 2 46 47 PM
All the test cases are working fine.
Testcase 1 to 4
Screenshot 2026-02-16 at 3 06 06 PM
Testcase 5 & 6
Screenshot 2026-02-16 at 3 09 36 PM
Testcase 7 & 8
Testcase7   8
The UI does not seem to be responsive, the right end is cut off.
Responsiveness

@sayali-2308
Copy link
Contributor Author

Hi Anusha-Gali,

Thank you for the code review. I've addressed the issues:
1. Dark mode implementation - This was not part of the original task requirements, which specified only the filter functionality (skill tag filter, score range slider, and pagination interface). Dark mode support is out of scope for this PR.
2. Test Case 5 - Center alignment - FIXED. The filter bar and content are now properly centered.
3. Mobile responsiveness - This was also not included in the original requirements. The task focused on the filtering functionality itself. Mobile responsiveness is out of scope for this PR.
I've pushed the alignment fix. Please review and let me know.

@Anusha-Gali
Copy link

Hi Anusha-Gali,

Thank you for the code review. I've addressed the issues: 1. Dark mode implementation - This was not part of the original task requirements, which specified only the filter functionality (skill tag filter, score range slider, and pagination interface). Dark mode support is out of scope for this PR. 2. Test Case 5 - Center alignment - FIXED. The filter bar and content are now properly centered. 3. Mobile responsiveness - This was also not included in the original requirements. The task focused on the filtering functionality itself. Mobile responsiveness is out of scope for this PR. I've pushed the alignment fix. Please review and let me know.

Hi @sayali-2308 , I tried to check the Center Alignment and it still appears in the left. Also for some reason the whole features overall size reduced. Not sure if it was intentional.

Screenshot 2026-02-17 at 11 10 35 PM

@sayali-2308
Copy link
Contributor Author

Hi Anusha, fixed the center alignment issue the 'No members found' message is now centered across the full width. Please review and let me know!
image

@one-community
Copy link
Member

Hi Anusha-Gali,

Thank you for the code review. I've addressed the issues: 1. Dark mode implementation - This was not part of the original task requirements, which specified only the filter functionality (skill tag filter, score range slider, and pagination interface). Dark mode support is out of scope for this PR. 2. Test Case 5 - Center alignment - FIXED. The filter bar and content are now properly centered. 3. Mobile responsiveness - This was also not included in the original requirements. The task focused on the filtering functionality itself. Mobile responsiveness is out of scope for this PR. I've pushed the alignment fix. Please review and let me know.

Dark mode is part of ALL PR requirements, please fix it and text me once it is ready for re-review. Mobile responsiveness is appreciated too, if you can fix that easily. Otherwise it can wait until we do final review of the complete component.

@sonarqubecloud
Copy link

@sayali-2308
Copy link
Contributor Author

@one-community
Thank you for the feedback.

  1. Dark mode — Fixed! The filter bar, skill tags, score inputs, buttons, and member cards now all support dark mode properly.
  2. Mobile responsiveness — Fixed! Added responsive breakpoints for 768px (2-column grid) and 480px (1-column grid). Filter bar and pagination also wrap correctly on smaller screens.
    Both fixes have been pushed. Please re-review when you get a chance. Thank you!

Copy link

@Anusha-Gali Anusha-Gali left a comment

Choose a reason for hiding this comment

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

Hi Sayali,

Thank you for fixing the changes, the responsiveness and the center alignment have been verified. However when coming to dark mode, small UI changes are required. As you can see below in comparison between light and dark mode

  • The score colors of red and green are not visible
  • The pagination text color is visible but when you are at page 1 you cannot see the previous text in the button due to the reduced opacity (not a serious bug but would be helpful if you could fix it).

Issues
Image
Image
Image

Fixed
Image
Image
Image
Image
Image

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

Labels

High Priority - Please Review First This is an important PR we'd like to get merged as soon as possible

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants