From 5b490df7b9956f74c22571006c72e09dbcaff85e Mon Sep 17 00:00:00 2001 From: Zaid Ahmad <109442753+zaidahmad16@users.noreply.github.com> Date: Wed, 27 May 2026 15:15:23 -0400 Subject: [PATCH] fix: only show reviews matching the current course --- frontend/app/map/components/CoursePanel.jsx | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/frontend/app/map/components/CoursePanel.jsx b/frontend/app/map/components/CoursePanel.jsx index 998fdbc..eb6fef9 100644 --- a/frontend/app/map/components/CoursePanel.jsx +++ b/frontend/app/map/components/CoursePanel.jsx @@ -255,7 +255,7 @@ export const CoursePanel = ({ node, onClose, isMobile }) => { {group.term} {group.instructors.map(({ name: profName, rmp }) => ( - + ))} ))} @@ -267,9 +267,15 @@ export const CoursePanel = ({ node, onClose, isMobile }) => { ) } -const ProfCard = ({ name, rmp }) => { +const ProfCard = ({ name, rmp, courseCode }) => { const [showReviews, setShowReviews] = useState(false) - const reviews = rmp?.ratings ?? [] + const allReviews = rmp?.ratings ?? [] + const normalise = s => s?.toLowerCase().replace(/\s+/g, '') ?? '' + const courseKey = normalise(courseCode) + const courseReviews = courseKey + ? allReviews.filter(r => normalise(r.course).includes(courseKey) || courseKey.includes(normalise(r.course).slice(0, 6))) + : [] + const reviews = courseReviews.slice(0, 5) return (
{ fontFamily: 'var(--font-body)', }} > - {showReviews ? 'Hide reviews' : `Show ${reviews.length} recent review${reviews.length !== 1 ? 's' : ''}`} + {showReviews ? 'Hide reviews' : `Show ${reviews.length} review${reviews.length !== 1 ? 's' : ''}`} {showReviews && (