feat: use group search in global search#3999
feat: use group search in global search#3999andre-code merged 18 commits intofeature/update-search-pagefrom
Conversation
|
You can access the deployment of this PR at https://renku-ci-ui-3999.dev.renku.ch |
afaf537 to
45b3d42
Compare
45b3d42 to
2200307
Compare
e163faf to
2ad27bf
Compare
fada4c0 to
700f201
Compare
795cada to
84c7017
Compare
59810fd to
079320d
Compare
…aConnector to own file and rename search filter components
079320d to
f75ab31
Compare
leafty
left a comment
There was a problem hiding this comment.
The search bar is still mis-behaving after this PR (to be compared with https://dev.renku.ch/search).
- The search bar content is not synchronized with the browser history, making multiple searches and then going back will not reset the search terms in the search bar.
- The
type:androle:filters are de-synced from the real filters.
| // Reset the input to match the URL query, but only for external changes | ||
| // (e.g., sidebar filter click, browser back). After user submit, the | ||
| // search bar keeps the raw input including filter syntax. |
There was a problem hiding this comment.
This behavior causes problems: if I type type: Project and then click "Type: Data", then the search bar behaves badly. The typed query should be refreshed from query parsing, as it was behaving before.
There was a problem hiding this comment.
This hook was preventing empty pages from loading, e.g. if page=45 but the last page is page 37, it would clamp it and set page=37. Now, it is possible to load empty page which are broken: https://renku-ci-ui-3999.dev.renku.ch/search?type=User&page=89&q=&perPage=10
See how it works without issue here: https://dev.renku.ch/search?perPage=12&page=1000&q=type%3Auser
There was a problem hiding this comment.
Not sure why we do not use a redux slice for search now. This was making search state management much more easy to track.
|
Thanks @leafty for the review! The latest commit addresses the points raised: the search state is now properly synced with parsed filters and URL changes, filter desync issues were fixed, and the search logic now uses a Redux slice with Redux hooks instead of the previous context-based approach. Please let me know if you still see any inconsistencies. |
Replace context-based search with Redux hooks Update filters and results to new state structure Deprecate old utility functions Clean up components and remove unused imports
e43746b to
4c339ee
Compare
leafty
left a comment
There was a problem hiding this comment.
LGTM, very nice! 👏
One small comment, not blocking: if I type a search filter, it stays in the search bar but if I reload the page, it disappears from the search bar. The filter state is correct but it feels a bit weird.
|
Tearing down the temporary RenkuLab deplyoment for this PR. |
Move groupSearch to SearchV2 folder and rename components Adapt last search version in global search Replace context-based search with Redux hooks Update filters and results to new state structure Deprecate old utility functions Clean up components and remove unused imports
* feat: add search in user page (#3984) * feat: use group search in global search (#3999) Move groupSearch to SearchV2 folder and rename components Adapt last search version in global search Replace context-based search with Redux hooks Update filters and results to new state structure * fix(member-list): prevent overflow and add +n avatar indicator (#4023)
PR to refactor and enhance the Search page.
Changes
Adapted GroupSearch into the global Search flow.
Added User and Group visualization in Global Search, including counts of how many projects and data connectors are associated with a specific user or group.
Moved search logic from the Group folder to the Search folder and renamed components from
GroupSearch*toSearch*.Added a Date filter.
Fixed query/URL synchronization issues to ensure filters and results stay in sync.
/deploy renku=andrea/update-search-page renku-data-services=main