Split 879-LOC page.tsx into 187 LOC with 11 colocated components, _types.ts and _constants.ts for the industry templates module. Behavior preserved. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
54 lines
1.9 KiB
TypeScript
54 lines
1.9 KiB
TypeScript
export function GridSkeleton() {
|
|
return (
|
|
<div className="grid grid-cols-1 md:grid-cols-2 gap-6">
|
|
{[1, 2, 3, 4].map((i) => (
|
|
<div key={i} className="bg-white rounded-xl border border-slate-200 p-6 animate-pulse">
|
|
<div className="flex items-start gap-4">
|
|
<div className="w-14 h-14 rounded-xl bg-slate-200" />
|
|
<div className="flex-1 space-y-3">
|
|
<div className="h-5 bg-slate-200 rounded w-2/3" />
|
|
<div className="h-4 bg-slate-100 rounded w-full" />
|
|
<div className="h-4 bg-slate-100 rounded w-4/5" />
|
|
</div>
|
|
</div>
|
|
<div className="flex gap-3 mt-5">
|
|
<div className="h-6 bg-slate-100 rounded-full w-28" />
|
|
<div className="h-6 bg-slate-100 rounded-full w-24" />
|
|
</div>
|
|
</div>
|
|
))}
|
|
</div>
|
|
)
|
|
}
|
|
|
|
export function DetailSkeleton() {
|
|
return (
|
|
<div className="space-y-6 animate-pulse">
|
|
<div className="bg-white rounded-xl border p-6 space-y-4">
|
|
<div className="flex items-center gap-4">
|
|
<div className="w-16 h-16 rounded-xl bg-slate-200" />
|
|
<div className="space-y-2 flex-1">
|
|
<div className="h-6 bg-slate-200 rounded w-1/3" />
|
|
<div className="h-4 bg-slate-100 rounded w-2/3" />
|
|
</div>
|
|
</div>
|
|
<div className="flex gap-2">
|
|
{[1, 2, 3].map((i) => (
|
|
<div key={i} className="h-7 bg-slate-100 rounded-full w-20" />
|
|
))}
|
|
</div>
|
|
</div>
|
|
<div className="bg-white rounded-xl border p-6 space-y-4">
|
|
<div className="flex gap-2 border-b pb-4">
|
|
{[1, 2, 3].map((i) => (
|
|
<div key={i} className="h-9 bg-slate-100 rounded-lg w-32" />
|
|
))}
|
|
</div>
|
|
{[1, 2, 3].map((i) => (
|
|
<div key={i} className="h-28 bg-slate-50 rounded-lg" />
|
|
))}
|
|
</div>
|
|
</div>
|
|
)
|
|
}
|