presenton/servers/nextjs/app/settings/loading.tsx
2025-06-23 15:13:04 +05:45

73 lines
3.9 KiB
TypeScript

import { Card } from "@/components/ui/card";
export default function LoadingProfile() {
return (
<div className="container max-w-7xl mx-auto p-6">
<div className="space-y-8">
{/* Header Section Skeleton */}
<div>
<div className="h-9 w-48 bg-gray-200 animate-pulse rounded-md" />
<div className="h-5 w-72 bg-gray-200 animate-pulse rounded-md mt-2" />
</div>
<div className="grid grid-cols-1 md:grid-cols-3 gap-6">
{/* Subscription Card Skeleton */}
<Card className="col-span-2 p-6 space-y-6">
<div className="flex justify-between items-start">
<div>
<div className="h-8 w-40 bg-gray-200 animate-pulse rounded-md" />
<div className="h-5 w-56 bg-gray-200 animate-pulse rounded-md mt-1" />
</div>
<div className="h-10 w-32 bg-gray-200 animate-pulse rounded-md" />
</div>
{/* Current Plan Details Skeleton */}
<div className="bg-gradient-to-r from-gray-50 to-gray-100 rounded-lg p-6">
<div className="flex items-center justify-between">
<div className="space-y-2">
<div className="h-6 w-32 bg-gray-200 animate-pulse rounded-md" />
<div className="h-4 w-20 bg-gray-200 animate-pulse rounded-md" />
</div>
<div className="text-right">
<div className="h-8 w-20 bg-gray-200 animate-pulse rounded-md" />
<div className="h-4 w-16 bg-gray-200 animate-pulse rounded-md mt-1" />
</div>
</div>
</div>
{/* Usage Stats Skeleton */}
<div className="space-y-4">
<div className="h-6 w-32 bg-gray-200 animate-pulse rounded-md" />
<div className="space-y-6">
{[...Array(3)].map((_, index) => (
<div key={index} className="space-y-2">
<div className="flex justify-between">
<div className="h-4 w-40 bg-gray-200 animate-pulse rounded-md" />
<div className="h-4 w-12 bg-gray-200 animate-pulse rounded-md" />
</div>
<div className="h-2 w-full bg-gray-200 animate-pulse rounded-full" />
</div>
))}
</div>
</div>
</Card>
{/* Quick Actions Skeleton */}
<div className="space-y-6">
<Card className="p-6">
<div className="h-6 w-40 bg-gray-200 animate-pulse rounded-md mb-4" />
<div className="space-y-3">
{[...Array(4)].map((_, index) => (
<div key={index} className="flex items-center">
<div className="w-1.5 h-1.5 rounded-full bg-gray-200 mr-2" />
<div className="h-4 w-full bg-gray-200 animate-pulse rounded-md" />
</div>
))}
</div>
</Card>
</div>
</div>
</div>
</div>
);
}