feat(members): Implement Members List and Detailed Profile Pages#10
Merged
feat(members): Implement Members List and Detailed Profile Pages#10
Conversation
…publication activity
…ds with category filtering
…s and member grid
…and return only visible categories
…ns, and contact links
8 tasks
There was a problem hiding this comment.
Pull request overview
This PR implements a comprehensive member management system with a filterable list view and detailed profile pages. The implementation includes database queries, UI components, metadata generation, and configuration updates to support displaying member information with publications, research areas, and statistics.
Changes:
- Added member list and detail pages with filtering by category (Faculty, Postdoc, Student)
- Implemented database queries for members with relations to publications and research areas
- Created reusable UI components for member cards, grids, and publication timelines
- Added metadata utilities for consistent SEO across member pages
- Configured image domains and enabled TurboPack for development
Reviewed changes
Copilot reviewed 13 out of 14 changed files in this pull request and generated 10 comments.
Show a summary per file
| File | Description |
|---|---|
| src/lib/metadata.ts | Utility functions for generating consistent page and member metadata for SEO |
| src/lib/db/queries/members.ts | Optimized Prisma queries for fetching members with relations and computing statistics |
| src/components/ui/tabs.tsx | Radix UI tabs wrapper component for future tabbed interfaces |
| src/components/member/publication-timeline.tsx | Interactive bar chart visualizing publication activity over years |
| src/components/member/member-grid.tsx | Responsive grid layout for displaying member cards |
| src/components/member/member-card.tsx | Card component with hover effects, tenure display, and active status |
| src/components/member/index.ts | Barrel export file for member components |
| src/app/layout.tsx | Added metadataBase configuration for proper URL resolution |
| src/app/(public)/members/page.tsx | Server component for members list page with category filtering |
| src/app/(public)/members/client.tsx | Client component implementing category filter UI and grouped display |
| src/app/(public)/members/[id]/page.tsx | Detailed member profile with stats, timeline, bio, and publications |
| package.json | Added @radix-ui/react-tabs dependency and enabled TurboPack |
| package-lock.json | Lock file updates for new dependencies |
| next.config.mjs | Configured remote image patterns for external image sources |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…als and tenure formatting
…tting, and citation display
…currentMemberId prop
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 system for displaying member information, including a filtered list view and rich individual profile pages. This feature allows users to browse members by category (Faculty, Postdoc, Student) and view detailed statistics, publication timelines, and biographical information for each member.
Changes:
Implemented Member List Page (
src/app/(public)/members/page.tsx):client.tsx) allowing users to toggle between viewing all members or specific categories (Faculty, Postdoc, etc.).MemberCardcomponent with hover effects, tenure display, and active status indicators.Implemented Member Detail Page (
src/app/(public)/members/[id]/page.tsx):createMemberMetadata).Developed Database Queries (
src/lib/db/queries/members.ts):Added UI Components:
@radix-ui/react-tabsfor future tabbed interfaces.MemberGrid,PublicationTimeline, andTabswrappers.Configured Metadata & Image Handling:
src/lib/metadata.tsto standardize SEO metadata generation across the site.next.config.mjsto allow images fromui-avatars.com,unsplash.com, andgithubusercontent.com.Updated Project Configuration:
next dev --turbo) for faster local development.