@@ -40,63 +40,72 @@ Astro.response.headers.set(
4040 </div >
4141 <div class =" space-y-12" >
4242 {
43- releases .map ((release ) => (
44- <div
45- class = { ` card bg-base-200 shadow-xl transition-all hover:shadow-2xl ${
46- release .score > 60 ? " border-l-8 border-error" : " "
47- } ` }
48- >
49- <div class = " card-body" >
50- <h2 class = " card-title text-2xl" >
51- <a
52- href = { release .releaseLink }
53- target = " _blank"
54- rel = " noopener noreferrer"
55- class = " hover:underline cursor-pointer"
56- >
57- { release .version }
58- </a >
59- </h2 >
60- <div class = " flex justify-between items-center" >
61- <div
62- class = " badge badge-lg"
63- style = { ` background-color: hsl(${120 - release .score * 1.2 }, 100%, 50%); color: ${release .score > 50 ? " white" : " black" }; ` }
64- >
65- Impact Score: { release .score }
43+ releases .length === 0 ? (
44+ <div class = " card bg-base-200 shadow-xl" >
45+ <div class = " card-body text-center" >
46+ <h2 class = " card-title text-2xl justify-center" >No releases yet</h2 >
47+ <p class = " text-base-content" >Check back soon for Next.js release analysis!</p >
48+ </div >
49+ </div >
50+ ) : (
51+ releases .map ((release ) => (
52+ <div
53+ class = { ` card bg-base-200 shadow-xl transition-all hover:shadow-2xl ${
54+ release .score > 60 ? " border-l-8 border-error" : " "
55+ } ` }
56+ >
57+ <div class = " card-body" >
58+ <h2 class = " card-title text-2xl" >
59+ <a
60+ href = { release .releaseLink }
61+ target = " _blank"
62+ rel = " noopener noreferrer"
63+ class = " hover:underline cursor-pointer"
64+ >
65+ { release .version }
66+ </a >
67+ </h2 >
68+ <div class = " flex justify-between items-center" >
69+ <div
70+ class = " badge badge-lg"
71+ style = { ` background-color: hsl(${120 - release .score * 1.2 }, 100%, 50%); color: ${release .score > 50 ? " white" : " black" }; ` }
72+ >
73+ Impact Score: { release .score }
74+ </div >
75+ <div class = " text-sm opacity-70" >
76+ { formatDistanceToNow (new Date (release .analyzed_at ))} ago
77+ </div >
6678 </div >
67- <div class = " text-sm opacity-70" >
68- { formatDistanceToNow (new Date (release .analyzed_at ))} ago
79+ <p class = " mt-4 text-base-content" >{ release .summary } </p >
80+ <div class = " mt-6" >
81+ <h3 class = " font-semibold text-lg mb-2" >
82+ Relevance to Netlify:
83+ </h3 >
84+ <p class = " text-base-content" >{ release .relevance } </p >
6985 </div >
86+ { release .relevantPRs .length > 0 && (
87+ <div class = " mt-4" >
88+ <h3 class = " font-semibold text-lg mb-2" >Relevant PRs:</h3 >
89+ <ul class = " list-disc list-inside" >
90+ { release .relevantPRs .map ((pr ) => (
91+ <li >
92+ <a
93+ href = { pr }
94+ target = " _blank"
95+ rel = " noopener noreferrer"
96+ class = " hover:underline"
97+ >
98+ #{ pr .split (" /" ).pop ()}
99+ </a >
100+ </li >
101+ ))}
102+ </ul >
103+ </div >
104+ )}
70105 </div >
71- <p class = " mt-4 text-base-content" >{ release .summary } </p >
72- <div class = " mt-6" >
73- <h3 class = " font-semibold text-lg mb-2" >
74- Relevance to Netlify:
75- </h3 >
76- <p class = " text-base-content" >{ release .relevance } </p >
77- </div >
78- { release .relevantPRs .length > 0 && (
79- <div class = " mt-4" >
80- <h3 class = " font-semibold text-lg mb-2" >Relevant PRs:</h3 >
81- <ul class = " list-disc list-inside" >
82- { release .relevantPRs .map ((pr ) => (
83- <li >
84- <a
85- href = { pr }
86- target = " _blank"
87- rel = " noopener noreferrer"
88- class = " hover:underline"
89- >
90- #{ pr .split (" /" ).pop ()}
91- </a >
92- </li >
93- ))}
94- </ul >
95- </div >
96- )}
97106 </div >
98- </ div >
99- ))
107+ ))
108+ )
100109 }
101110 </div >
102111 </main >
0 commit comments