Implement content search within transcriptions#474
Merged
Conversation
7f7597f to
6a80b16
Compare
bmquinn
approved these changes
May 5, 2026
6a80b16 to
daf6444
Compare
mathewjordan
approved these changes
May 5, 2026
Member
mathewjordan
left a comment
There was a problem hiding this comment.
Looks great and love how much it adds.
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
When a keyword search is performed, the app now concurrently queries a fileset search endpoint for phrase matches within transcription annotations. If content matches are found, a view toggle appears in the results header letting users switch between standard item results and a "within content" view.
The content view displays matches grouped by work - each group shows the work thumbnail alongside a list of matching file sets, each with a thumbnail, a link to the specific canvas, and a snippet of the matching transcription text with the search term highlighted. Pagination is handled independently from the main results. Filters are suppressed in the content view with an explanatory note; the visibility facet is applied to the fileset query itself.
New files
lib/queries/fileset-search.ts- builds the fileset search request bodylib/utils/fileset-helpers.ts- groups fileset results by workcomponents/Search/TranscriptionResults.tsx- renders grouped content matchescomponents/Search/TranscriptionResults.styled.ts- styles for the abovecomponents/Search/TranscriptionPagination.tsx- pagination for content results