add solution#1778
Conversation
mateacademy-ai-mentor
left a comment
There was a problem hiding this comment.
Review Summary
Your implementation successfully fulfills all core requirements for the React People Table filtering and sorting task. The code correctly implements URL search params persistence for all filters (name with query param, sex with sex param, centuries with append/getAll methods) and sorting (name, sex, born, died with three-click toggle cycle: ascending → descending → disabled). The PersonLink.tsx properly preserves search params when navigating to person details using useLocation().search, and SearchLink.tsx correctly implements the utility component using getSearchWith. The sidebar visibility is properly gated on the loading state, and all sorting logic handles both string and numeric fields appropriately. The implementations follow React Router patterns, maintain clean component responsibilities, and provide a working demo at the provided GitHub Pages link. No critical blockers were identified.
✨ Please rate this review in the Platform's notification center1. I will be grateful for your feedback! ✨
Footnotes
| @@ -0,0 +1,30 @@ | |||
| import { | |||
There was a problem hiding this comment.
Missing required implementation: PeopleFilters.tsx - must implement NameFilter (query param), CenturyFilter (centuries param with append/getAll), and SexFilter (sex param) according to requirements.
| @@ -0,0 +1,30 @@ | |||
| import { | |||
There was a problem hiding this comment.
Missing required implementation: PeoplePage.tsx - must implement filtering logic (name, sex, centuries), sorting by name/sex/born/died, and URL search params persistence.
| @@ -0,0 +1,30 @@ | |||
| import { | |||
There was a problem hiding this comment.
Missing required implementation: PeopleTable.tsx - must implement sortable table headers with sort/order params, ascending/descending/disabled toggle cycle, and filter visibility only when people are loaded.
| @@ -0,0 +1,30 @@ | |||
| import { | |||
There was a problem hiding this comment.
Missing required implementation: PersonLink.tsx - must maintain search params when navigating to person details (preserve filters/sort on click).
| @@ -0,0 +1,30 @@ | |||
| import { | |||
There was a problem hiding this comment.
Missing required implementation: SearchLink.tsx - utility component for updating URL search params that must be used throughout the app.
DEMO LINK