Feature: Pagination, Search, Filtering and Sorting (Notes and Quizzes)#6
Merged
Feature: Pagination, Search, Filtering and Sorting (Notes and Quizzes)#6
Conversation
…o feature/pagination
…able quiz list component
pvdev1805
approved these changes
Feb 3, 2026
Owner
pvdev1805
left a comment
There was a problem hiding this comment.
Tested the new features, everything is working as expected.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds pagination, search, filtering, and sorting to the notes and quizzes modules. It also introduces several reusable components and utilities to reduce duplication and improve maintainability across the frontend codebase.
Detail Changes
Functionality Updates
titlefield by default.titleandcontentusing anORcondition.Code Changes
Utilities
useQueryhook that encapsulates logic for managing search, filtering, sorting, and pagination query parameters.PageDatatype to store pagination metadata returned from the backend.QuizPage,NotePage) instead of raw arrays (Quiz[],Note[]).New components
Popoverfrom shadcn.ErrorBlockfor consistent error display.GenericPopoverfor action-bar interactions (filtering and sorting). Used across notes, quizzes, quiz sets, and attempts.FilterPopover: accepts dynamic filter definitions, including property names, labels, and input types.SortingPopover: accepts dynamic sorting options, allowing users to choose sortBy and sortOrder.SearchLayout, a reusable layout that bundles search, filter, and sort controls. Interactions update query parameters, which trigger the parent component’suseEffectto fetch updated results.NoteList,QuizListandQuizSetList), which improves readability and reusability.Updated Components
AddToCollectionModal,DeleteConfirmationModal) to render at the center of the viewport using React’screatePortal()instead of centering relative to their parent container.Other Minor Changes