From 19a4f6fc6fe32a48455a9b3f60caa05cc20c7846 Mon Sep 17 00:00:00 2001 From: Shalini Date: Tue, 24 Feb 2026 01:21:33 +0530 Subject: [PATCH] feat: add loading skeleton UI for blog page --- src/app/[locale]/blog/loading.tsx | 45 +++++++++++++++++++++++++ src/app/[locale]/events/loading.tsx | 51 +++++++++++++++++++++++++++++ 2 files changed, 96 insertions(+) create mode 100644 src/app/[locale]/blog/loading.tsx create mode 100644 src/app/[locale]/events/loading.tsx diff --git a/src/app/[locale]/blog/loading.tsx b/src/app/[locale]/blog/loading.tsx new file mode 100644 index 0000000..a2cabf9 --- /dev/null +++ b/src/app/[locale]/blog/loading.tsx @@ -0,0 +1,45 @@ +function BlogCardSkeleton() { + return ( +
+ {/* Image */} +
+ + {/* Title */} +
+
+
+
+ + {/* Meta */} +
+ + {/* Description */} +
+
+
+
+ + {/* Read More Button */} +
+
+ ); +} + +export default function BlogLoading() { + return ( +
+ {/* Page Header */} +
+
+
+
+ + {/* Blog Grid */} +
+ {Array.from({ length: 6 }).map((_, index) => ( + + ))} +
+
+ ); +} diff --git a/src/app/[locale]/events/loading.tsx b/src/app/[locale]/events/loading.tsx new file mode 100644 index 0000000..d306c89 --- /dev/null +++ b/src/app/[locale]/events/loading.tsx @@ -0,0 +1,51 @@ +function CardSkeleton({ className = "" }: { className?: string }) { + return ( +
+ {/* Image Placeholder */} +
+ + {/* Title */} +
+
+
+
+ + {/* Description */} +
+
+
+
+
+ + {/* Button */} +
+
+ ); +} + +export default function EventsLoading() { + return ( +
+ {/* Page Header */} +
+
+
+
+ + {/* Featured Section */} +
+
+ +
+ +
+ + {/* Events Grid */} +
+ {Array.from({ length: 6 }).map((_, index) => ( + + ))} +
+
+ ); +}