ruvector/studio/components/interfaces/Database/Schemas/SchemaGraphLegend.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

35 lines
1.3 KiB
TypeScript

import { DiamondIcon, Fingerprint, Hash, Key } from 'lucide-react'
export const SchemaGraphLegend = () => {
return (
<div className="absolute bottom-0 left-0 border-t flex justify-center px-1 py-2 shadow-md bg-surface-100 w-full z-10">
<ul className="flex flex-wrap items-center justify-center gap-4">
<li className="flex items-center text-xs font-mono gap-1">
<Key size={15} strokeWidth={1.5} className="flex-shrink-0 text-light" />
Primary key
</li>
<li className="flex items-center text-xs font-mono gap-1">
<Hash size={15} strokeWidth={1.5} className="flex-shrink-0 text-light" />
Identity
</li>
<li className="flex items-center text-xs font-mono gap-1">
<Fingerprint size={15} strokeWidth={1.5} className="flex-shrink-0 text-light" />
Unique
</li>
<li className="flex items-center text-xs font-mono gap-1">
<DiamondIcon size={15} strokeWidth={1.5} className="flex-shrink-0 text-light" />
Nullable
</li>
<li className="flex items-center text-xs font-mono gap-1">
<DiamondIcon
size={15}
strokeWidth={1.5}
fill="currentColor"
className="flex-shrink-0 text-light"
/>
Non-Nullable
</li>
</ul>
</div>
)
}