From e191c00b58d78b7e5235b9dbbe80b08f58712ee7 Mon Sep 17 00:00:00 2001 From: Utsavladia Date: Thu, 8 Aug 2024 14:35:29 +0530 Subject: [PATCH] Added skeleton loader for leaderboard --- .../src/components/LeaderboardSkeleton.tsx | 59 +++++++++++++++++++ frontend/src/pages/LeaderBoard.tsx | 3 +- 2 files changed, 61 insertions(+), 1 deletion(-) create mode 100644 frontend/src/components/LeaderboardSkeleton.tsx diff --git a/frontend/src/components/LeaderboardSkeleton.tsx b/frontend/src/components/LeaderboardSkeleton.tsx new file mode 100644 index 00000000..db666b7b --- /dev/null +++ b/frontend/src/components/LeaderboardSkeleton.tsx @@ -0,0 +1,59 @@ +import Skeleton from 'react-loading-skeleton'; +import 'react-loading-skeleton/dist/skeleton.css'; + +const LeaderboardSkeleton = () => { + const skeletonArray = Array(5).fill(0); // Adjust the number of skeleton rows as needed + + return ( +
+ + + + + + + + + + + + {skeletonArray.map((_, index) => ( + + + + + + + + ))} + +
+ + + + + + + + + +
+
+ +
+
+
+ +
+
+ + + + + +
+
+ ); +}; + +export default LeaderboardSkeleton; diff --git a/frontend/src/pages/LeaderBoard.tsx b/frontend/src/pages/LeaderBoard.tsx index e72b8d58..55c3d873 100644 --- a/frontend/src/pages/LeaderBoard.tsx +++ b/frontend/src/pages/LeaderBoard.tsx @@ -5,6 +5,7 @@ import { useRecoilValue } from 'recoil'; import { userState } from '../store/atoms/auth'; import useLeaderboard from '../hooks/useLeadearboard'; import bgHero from "../assets/bgHero.png"; +import LeaderboardSkeleton from '../components/LeaderboardSkeleton'; const LeaderBoard = () => { const { loading, leaderboard } = useLeaderboard(); @@ -24,7 +25,7 @@ const LeaderBoard = () => {
{loading ? (
- +
) : (