Skip to content

Commit 0ea90ef

Browse files
authored
Merge pull request #231 from manNomi/fix/pupular-university-section
refactor :PopularUniversitySection 의미없는 최적화 삭제했습니다
2 parents e0d7109 + 950ea61 commit 0ea90ef

File tree

1 file changed

+5
-42
lines changed
  • src/app/(home)/_ui/PopularUniversitySection

1 file changed

+5
-42
lines changed

src/app/(home)/_ui/PopularUniversitySection/index.tsx

Lines changed: 5 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,62 +1,25 @@
1-
import dynamic from "next/dynamic";
2-
import { Suspense } from "react";
3-
41
import PopularUniversityCard from "./_ui/PopularUniversityCard";
52

63
import { ListUniversity } from "@/types/university";
74

8-
// PopularUniversityCard를 동적 임포트
9-
const PopularUniversityCardDynamic = dynamic(() => import("./_ui/PopularUniversityCard"), {
10-
ssr: false,
11-
loading: () => (
12-
<div className="relative w-[153px]">
13-
<div className="h-[120px] w-[153px] animate-pulse rounded-lg bg-gray-200" />
14-
</div>
15-
),
16-
});
17-
185
type PopularUniversitySectionProps = {
196
universities: ListUniversity[];
207
};
218

229
const PopularUniversitySection = ({ universities }: PopularUniversitySectionProps) => {
23-
const aboveFold = universities.slice(0, 3);
24-
const belowFold = universities.slice(3);
25-
2610
return (
2711
<div className="overflow-x-auto">
2812
<div className="flex gap-2">
29-
{/* 첫 3장은 즉시 전송 – LCP 후보 */}
30-
{aboveFold.map((university, index) => (
13+
{universities.map((university, index) => (
3114
<PopularUniversityCard
32-
priority={index === 0} // 첫 번째만 priority
33-
loading="eager" // 즉시 로딩
34-
fetchPriority="high" // 높은 우선순위
35-
quality={index === 0 ? 60 : 55} // LCP는 60, 나머지는 55로 최적화
3615
key={university.id}
3716
university={university}
17+
priority={index === 0} // 첫 번째만 priority로 LCP 최적화
18+
loading={index < 3 ? "eager" : "lazy"} // 첫 3개는 즉시, 나머지는 지연 로딩
19+
fetchPriority={index === 0 ? "high" : "low"} // 첫 번째만 높은 우선순위
20+
quality={index === 0 ? 60 : 50} // 첫 번째는 고품질, 나머지는 압축
3821
/>
3922
))}
40-
41-
{/* 나머지는 동적 렌더링으로 위임 */}
42-
{belowFold.map((university) => (
43-
<Suspense
44-
key={university.id}
45-
fallback={
46-
<div className="relative w-[153px]">
47-
<div className="h-[120px] w-[153px] animate-pulse rounded-lg bg-gray-200" />
48-
</div>
49-
}
50-
>
51-
<PopularUniversityCardDynamic
52-
university={university}
53-
priority={false}
54-
loading="lazy"
55-
fetchPriority="low"
56-
quality={50} // 동적 로딩 이미지는 50으로 최대 압축
57-
/>
58-
</Suspense>
59-
))}
6023
</div>
6124
</div>
6225
);

0 commit comments

Comments
 (0)