diff --git a/apps/web/src/app/(home)/_ui/PopularUniversitySection/_ui/PopularUniversityCard.tsx b/apps/web/src/app/(home)/_ui/PopularUniversitySection/_ui/PopularUniversityCard.tsx index 7151a8ce..59ef4688 100644 --- a/apps/web/src/app/(home)/_ui/PopularUniversitySection/_ui/PopularUniversityCard.tsx +++ b/apps/web/src/app/(home)/_ui/PopularUniversitySection/_ui/PopularUniversityCard.tsx @@ -1,5 +1,6 @@ import Link from "next/link"; import Image from "@/components/ui/FallbackImage"; +import { getHomeUniversitySlugByName } from "@/constants/university"; import type { ListUniversity } from "@/types/university"; import { convertImageUrl } from "@/utils/fileUtils"; @@ -18,8 +19,13 @@ const PopularUniversityCard = ({ fetchPriority = "low", quality = 60, // 기본값을 60으로 낮춤 }: PopularUniversityCardProps) => { + const homeUniversitySlug = getHomeUniversitySlugByName(university.homeUniversityName); + const universityDetailHref = homeUniversitySlug + ? `/university/${homeUniversitySlug}/${university.id}` + : "/university"; + return ( - +
+
diff --git a/apps/web/src/constants/university.ts b/apps/web/src/constants/university.ts index d9a63c43..d5248acd 100644 --- a/apps/web/src/constants/university.ts +++ b/apps/web/src/constants/university.ts @@ -98,6 +98,16 @@ export const isMatchedHomeUniversityName = ( return normalizedLeft !== undefined && normalizedRight !== undefined && normalizedLeft === normalizedRight; }; +export const getHomeUniversitySlugByName = (value: string | null | undefined): HomeUniversitySlug | undefined => { + const normalizedUniversityName = normalizeHomeUniversityName(value); + + if (!normalizedUniversityName) { + return undefined; + } + + return HOME_UNIVERSITY_TO_SLUG_MAP[normalizedUniversityName]; +}; + /** * 유효한 홈 대학교 슬러그 목록 */