mirror of
https://github.com/infiniflow/ragflow.git
synced 2025-09-29 10:08:49 +00:00

### What problem does this PR solve? Feat: Bind the route to the navigation bar in the head #3221 ### Type of change - [x] New Feature (non-breaking change which adds functionality)
40 lines
908 B
TypeScript
40 lines
908 B
TypeScript
import { cn } from '@/lib/utils';
|
|
|
|
function Skeleton({
|
|
className,
|
|
...props
|
|
}: React.HTMLAttributes<HTMLDivElement>) {
|
|
return (
|
|
<div
|
|
className={cn('animate-pulse rounded-md bg-muted', className)}
|
|
{...props}
|
|
/>
|
|
);
|
|
}
|
|
|
|
function ParagraphSkeleton() {
|
|
return (
|
|
<div className="flex items-center space-x-4">
|
|
<Skeleton className="h-12 w-12 rounded-full" />
|
|
<div className="space-y-2">
|
|
<Skeleton className="h-4 w-[250px]" />
|
|
<Skeleton className="h-4 w-[200px]" />
|
|
</div>
|
|
</div>
|
|
);
|
|
}
|
|
|
|
function CardSkeleton() {
|
|
return (
|
|
<div className="flex flex-col space-y-3">
|
|
<Skeleton className="h-[125px] w-[250px] rounded-xl" />
|
|
<div className="space-y-2">
|
|
<Skeleton className="h-4 w-[250px]" />
|
|
<Skeleton className="h-4 w-[200px]" />
|
|
</div>
|
|
</div>
|
|
);
|
|
}
|
|
|
|
export { CardSkeleton, ParagraphSkeleton, Skeleton };
|