Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 15 additions & 7 deletions app/contracts/loading.tsx
Original file line number Diff line number Diff line change
@@ -1,24 +1,32 @@
export default function ContractsLoading() {
return (
<div className="space-y-6 animate-pulse">
{/* Header */}
<div className="flex items-center justify-between">
<div className="space-y-2">
<div className="h-7 w-28 bg-zinc-800 rounded" />
<div className="h-4 w-24 bg-zinc-800 rounded" />
</div>
<div className="h-9 w-32 bg-zinc-800 rounded-lg" />
</div>

{/* Contract cards — mirrors ContractCard layout */}
<div className="grid sm:grid-cols-2 lg:grid-cols-3 gap-4">
{[...Array(4)].map((_, i) => (
<div key={i} className="bg-zinc-900 border border-zinc-800 rounded-xl p-5 space-y-3">
<div className="flex justify-between">
<div className="space-y-1.5">
{[...Array(6)].map((_, i) => (
<div key={i} className="bg-zinc-900 border border-zinc-800 rounded-xl p-5">
{/* label + network badge row */}
<div className="flex items-start justify-between gap-3 mb-3">
<div className="space-y-1.5 min-w-0">
<div className="h-4 w-32 bg-zinc-800 rounded" />
<div className="h-3 w-24 bg-zinc-800 rounded" />
<div className="h-3 w-36 bg-zinc-800 rounded" />
</div>
<div className="h-5 w-16 bg-zinc-800 rounded" />
<div className="h-5 w-16 bg-zinc-800 rounded-full shrink-0" />
</div>
{/* rules count + last alert row */}
<div className="flex items-center justify-between">
<div className="h-3 w-16 bg-zinc-800 rounded" />
<div className="h-3 w-20 bg-zinc-800 rounded" />
</div>
<div className="h-3 w-20 bg-zinc-800 rounded" />
</div>
))}
</div>
Expand Down
22 changes: 16 additions & 6 deletions app/dashboard/loading.tsx
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
export default function DashboardLoading() {
return (
<div className="space-y-8 animate-pulse">
{/* Header */}
<div className="flex items-center justify-between">
<div className="space-y-2">
<div className="h-7 w-32 bg-zinc-800 rounded" />
<div className="h-4 w-48 bg-zinc-800 rounded" />
</div>
<div className="h-9 w-32 bg-zinc-800 rounded-lg" />
</div>

{/* Stats bar */}
<div className="grid grid-cols-3 gap-4">
{[...Array(3)].map((_, i) => (
<div key={i} className="bg-zinc-900 border border-zinc-800 rounded-xl p-5 space-y-2">
Expand All @@ -16,17 +19,24 @@ export default function DashboardLoading() {
</div>
))}
</div>

{/* Contract cards — mirrors ContractCard layout */}
<div className="grid sm:grid-cols-2 lg:grid-cols-3 gap-4">
{[...Array(3)].map((_, i) => (
<div key={i} className="bg-zinc-900 border border-zinc-800 rounded-xl p-5 space-y-3">
<div className="flex justify-between">
<div className="space-y-1.5">
<div key={i} className="bg-zinc-900 border border-zinc-800 rounded-xl p-5">
{/* label + network badge row */}
<div className="flex items-start justify-between gap-3 mb-3">
<div className="space-y-1.5 min-w-0">
<div className="h-4 w-32 bg-zinc-800 rounded" />
<div className="h-3 w-24 bg-zinc-800 rounded" />
<div className="h-3 w-36 bg-zinc-800 rounded" />
</div>
<div className="h-5 w-16 bg-zinc-800 rounded" />
<div className="h-5 w-16 bg-zinc-800 rounded-full shrink-0" />
</div>
{/* rules count + last alert row */}
<div className="flex items-center justify-between">
<div className="h-3 w-16 bg-zinc-800 rounded" />
<div className="h-3 w-20 bg-zinc-800 rounded" />
</div>
<div className="h-3 w-20 bg-zinc-800 rounded" />
</div>
))}
</div>
Expand Down