diff --git a/cshare-app/src/components/SkeletonLoader.jsx b/cshare-app/src/components/SkeletonLoader.jsx
new file mode 100644
index 0000000..9565e10
--- /dev/null
+++ b/cshare-app/src/components/SkeletonLoader.jsx
@@ -0,0 +1,115 @@
+export function Skeleton({ width, height, radius = 'var(--radius-sm)', style = {} }) {
+ return (
+
+ );
+}
+
+export function SkeletonCard({ lines = 3, hasAvatar = false }) {
+ return (
+
+ {hasAvatar && (
+
+ )}
+ {Array.from({ length: lines }).map((_, i) => (
+
+ ))}
+
+ );
+}
+
+export function SkeletonStatCards({ count = 3 }) {
+ return (
+
+ {Array.from({ length: count }).map((_, i) => (
+
+ ))}
+
+ );
+}
+
+export function SkeletonFileRows({ count = 5 }) {
+ return (
+
+
+ {['File', 'Size', 'Expiry', 'Views', 'DL', 'Actions'].map((h) => (
+
+ ))}
+
+ {Array.from({ length: count }).map((_, i) => (
+
+ ))}
+
+ );
+}