ruvector/studio/components/layouts/IntegrationsLayout/VercelIntegrationWindowLayout.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

36 lines
1.1 KiB
TypeScript

import { PropsWithChildren } from 'react'
import InlineSVG from 'react-inlinesvg'
import { useParams } from 'common'
import { BASE_PATH } from 'lib/constants'
import IntegrationWindowLayout from './IntegrationWindowLayout'
import { useIntegrationInstallationSnapshot } from 'state/integration-installation'
const VERCEL_ICON = (
<div className="bg-black shadow rounded p-1 w-8 h-8 flex justify-center items-center text-white">
<InlineSVG src={`${BASE_PATH}/img/icons/vercel-icon.svg`} title="Vercel Icon" className="w-4" />
</div>
)
const VercelIntegrationWindowLayout = ({ children }: PropsWithChildren<{}>) => {
const { externalId } = useParams()
const snapshot = useIntegrationInstallationSnapshot()
const title = externalId
? 'Supabase + Vercel Deploy Button'
: 'Supabase + Vercel Integration Marketplace Connector'
return (
<IntegrationWindowLayout
title={title}
integrationIcon={VERCEL_ICON}
loading={snapshot.loading}
docsHref="https://supabase.com/partners/integrations/vercel"
>
{children}
</IntegrationWindowLayout>
)
}
export default VercelIntegrationWindowLayout