Add library TeamSnap loading state

This commit is contained in:
Codex
2026-04-23 12:37:33 -05:00
parent d6630e1879
commit ec2f440c13

View File

@@ -102,6 +102,12 @@ export function LibraryPage() {
} }
return counts; return counts;
}, [pinsQuery.data]); }, [pinsQuery.data]);
const isLoadingLibraryData =
walkup.sessionQuery.isLoading ||
walkup.teamsQuery.isLoading ||
walkup.membersQuery.isLoading ||
walkup.eventsQuery.isLoading ||
(walkup.isTeamSnap && Boolean(teamId && playerId) && (assetsQuery.isLoading || clipsQuery.isLoading || pinsQuery.isLoading));
const deleteClipMutation = useMutation({ const deleteClipMutation = useMutation({
mutationFn: (clipId: number) => api.deleteClip(clipId, playerId), mutationFn: (clipId: number) => api.deleteClip(clipId, playerId),
@@ -203,6 +209,21 @@ export function LibraryPage() {
setManageMediaOpen(false); setManageMediaOpen(false);
} }
if (isLoadingLibraryData) {
return (
<section className="page-grid">
<div className="panel gameday-loading-panel" role="status" aria-live="polite">
<div className="gameday-loading-spinner spinner-border text-primary" aria-hidden="true" />
<div className="gameday-loading-copy">
<span className="gameday-loading-label">Waiting for TeamSnap</span>
<strong>Loading walkup clips</strong>
<span className="muted">Teams, roster details, and clip data are being fetched.</span>
</div>
</div>
</section>
);
}
if (!walkup.isTeamSnap) { if (!walkup.isTeamSnap) {
return <section className="page-grid"><div className="panel">Reconnect with TeamSnap to manage walkup clips.</div></section>; return <section className="page-grid"><div className="panel">Reconnect with TeamSnap to manage walkup clips.</div></section>;
} }