Skip to content

Commit 30a617f

Browse files
committed
fix(#78): handle loading state, null URL edge case, and button styling
1 parent f7cd37e commit 30a617f

1 file changed

Lines changed: 6 additions & 1 deletion

File tree

  • codebenders-dashboard/app/students/[guid]

codebenders-dashboard/app/students/[guid]/page.tsx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,8 @@ export default function StudentDetailPage() {
126126
if (data?.url) {
127127
setSisLink(data.url)
128128
setSisStatus("available")
129+
} else if (data !== null) {
130+
setSisStatus("unavailable")
129131
}
130132
})
131133
.catch(() => setSisStatus("hidden"))
@@ -208,6 +210,9 @@ export default function StudentDetailPage() {
208210
</div>
209211
</div>
210212
<div className="flex items-center gap-2">
213+
{sisStatus === "loading" && (
214+
<div className="h-7 w-24 rounded bg-muted animate-pulse" />
215+
)}
211216
{sisStatus === "available" && sisLink && (
212217
<Button
213218
variant="outline"
@@ -223,7 +228,7 @@ export default function StudentDetailPage() {
223228
<Button
224229
variant="outline"
225230
size="sm"
226-
className="gap-1.5 opacity-50 cursor-not-allowed"
231+
className="gap-1.5"
227232
disabled
228233
title="No SIS record linked for this student"
229234
>

0 commit comments

Comments
 (0)