ruvector/studio/components/interfaces/Database/Extensions/ExtensionCardSkeleton.tsx
rUv 814f595995 feat(studio): Add complete RuVector Studio application
Major additions:
- Complete Next.js studio application with 1600+ components
- Docker support (Dockerfile.combined, docker-compose.yml)
- GCP deployment documentation and benchmarks
- SQL benchmark scripts for performance testing
- Sentry integration for monitoring
- Comprehensive test suite and mocks

Studio features:
- Dashboard and admin interfaces
- Data visualization components
- Authentication and user management
- API integration with RuVector backend
- Static data and public assets

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-06 23:04:48 +00:00

29 lines
1 KiB
TypeScript

import ShimmeringLoader from 'components/ui/ShimmeringLoader'
import { Toggle } from 'ui'
export interface ExtensionCardSkeletonProps {
index?: number
}
const ExtensionCardSkeleton = ({ index = 0 }: ExtensionCardSkeletonProps) => {
return (
<div className="flex border-overlay flex-col overflow-hidden rounded border shadow-sm">
<div className="border-overlay bg-surface-100 flex justify-between w-full border-b py-3 px-4">
<div className="flex items-center gap-1 max-w-[85%]">
<div className="flex items-center space-x-2 truncate">
<ShimmeringLoader className="h-5 w-32 m-0 text-foreground" delayIndex={index} />
</div>
</div>
<Toggle size="tiny" checked={false} disabled={true} />
</div>
<div className="bg-panel-header-light bg-panel-secondary-light flex h-full flex-col justify-between">
<div className="py-3 px-4">
<ShimmeringLoader className="h-4 w-48" delayIndex={index} />
</div>
</div>
</div>
)
}
export default ExtensionCardSkeleton