Conversation
…s in multiple formats with copy functionality
…g publication details in a compact format
…filtering of publication lists
…ide filtering and virtualized display
…ublicationsByYear component
…mberDetailPage and remove unused PublicationItem component
…, statistics, and publication list
…hors, and related information
…onality and improved state synchronization
12 tasks
There was a problem hiding this comment.
Pull request overview
This PR implements a comprehensive publication management system for the Materials and Process Simulation Center website, featuring advanced filtering capabilities, virtual scrolling for performance, and automatic citation generation in multiple academic formats (APA, MLA, BibTeX).
Changes:
- Added publication list page with client-side filtering by year, journal, research area, and full-text search
- Implemented publication detail pages with automatic metadata generation and citation formatting
- Created reusable publication components with virtual scrolling optimization for large datasets
- Refactored existing components to use the new shared PublicationCard component
Reviewed changes
Copilot reviewed 15 out of 16 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
src/types/index.ts |
Added new type definitions for publication list items and detail views |
src/lib/metadata.ts |
Added metadata generation function for publication pages |
src/lib/db/queries/publications.ts |
Created centralized database queries for publications with filtering support |
src/lib/citation.ts |
Implemented citation formatting utilities for APA, MLA, and BibTeX formats |
src/components/ui/dropdown-menu.tsx |
Added shadcn dropdown menu component for filter UI |
src/components/publication/publication-list.tsx |
Implemented virtualized publication list with client-side filtering |
src/components/publication/publication-filters.tsx |
Created advanced filter controls with debounced search |
src/components/publication/publication-card.tsx |
Built reusable publication card component with search highlighting |
src/components/publication/citation-box.tsx |
Implemented citation display with copy-to-clipboard functionality |
src/components/publication/index.ts |
Added barrel export for publication components |
src/app/(public)/publications/page.tsx |
Created main publications list page |
src/app/(public)/publications/[doi]/page.tsx |
Implemented publication detail pages with SEO optimization |
src/app/(public)/research/[slug]/publications-by-year.tsx |
Refactored to use shared PublicationCard component |
src/app/(public)/members/[id]/page.tsx |
Refactored to use shared PublicationCard component |
package.json |
Added dependencies for dropdown menus and virtual scrolling |
package-lock.json |
Updated lockfile with new dependencies |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
db46a09 to
17f84d1
Compare
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:
Implemented a comprehensive publication management system, featuring a powerful filtered list view and detailed pages for individual publications. This feature set includes advanced client-side filtering, virtualized list rendering for performance with large datasets, and automated citation generation.
Changes:
Implemented Publication List Page (
src/app/(public)/publications/page.tsx):PublicationFilterscomponent supporting filtering by Year, Journal, Research Area, and text search (Title/Authors/Abstract) with debounce.@tanstack/react-virtualinPublicationListto efficiently render large lists of publications, switching automatically based on dataset size.Implemented Publication Detail Page (
src/app/(public)/publications/[doi]/page.tsx):CitationBoxcomponent that auto-generates citations in APA, MLA, and BibTeX formats with one-click copy.ScholarlyArticle) for enhanced search visibility.Developed Database Queries (
src/lib/db/queries/publications.ts):getPublicationswith dynamic Prismawhereclause generation for filtering.Enhanced UI Components:
src/components/ui/dropdown-menu.tsx(Radix UI wrapper) for filter interfaces.PublicationCardto support text highlighting for search terms.src/lib/citation.tsto handle citation formatting logic.Dependencies:
@tanstack/react-virtual,@radix-ui/react-dropdown-menu,@floating-ui/react-dom(and related deps) for virtualization and UI interactions.